![]() |
Модераторы: Rickert, Alexeis, BorisVorontsov |
![]() ![]() ![]() |
|
BEOWOLF |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 24.8.2007 Репутация: нет Всего: 2 |
Необходимо отрендерить сцену в текстуру, которую в дальнейшем нужно будет натягивать на объекты. Для этого я сначала создаю текстуру 1024x1024, в которую будет рендериться сцена:
затем написал следующий код рендеринга:
Чтобы посмотреть что отредерилось, вставил строку для записи текстуры в файл. В результате записывается картинка 1024*1024 со всяким мусором вместо сцены, хотя если рендерить просто в бэкбуфер, то всё нормально отображается на экране. Вопрос: что я делаю не так? Это сообщение отредактировал(а) BEOWOLF - 27.7.2011, 16:09 |
||||
|
|||||
BEOWOLF |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 24.8.2007 Репутация: нет Всего: 2 |
Только что проверил, в текстуру 512x512 и меньше - всё выводится, а в 1024x1024 - не выводится. Размер исходного рендер таргета 800x600, может это где-то как-то увязано?
|
|||
|
||||
BEOWOLF |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 24.8.2007 Репутация: нет Всего: 2 |
Разобрался, в каком варианте правильно работает
![]() Текстуру лучше всего создавать при событии OnD3D9ResetDevice следующим образом:
где pBackBufferSurfaceDesc - указатель на D3DSURFACE_DESC бэкбуфера. Таким образом, создаётся текстура 800x600, а не кратная 2, и её дальше можно использовать как обычную текстуру при дальнейшем рендеринге ![]() |
|||
|
||||
![]() ![]() ![]() |
Вы можете найти полезным что... | |
|
|
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |