Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 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
14-1078811223
ИМХО
2004-03-09 08:47
2004.04.04
Потрепаться - почтой


3-1078498739
Masha Streltsova
2004-03-05 17:58
2004.04.04
Как динамически изменить тип поля в ADOTable на fcLookup?


7-1075032357
Freaky
2004-01-25 15:05
2004.04.04
Синхронизирование времени


14-1078682617
peypivo
2004-03-07 21:03
2004.04.04
как у нас на работу принимали


6-1074606738
LexaTyukha
2004-01-20 16:52
2004.04.04
Как отловить сообщение приходящее от net send?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский