Форум: "Игры";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];
ВнизOpenGL-DirectX-DelphiX глупый вопрос - но не дает покоя Найти похожие ветки
← →
Riko © (2003-09-10 10:13) [0]хотелось бы услышать мнения не что лучше, а что для чего более подходит: что-то вроде :
OpenGL для 3D
DirectX для 3D&2D
DelphiX для 2D
(хотя я понимаю, что дело вкуса, но все же : для меня мнение профи - куча сэкономленного времени, ненабитых шишек, и т.п.)
← →
cyborg © (2003-09-10 10:23) [1]DelphiX подходит для тех, кто ещё ничего не знает о DirectX, но хочет сделать игру под него.
Без DirectX всё равно никуда не денешься, DirectInput и DirectSound&DirectMusic обязательно к изучению. Для сетевой игры поможет DirectPlay, можно и на сокетах сделать, но DirectPlay это дело сильно обегчает.
За OpenGL ничего не могу сказать, не пробовал.
← →
Riko © (2003-09-10 10:31) [2]если DirectX обязательно к изучению, может стоит сразу с него и начинать:
Если конкретнее-нужен совет:
если в игре планируется 2D-реалтайм-основной режим; 3D-первый тип миссий; 2D-пошаговый - второй тип миссий;
← →
MeF88 © (2003-09-10 10:36) [3]Да вообщем-то мне кажется, что и OpenGL и DirectX подходят, как для 2Д, так и для 3Д. Причем оба не сложны для изучения (на первой стадии), но по OpenGL можно найти кучу доков, инфы, сэмплов, сырцов... По DirectX много меньше.
← →
Думкин © (2003-09-10 11:43) [4]Игра подразумевает не только графику - отсюда ДиректХ лучше.
← →
NailMan © (2003-09-10 11:44) [5]MeF88 ©
То что для ДиректХ нету нормальной книжки(Краснов бяка еще та, хотя партиклы там сделаны ничего) - это факт, но...
Есть великий DX SDK и есть некая электронная литература, вот по этой ссылке:
Advanced 3D Game Programming with DirectX 9.0 4,1 Mb
Inside Direct3D 2,6 Mb
http://dredo.nm.ru/
Как начинающему я советую писать на чистом АПИ(любой какой тебе понравится из двух возможных :-)) - так ты будешь владеть всеми фишками, которые чистые апи могут дать по сравнению с обертками.
Сразу скажу что будет трудно, но это того стоит.
Я когда начал писать свою игру, даже толково Дельфу не знал, не то что D3D. Потихоньку научился обоим шнягам.
Вобщем что касаемо подходимости к чему либо:
DelhiX однозначно для 2Д начального уровня.
DirectX как для 2Д(не через DDraw, а именно через D3D чтобы все хардварно было), так и конечно же для 3Д. Причем если пишешь под
ОГЛ, то все равно надо будет юзать DX(DSound, DInput, по желанию DMusic и DPlay).
OpenGL - 3Д. Тут много чего такого стороннего было написано - nVIDIA SDK, ATI SDK, но их надо еще выкачать суметь.
Тебе больше всего необходимо позаботиться вопросом об игровом движке - выбрать готовый или писть самому. Вот это действительно для начинающих игроделов проблема. (Я сам выбрал самонаписание движка).
← →
cyborg © (2003-09-10 14:14) [6]NailMan крутая у тебя материнская плата :)
← →
NailMan © (2003-09-10 15:12) [7]Да, веселая мамка, много чего нового научился делать, когда апгрейдился - например паяние мелких деталек, и т.п. :-)
← →
Тфьщ (2003-09-10 18:23) [8]
> DirectX как для 2Д(не через DDraw, а именно через D3D чтобы
> все хардварно было),
я на мастера не претендую, но все же:
function DirectDrawCreate(lpGUID: PGUID; out lplpDD: DirectDraw; pUnkOuter: IUnknown): HResult; stdcall;
lpGUID может быть : DDCREATE_HARDWAREONLY, DDCREATE_EMULATIONONLY, nil.
или я что-то не так понял?
← →
NailMan © (2003-09-10 19:07) [9]Понимаешь, DDraw хардварно умеет только блитингом заниматься. Более этого он нихрена хардварно неумеет. Ни альфы, ничего.
Сам Билли рекомендует(в SDK) забыть про DDraw навсегда и юзать D3D для двумерных игрушек, так как тебе предоставляются возможности юзать все аппаратные фишки видеоадаптера(современного естесственно).
Альфа-Блендинг - пожалуйста, вращение спрайтов - пожалуйста,
куча всяких манипуляций с текстурами - пожалуйста.
И все хардварно, а не полностью софтварно(а значит ручками, ручками надо делать по жутким алгоритмам, которые нещадно жрут проц).
Так что в случае 2Д игры следует прислушаться к советам авторитетного Билли и делать под Д3Д.
А то что ты привел означает что будет юзаться хардварный блиттинг, а не софтварный.
Собсно у Д3Д при создании тоже указываешь:
CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, Handle, IFlag, D3DPP, Dev);
D3DDEVTYPE_HAL - это какой девайс будет юзаться, аппаратный растеризер или эмуляция.
А вот IFlag здесь может быть:
D3DCREATE_HARDWARE_VERTEXPROCESSING or D3DCREATE_PUREDEVICE - Хадварный режим вертекспроцессинга с прямым доступом к драйверу
D3DCREATE_HARDWARE_VERTEXPROCESSING - Хадварный режим вертекспроцессинга через Д3Д
D3DCREATE_SOFTWARE_VERTEXPROCESSING - софтварный процессинг.
D3DCREATE_MIXED_VERTEXPROCESSING - смешанный процессинг.
При этом если создается девайс с софтварным процессингом, альфаблендинг у тебя все равно аппаратный, и все манипуляции со спрайтами(повороты, масштабирование изображений) также работают без всяких математических выкладок на n-листов - только лишь пяток строчек создания мартицы.
← →
Riko © (2003-09-10 19:33) [10]Спасибо, определился...
Ну подскажите тогда ,пожалуйста ,что либо в сети по DirectX
(желательно просто справочник), что б не сильно тяжелое было для начала, но более обширное чем Samples в комплекте...
Интересует именно работа с 3D...
http://dredo.nm.ru/ - к сожаленью не отвечает,
!!на поисковиках искал....
или исходники более менее коментированные...
Спасибо...
← →
MeF88 © (2003-09-10 19:42) [11]www.gamedev.ru
www.xdev.ru
dtf.dev.ru
clootie.narod.ru
www.microsoft.com
- блин какой раз пишу эти адреса...
А насчет dredo.nm.ru - там что, для XP хелп, у меня эти файлы просто не открываются... "вызывают ошибку".
← →
Riko © (2003-09-10 19:46) [12]не злись....
www.gamedev.ru
www.xdev.ru
dtf.dev.ru
clootie.narod.ru
www.microsoft.com
был я тут (к списку могу добавить еще десятка два...)
(честно, все облазил, все прочел, сложновато....!!)
Ну если проще нет, тогда ....и на том спасибо, будем копать то , что есть....
← →
NailMan © (2003-09-10 19:56) [13]http://dredo.nm.ru/ - к сожаленью не отвечает,
Только что проерил - работает нормально.
Может глюки на Ньмейле.
А насчет dredo.nm.ru - там что, для XP хелп, у меня эти файлы просто не открываются... "вызывают ошибку".
Дык вроде нет. У меня дома на Триллениуме нормально открываются.
Вобще-то там очень грамотно описана математика 3Д и все такое.
← →
MeF88 © (2003-09-11 11:08) [14]2NailMan: Хм, ну значит глюки с мелкомягким Help-ером.
2Riko: Да вроде www.xdev.ru - в самый раз. Как с 0 писать D3D приложение. Правда там под Ватер Клозет с двумя плюсами... Но вообще-то разницы мало, особеннодля человека, который год программил под PHP, CGI и JavaScript...
← →
Riko © (2003-09-11 11:45) [15]Каюсь, www.xdev.ru плохо прошерстил....Нашел там: http://www.xdev.ru/dxgp/downloads/directx/dx81sdkhelp_part3.zip
http://www.xdev.ru/dxgp/downloads/directx/dx81sdkhelp_part2.zip
http://www.xdev.ru/dxgp/downloads/directx/dx81sdkhelp_part1.zip
неплохая вещь!
пока что еще больше вопросов возникло,
к примеру : что необходимо указать в uses (или что еще сделать) для использования следующего кода:
if( FAILED( g_pD3D->CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, &d3dpp, &g_pd3dDevice ) ) )
← →
MeF88 © (2003-09-11 14:23) [16]нужно для начала надыбать заголовки, лучше от Clootie.
http://clootie.narod.ru
Ну я обычно пишу Direct3D9, D3DX9...
Кстати у Clootie есть познавательные сэмплсы из DX SDK
А сточка, которую ты написал на Дельфи выглядит так:
if(FAILED(pD3D.CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, @d3dpp, pd3dDevice )))
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.029 c