forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Захват изображения из камеры (http://forum.boolean.name/showthread.php?t=19051)

KCEPOKC 29.03.2014 11:10

Захват изображения из камеры
 
Каким образом можно реализовать захват срендеренного изображения в текстуру, например? Рылся в хелпе, вроде ничего нет.

tirarex 29.03.2014 11:25

Ответ: Захват изображения из камеры
 
SetBuffer(TextureBuffer)
тут рендер
SetBuffer(BackBuffer())

а если уже отрендеренное изображение то тебе к ксорсу , там есть xStretchBackBuffer (сохраняет бэкбуффер в текстуру)

KCEPOKC 29.03.2014 11:38

Ответ: Захват изображения из камеры
 
Нашел только что:

Теперь осталось закинуть буфер в текстуру и профит.

Arton 29.03.2014 21:55

Ответ: Захват изображения из камеры
 
Можно устроить систему наблюдения в игре, выводить с камер на мониторы. Ещё так я делал ТВ, копировал кадры видео в текстуру и "одевал" на экран телевизора.
Хотя для телевизора лучше использовать вот эту библиотеку.

P. S. Если делать видео первым методом, то ВСЯ игра будет синхронизироваться с частотой видео :-)
По этому библиотека предпочтительней, там этого нет.

KCEPOKC 12.04.2014 21:19

Ответ: Захват изображения из камеры
 
После простого бития баклуш, неожиданно для себя обнаружил вот этот пример в самом корне блибца:
Код:

Graphics3D 1024,768,32,1
SetBuffer BackBuffer()
Global info1$="Texture render demo"
Global info2$="Renders a 3D scene onto a texture"
Global info3$="Use Arrow keys to Pan, A/Z to zoom"
 
 
grid_tex=CreateTexture( 16,16,8,1 )
ScaleTexture grid_tex,10,10
SetBuffer TextureBuffer( grid_tex )
ClsColor 255,255,255:Cls:ClsColor 0,0,0
Color 192,192,192:Rect 0,0,8,8:Rect 8,8,8,8
SetBuffer BackBuffer()
plane=CreatePlane()
EntityTexture plane,grid_tex
pivot=CreatePivot()
PositionEntity pivot,0,2,0
t_sphere=CreateSphere( 8 )
EntityShininess t_sphere,.2
For t=0 To 359 Step 36
sphere=CopyEntity( t_sphere,pivot )
EntityColor sphere,Rnd(256),Rnd(256),Rnd(256)
TurnEntity sphere,0,t,0
MoveEntity sphere,0,0,10
Next
FreeEntity t_sphere
texture=CreateTexture( 128,128 )
cube=CreateCube()
EntityTexture cube,texture
PositionEntity cube,0,7,0
ScaleEntity cube,3,3,3
light=CreateLight()
TurnEntity light,45,45,0
camera=CreateCamera()
plan_cam=CreateCamera()
TurnEntity plan_cam,90,0,0
PositionEntity plan_cam,0,20,0
CameraViewport plan_cam,0,0,128,128
CameraClsColor plan_cam,0,128,0
d#=-20
While Not KeyHit(1)
If KeyDown(30) d=d+1
If KeyDown(44) d=d-1
If KeyDown(203) TurnEntity camera,0,-3,0
If KeyDown(205) TurnEntity camera,0,+3,0
 
PositionEntity camera,0,7,0
MoveEntity camera,0,0,d
 
TurnEntity cube,.1,.2,.3
TurnEntity pivot,0,1,0
 
UpdateWorld
 
HideEntity camera
ShowEntity plan_cam
RenderWorld
 
CopyRect 0,0,128,128,0,0,0,TextureBuffer( texture )
 
ShowEntity camera
HideEntity plan_cam
RenderWorld
 
Flip
Wend


Если кому-то понадобиться, то юзайте.

Жека 13.04.2014 06:37

Ответ: Захват изображения из камеры
 
XoreX, И зачем оформлять сообщения такими цветами, не читаемо же ваще.

KCEPOKC 13.04.2014 12:58

Ответ: Захват изображения из камеры
 
Цитата:

Сообщение от Жека (Сообщение 278878)
XoreX, И зачем оформлять сообщения такими цветами, не читаемо же ваще.

Я не по своей воле сижу с интернет експлорера. Тут так.

Randomize 13.04.2014 13:20

Ответ: Захват изображения из камеры
 
Цитата:

Сообщение от XoreX (Сообщение 278888)
Я не по своей воле сижу с интернет експлорера. Тут так.

Надо противостоять, каждый имеет право на браузер, а не интернет эксплорер!

SBJoker 13.04.2014 13:34

Ответ: Захват изображения из камеры
 
Да ладно вам, 10й IE нормальный вполне, а 11й так совсем хорош.

KCEPOKC 13.04.2014 16:06

Ответ: Захват изображения из камеры
 
Вложений: 1
Вот что слепил, гляньте.
Скрин:

Внимательный глаз заметит, что при смене разрешения отражения сферы
"текстурка" заполняется не полностью и становятся видны черные незаполененные края. Я не смог найти ошибку, поэтому забил болт.

Нашел причину. Разрешение должно быть обязательно числом степени двойки.


Часовой пояс GMT +4, время: 04:22.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot