Вторник, 05 Ноября 2024, 19:32

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Помогите с вершинами и текстурами
s3dworldДата: Пятница, 22 Января 2010, 12:09 | Сообщение # 1
был не раз
Сейчас нет на сайте
Доброго всем дня!

Интересует несколько вопросов, причём реализации и для OpenGL и для Direct3D:

1. Как мне использовать несколько буферов?

В Direct3D, при заполнении структуры PRESENT_PARAMETERS, есть такая переменная BackBufferCount (не обращайте внимание если с ошибками, я по памяти пишу), где можно указать количество дополнительных (задних буферов). Так же стоит автоматическое переключение страниц (не помню этот флаг).

В том же OpenGL я нашёл какие-то передний буфер, задний, левый, правый, дополнительные и так далее...

Я вот хочу чтобы я сам создал сколько мне нужно буферов (2, 3, 4, 5, ...) и сам выбирал в какой осуществлять вывод и потом какой из буферов копировать в передний (выводить рисунок на экран).

Как мне это реализовать и в OpenGL и в Direct3D?

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

Тут с Direct3D проще. Я могу на создавать этих D3D9VertexBuffer'ов столько, сколько захочу, и потом уже из нужного мне рисовать.

А вот как быть с OpenGL? Он работает со списками, но список только один действительный. А я хочу чтобы у меня все модели были загружены в память видеокарты и потом которая потребуется, её и выводил.

Как это реализовать и на OpenGL и на Direct3D?

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

Дело в том, что я хочу использовать свои рисунки, которые я буду считывать с файла (свой формат) или создавать программным путём. Скажем у меня есть красный квадрат 4x4:

Code

unsigned int picture1[]={
     0xFF0000,0xFF0000,0xFF0000,
     0xFF0000,0xFF0000,0xFF0000,
     0xFF0000,0xFF0000,0xFF0000,
     0xFF0000,0xFF0000,0xFF0000};

Как мне его загрузить в видеопамять и с помощью OpenGL, и с помощью Direct3D, чтобы потом использовать как текстуру?

BOOMДата: Пятница, 22 Января 2010, 13:21 | Сообщение # 2
I am the creator of ADE
Сейчас нет на сайте
В дирексте решает все классы отвечающие за память. Так же для загрузки объекта в память видеокарты. Полазий в доках.

Quote (s3dworld)
2. Как мне в памяти видеокарты оставлять вершины, чтобы они там хранились столько, сколько я захочу?

Необходимо объеденять объекты методом расширения конечного (сложная функция). Когда опенГЛ я изучал, вопросы эти так решал...
Потом в ГЛе должна быть система мультпоточности (я не помню).


______________________________
Я вернулся, и это чудо.
______________________________
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг