Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Xors3D

Xors3D Графический движок с поддержкой DirectX9

Ответ
 
Опции темы
Старый 29.01.2012, 19:44   #1
CRASHER
Разработчик
 
Регистрация: 08.03.2007
Сообщений: 530
Написано 31 полезных сообщений
(для 36 пользователей)
FrontBuffer() в xorse

Почему то я в своей сборке Xors3D не нашел xFrontBuffer(). Я чего то не знаю? как мне работать с такого рода командами?

CopyRect(числа,числа, число, число, 0, 0, FrontBuffer(), TextureBuffer(FotoTexture))

Прошу помощи!
(Offline)
 
Ответить с цитированием
Старый 29.01.2012, 19:57   #2
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: FrontBuffer() в xorse

Копируй бакбуфер перед xFlip() там будет тоже что и во фронтбуфере.
(Offline)
 
Ответить с цитированием
Старый 29.01.2012, 20:23   #3
Nerd
Чудо-кот
 
Аватар для Nerd
 
Регистрация: 22.02.2011
Сообщений: 901
Написано 480 полезных сообщений
(для 1,471 пользователей)
Ответ: FrontBuffer() в xorse

Почему то я в своей сборке Xors3D не нашел xFrontBuffer().
Это чтоб таким быдлокодом не пользовались.
(Offline)
 
Ответить с цитированием
Старый 29.01.2012, 20:59   #4
CRASHER
Разработчик
 
Регистрация: 08.03.2007
Сообщений: 530
Написано 31 полезных сообщений
(для 36 пользователей)
Ответ: FrontBuffer() в xorse

Nerd96, а в чкм здесь нехорошекод? Ведь раньше же пользовались, еще в девственном блице?)
(Offline)
 
Ответить с цитированием
Старый 29.01.2012, 21:17   #5
Nerd
Чудо-кот
 
Аватар для Nerd
 
Регистрация: 22.02.2011
Сообщений: 901
Написано 480 полезных сообщений
(для 1,471 пользователей)
Ответ: FrontBuffer() в xorse

Копировать изображение из FrontBuffer - это всё равно, что делать скриншот, прикладывая монитор к сканеру. Ресурсоёмко и никому не нужно (учитывая наличие более кошерных методов).
(Offline)
 
Ответить с цитированием
Старый 29.01.2012, 22:08   #6
CRASHER
Разработчик
 
Регистрация: 08.03.2007
Сообщений: 530
Написано 31 полезных сообщений
(для 36 пользователей)
Ответ: FrontBuffer() в xorse

Nerd96, я про них не знаю, оповествуй пожалусто. Единственное что на данный момент я знаю это то что предложил dsd
(Offline)
 
Ответить с цитированием
Старый 29.01.2012, 22:27   #7
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: FrontBuffer() в xorse

Шейдер и семантика const texture sceneTexture : SCENECURRENT;
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
CRASHER (29.01.2012)
Старый 30.01.2012, 17:01   #8
CRASHER
Разработчик
 
Регистрация: 08.03.2007
Сообщений: 530
Написано 31 полезных сообщений
(для 36 пользователей)
Ответ: FrontBuffer() в xorse

Прошу помощи. Не осведомлен я достаточно в подобных делах. Как мне переписать такой код ? Чтобы он походил на нормальный.

	CameraProjMode(camera, 0)

	CameraProjMode(FotoCamera, 1)
	PositionEntity(FotoCamera,x,y,z)
	PointEntity(FotoCamera,kup)

	RenderWorld()

	CameraProjMode(FotoCamera, 0)

	CopyRect(800 / 2 - 512 / 2, 600 / 2 - 512 / 2, 512, 512, 0, 0, FrontBuffer(), TextureBuffer(FotoTexture))

	CameraProjMode(camera, 1)
(Offline)
 
Ответить с цитированием
Старый 30.01.2012, 20:42   #9
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: FrontBuffer() в xorse

врядли у тебя много объектов в твоем приложении к которым ты применяешь кусок изображения. но в принципе это пох сколько их.
если ты хочешь переписать это в хорсовский код то достаточно добавить перед командами маленькое х.

а если по нормальному то берешь и копируешь стандартный шейдер из шагов, где меняешь семантику получения с тестурного слоя ноль на сценекерент. и слегка химишь при надобности с текстурными координатами в вершинном.

и тада этот код и еще тот кусок который ты не привел сводится к двум строчкам
xLoadFXFile
xSetEntityEffect
(Offline)
 
Ответить с цитированием
Старый 30.01.2012, 21:58   #10
CRASHER
Разработчик
 
Регистрация: 08.03.2007
Сообщений: 530
Написано 31 полезных сообщений
(для 36 пользователей)
Ответ: FrontBuffer() в xorse

dsd, кроме этого только функция и энд фуекция. Заменял фронбуфер на бакбуфер с приставками x в ксорс коде, идет жуткое зависание и ничего не отображается. Мда с шейдерами я до сих пор слабоват. Сложная ситуёвина.....
(Offline)
 
Ответить с цитированием
Старый 30.01.2012, 22:10   #11
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: FrontBuffer() в xorse

BBDECL void BBCALL xStretchBackBuffer ( Texture * texture,
int x,
int y,
int width,
int height,
int filter
)

Copys data from back buffer to texture using hardware accelerated method.

Parameters:
texture Texture handle
x x coordinate of top left corner of copied rectangle
y y coordinate of top left corner of copied rectangle
width Width of copied rectangle
height Height of copied rectangle
filter Filtering method
Не это?
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
CRASHER (31.01.2012)
Старый 30.01.2012, 22:50   #12
CRASHER
Разработчик
 
Регистрация: 08.03.2007
Сообщений: 530
Написано 31 полезных сообщений
(для 36 пользователей)
Ответ: FrontBuffer() в xorse

dsd, похоже на то... Да действительно это одно из решений!

Последний раз редактировалось CRASHER, 31.01.2012 в 18:48.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com