![]() |
Скриншот в игре
Сразу не пинать, про SaveBuffer(FrontBuffer(), "pic.bmp") я знаю. Так вот. Как реализовать вот что:
1)делается скриншот экрана 2)он сохраняется сразу в текстуру размером 512х256, т.е. чтобы физически файл с ней не создавался, а как при createTexture 3)эта текстура натягивается на меш Я с CreateTexture и буферами пробовал повозиться, но довозился только до того, что текст перестал отображаться на экране, зато на этом меше на черном фоне его видно. :-) |
Re: Скриншот в игре
редериш мир в тексу.
тексу натягиваеш, и наслаждаешся. по порядку: CameraViewport cam,0,0,512,256 RenderWorld CopyRect 0,0,512,256,0,0,BackBuffer(),TextureBuffer(MyLikes tTex) entitytexture myLikestMesh,myLikestTex в чем проблема то? Да, текса должна быть с флагом 256, а то узнаеш что есть великие тормоза. |
Re: Скриншот в игре
А то что ты мне написал - это не особо тормознуто?
Я сделал так: EKt=CreateTexture (512,256,256);создаем текстуру MoveEntity cam,0,5,0;перемещаем камеру, чтобы все было видно CameraViewport cam,0,0,512,256;устанавливаем размер камеры RenderWorld;рендерим мир CopyRect 0,0,512,256,0,0,BackBuffer(),TextureBuffer(EKt);копируем в тексу скрин EntityTexture EK,EKt;лепим на экран MoveEntity cam,0,-5,0;возвращаем камеру на место CameraViewport CAM,0,0,800,600;нормальный размер камеры |
Re: Скриншот в игре
поставишь флаг 256 будет наиболее быстрым родным способом блица.
быстрее - олько рендер непосредственно в текстуру (Ашадоу или другие надстройки) |
Re: Скриншот в игре
EKt=CreateTexture (512,256,256) - так ведь надо здесь этот флаг ставить?
|
Re: Скриншот в игре
ЭЭЭ. ты каждый кадр создаеш тексу?
почему не рендериш мир в нее? |
Re: Скриншот в игре
Цитата:
P.S. А учитывая, что флаг стоит 256, то FreeTexture делать не надо? |
Re: Скриншот в игре
EKt=CreateTexture (512,256,256)
игровой_цикл CameraViewport cam,0,0,512,256 RenderWorld CopyRect 0,0,512,256,0,0,BackBuffer(),TextureBuffer(EKt); EntityTexture EK,EKt CameraViewport cam,0,0,800,600 RenderWorld конец_игрвоого_цикла |
Re: Скриншот в игре
Так я и сделал. Спасибо!
|
Re: Скриншот в игре
у меня при команде
If KeyDown(62) SaveBuffer(FrontBuffer(), "img.bmp") создается черная бмпшка( |
Re: Скриншот в игре
dector, а ты в каком месте ету команду вызываеш?
надо перед flip. |
Re: Скриншот в игре
мня... опять сплошил я.
спасибо. щас на стенке запишу - "Работа с графикой и текстом - перед Flip()" Сделал. заценил. Понравилось! Теперь можно скрины штамповать. Жаль незачем( :( |
Часовой пояс GMT +4, время: 06:41. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot