|
3D-программирование Вопросы, касающиеся программирования 3D мира |
29.03.2014, 11:10
|
#1
|
Принтер
Регистрация: 21.04.2013
Адрес: Больше не РФ
Сообщений: 570
Написано 342 полезных сообщений (для 1,242 пользователей)
|
Захват изображения из камеры
Каким образом можно реализовать захват срендеренного изображения в текстуру, например? Рылся в хелпе, вроде ничего нет.
|
(Offline)
|
|
29.03.2014, 11:25
|
#2
|
Бывалый
Регистрация: 23.11.2011
Сообщений: 863
Написано 334 полезных сообщений (для 866 пользователей)
|
Ответ: Захват изображения из камеры
SetBuffer(TextureBuffer)
тут рендер
SetBuffer(BackBuffer())
а если уже отрендеренное изображение то тебе к ксорсу , там есть xStretchBackBuffer (сохраняет бэкбуффер в текстуру)
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
29.03.2014, 11:38
|
#3
|
Принтер
Регистрация: 21.04.2013
Адрес: Больше не РФ
Сообщений: 570
Написано 342 полезных сообщений (для 1,242 пользователей)
|
Ответ: Захват изображения из камеры
Нашел только что:
Теперь осталось закинуть буфер в текстуру и профит.
|
(Offline)
|
|
29.03.2014, 21:55
|
#4
|
Быдлокодер
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,024
Написано 2,312 полезных сообщений (для 5,349 пользователей)
|
Ответ: Захват изображения из камеры
Можно устроить систему наблюдения в игре, выводить с камер на мониторы. Ещё так я делал ТВ, копировал кадры видео в текстуру и "одевал" на экран телевизора.
Хотя для телевизора лучше использовать вот эту библиотеку.
P. S. Если делать видео первым методом, то ВСЯ игра будет синхронизироваться с частотой видео
По этому библиотека предпочтительней, там этого нет.
|
(Offline)
|
|
12.04.2014, 21:19
|
#5
|
Принтер
Регистрация: 21.04.2013
Адрес: Больше не РФ
Сообщений: 570
Написано 342 полезных сообщений (для 1,242 пользователей)
|
Ответ: Захват изображения из камеры
После простого бития баклуш, неожиданно для себя обнаружил вот этот пример в самом корне блибца:
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
Если кому-то понадобиться, то юзайте.
Последний раз редактировалось KCEPOKC, 13.04.2014 в 14:48.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
13.04.2014, 06:37
|
#6
|
Дэвелопер
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений (для 886 пользователей)
|
Ответ: Захват изображения из камеры
XoreX, И зачем оформлять сообщения такими цветами, не читаемо же ваще.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
13.04.2014, 12:58
|
#7
|
Принтер
Регистрация: 21.04.2013
Адрес: Больше не РФ
Сообщений: 570
Написано 342 полезных сообщений (для 1,242 пользователей)
|
Ответ: Захват изображения из камеры
Сообщение от Жека
XoreX, И зачем оформлять сообщения такими цветами, не читаемо же ваще.
|
Я не по своей воле сижу с интернет експлорера. Тут так.
|
(Offline)
|
|
13.04.2014, 13:20
|
#8
|
[object Object]
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,361
Написано 2,473 полезных сообщений (для 6,856 пользователей)
|
Ответ: Захват изображения из камеры
Сообщение от XoreX
Я не по своей воле сижу с интернет експлорера. Тут так.
|
Надо противостоять, каждый имеет право на браузер, а не интернет эксплорер!
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 4090 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
13.04.2014, 13:34
|
#9
|
Злобный Админ
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений (для 9,330 пользователей)
|
Ответ: Захват изображения из камеры
Да ладно вам, 10й IE нормальный вполне, а 11й так совсем хорош.
__________________
|
(Offline)
|
|
13.04.2014, 16:06
|
#10
|
Принтер
Регистрация: 21.04.2013
Адрес: Больше не РФ
Сообщений: 570
Написано 342 полезных сообщений (для 1,242 пользователей)
|
Ответ: Захват изображения из камеры
Вот что слепил, гляньте.
Скрин:
Внимательный глаз заметит, что при смене разрешения отражения сферы
"текстурка" заполняется не полностью и становятся видны черные незаполененные края. Я не смог найти ошибку, поэтому забил болт.
Нашел причину. Разрешение должно быть обязательно числом степени двойки.
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо KCEPOKC за это полезное сообщение:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 20:57.
|