Вниз
Скачать: CL | DM;

Переключение между Direct3D и OpenGL   Найти похожие ветки 

← →
Ricks ©   (2005-11-30 00:42) [0]

Каким образом делают так, чтобы программы (игры) выводились как при помощи Direct3D, так и при помощи OpenGL?
Например WarCraft III - там ведь можно выбрать, что использовать...
"war3.exe -opengl" всего лишь!


← →
Sphinx ©   (2005-11-30 07:47) [1]

что-то типа этого:
TRender = class
 ...
 function Render: Integer; virtual;
 ...
end;

TD3DRender = class
 ...
 function Render: Integer; override;
 ...
end;

TOGLRender = class
 ...
 function Render: Integer; override;
 ...
end;
...
var
 Render : TRender;
...
if Run = RunOGL then
 Render := TOGLRender.Create;
else
 Render := TD3DRender.Create;
...
 Render.Render;


← →
_3d[Power] ©   (2005-11-30 09:38) [2]

Посмотри исходники quake2, там это очень наглядно (software \ opengl)


← →
Ricks ©   (2005-11-30 11:14) [3]

То есть, приходиться писать отрисовку как для D3D, так и для OpenGL?
Каждую деталь сцены нужно будет писать 2 раза и по разному?

PS: Исходников у меня нет...


← →
П7   (2005-11-30 11:52) [4]


> То есть, приходиться писать отрисовку как для D3D, так и
> для OpenGL?

Да, иначе всё было бы слишком просто.


> Каждую деталь сцены нужно будет писать 2 раза и по разному?

При грамотной организации сцены писать приходится не так уж и много. Делается некий фреймворк, в котором наличествуют все необходимые тебе функции. Реализация этих функций производится несколько раз. Например 2 - для DX и OGL. А дальше ты работваешь уже только с этим фреймворком, не затрагивая функций одного из АПИ.
Такой же подход применяется для кроспрлатформенных движков.


> PS: Исходников у меня нет...

Интернет же есть - скачай!


← →
Кефир87 ©   (2005-11-30 13:16) [5]

http://citkit.dl.sourceforge.net/sourceforge/quake2delphi/DelphiQuake2Source_20.04.2004.zip


← →
Sphinx ©   (2005-11-30 14:28) [6]

Там в моем посте жуткая ошибка (точнее опечатка), которую ни кто и не заметил :)

исправленному верить =0
TD3DRender = class (TRender)
...
TOGLRender = class (TRender)
...


← →
П7   (2005-11-30 15:10) [7]


> Sphinx ©   (30.11.05 14:28) [6]

Ну да, ну да, ты прав... (:



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.025 c
15-1153744232
IceBeerg
2006-07-24 16:30
2006.08.20
Вот и Гугел порадовал...


4-1146132097
D@Nger
2006-04-27 14:01
2006.08.20
Удаление дерева каталогов


1-1152141034
xsid
2006-07-06 03:10
2006.08.20
Выделение картинки


15-1151931171
Parus
2006-07-03 16:52
2006.08.20
Словарь


2-1154086481
S46E
2006-07-28 15:34
2006.08.20
Рисование




   Наверх