forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   C++ (http://forum.boolean.name/forumdisplay.php?f=22)
-   -   С++ и 3D (http://forum.boolean.name/showthread.php?t=10343)

Morganolla 20.11.2009 18:46

Ответ: С++ и 3D
 
jimon
А с чего бы ты посоветовал сейчас начать изучение ОпенГЛ? Можешь описать какую-нить программу обучения от простого к сложному, чтоб все понятно было? Со ссылочками...

jimon 20.11.2009 23:14

Ответ: С++ и 3D
 
Morganolla
1) учебник по английскому
2) учебник по линейной алгебре (нужны матрицы, базисы и еще куча всего)
3) http://nehe.gamedev.net/
но стоит запомнить что для OpenGL 3.x (если использовать forward context) все эти примеры нужно переписать, ибо в forward context вырезан весь устаревший функционал, но это скорее просто очистка самого API и вправление рук девелоперов чем вырезание функционала (устаревший функционал и подходы можно юзать как обычно, если не включать foward context)
4) http://www.opengl.org/documentation/specs/
можно сразу скачать спецификацию 3.2, но для начала и 1.5 хватит
но это справка по командам и как они работают

impersonalis 21.11.2009 00:07

Ответ: С++ и 3D
 
Чувствую себя буридановым ослом (

mr.DIMAS 25.11.2009 20:42

Re: С++ и 3D
 
Насчет книжек: оч хорошая книга есть у Фленова "DirectX и C++. Искусство программирования".(DX естественно 9 ) Несмотря на то что в книге практически все про демо сцену, ничто не мешает заюзать те же фишки в играх. Для начинающих как раз.

alcoSHoLiK 25.11.2009 21:42

Ответ: С++ и 3D
 
Все зависит от целей.

Если твоя цель - разобраться в тонкостях 3Д-графики, создания различных эффектов, то следует взяться за графическое API, найти в инете несколько ресурсов со статьями и примерами кода, запастись немерянным количеством времени, и, возможно, что-то из этого получится.

Если цель - разрабатывать игры, следует поискать готовый движок. Даже взяв чистый API, тот же DirectX, в процессе создания игры формируется самопальный движок. А так как он не был заранее спроектирован как самостоятельный модуль, его вряд ли можно будет эффективно использовать в других проектах. Таким образом либо следует потратить месяц-год-5 лет на написание своего движка, либо взять готовый. Последний пункт рекомендуется.

Если же цель - визуализация какого-либо набора данных (построение графика функции, симуляция физического процесса и т.д.), то есть если цель - разработка некоторого приложения пользовательского или вычислительного характера, частью которой должна быть трехмерная визуализация, то имхо лучше использовать Qt. Это кросс-платформенная библиотека для создания GUI, которая включает в себя функциональность на все случаи жизни, в том числе вывод графики в OpenGL контекст. Да, в данном случае требуется знание OpenGL.

Резюме:
Если надо крутые эффекты для крутой игры, бери двигл, основанный на DirectX. Далеко ходить не надо: недавно Unreal Engine 3 предоставили в свободное пользование всему миру. Правда там не С++, но в для игр самое то.
Если надо рисовать 3Д-картинку как часть работы некоторой проги, причем большие требования к реалистичности не предъявляются, бери Qt.

Это мое личное мнение.

falcon 26.11.2009 20:52

Ответ: С++ и 3D
 
мои пять копеек:
Цитата:

Если твоя цель - разобраться в тонкостях 3Д-графики
в этом случае лучше взять обе книги Андре Ламота, и внимательно изучить их :)
только сегодня сдал рейтрейсер на конференции в универе ))
пусть он кустарный, но пока его писал, открыл для себя очень много тонокстей.. написав своё, можн прочувствовать принципы работы гапи, и движков... эт имхо нужно изначально...
а вот дальше уже можно браться за всё остальное (статьи, эффекты, движки..)

mr.DIMAS 26.11.2009 21:21

Re: С++ и 3D
 
Цитата:

в этом случае лучше взять обе книги Андре Ламота, и внимательно изучить их :)
ламот отжигает по полной! была у меня шиза написать прогу которая будет рисовать напрямую в память( была у меня тогда неприязнь к ОГЛ'у и ДХ ), стал читать его книжку чуть мозг не взорвался( просто потому что не знал тогда асма ). Если полностью прочитать его две книжки можно заработать геморой мозга :-D :-D

falcon 27.11.2009 00:27

Ответ: С++ и 3D
 
зря ты так.
пишет он на С (программирование 3д- с++... хотя в с-стайле)
первая часть - кодинг 2д... больше ориентирован именно на разработку ИГР... т.е. как делать ИГРЫ..
а во второй часте - общии принцыпы 3д графики... фактически он свой софтварный двиг пишет... что б не использовались "аппаратные костыли"..
описываются куча интересных сфер..
мне кстати оч помогло для написания рейтрейсера :)
для меня покрайней мере основные принцыпы работы графического конвеера гемороем точно быть не могут...
(ну да.. ламот на асме писал мат.часть двига... но эт малая доля всего повествования )

impersonalis 27.11.2009 00:31

Ответ: С++ и 3D
 
Ладна - давайте погворим о движках? Кто что?
Вот Qt похоже мне подходит (но напряагет гапи от ОГЛ, в свете сказанного ранее).
Помнится ДядяДима всё с Ирлихтом бегал.

Tadeus 27.11.2009 00:49

Ответ: Re: С++ и 3D
 
Цитата:

Сообщение от mr.DIMAS (Сообщение 127061)
ламот отжигает по полной! была у меня шиза написать прогу которая будет рисовать напрямую в память( была у меня тогда неприязнь к ОГЛ'у и ДХ ), стал читать его книжку чуть мозг не взорвался( просто потому что не знал тогда асма ). Если полностью прочитать его две книжки можно заработать геморой мозга :-D :-D

Видимо, у меня геморой мозга :(

jimon 27.11.2009 01:18

Ответ: С++ и 3D
 
Цитата:

Помнится ДядяДима всё с Ирлихтом бегал.
бегал, но бросил, двиг чисто для изучения подойдет, что-то большое на нём писать смысла нету

alcoSHoLiK 27.11.2009 03:06

Ответ: С++ и 3D
 
Цитата:

Сообщение от impersonalis (Сообщение 127083)
Вот Qt похоже мне подходит (но напряагет гапи от ОГЛ, в свете сказанного ранее).

Значит игры отпадают?)
В этом случае можно конкретно визуализацию написать на движке в виде отдельного приложения и запускать его как дочерний процесс основного окна приложения (в Qt делается легко; наверное, в других гуишных либах тоже есть такая возможность). Остается в силе рекомендация об использовании движка, основанного на DX. OGRE и Irrlicht на слуху, однако есть еще XNA (C#).

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

Если же надо, что графика отображалась непосредственно в окне, как один из его элементов, тогда "привет, OpenGL"! :)

Есть конечно вариант написать вин-приложение (Win32 API/.NET/MFC) и использовать в нем контекст DX как элемент окна, однако гемора будет не меньше.

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

impersonalis 27.11.2009 03:08

Ответ: С++ и 3D
 
казуально "мне нужен блитц3д на С++" =)

Knightmare 27.11.2009 03:10

Ответ: С++ и 3D
 
Если юзать Qt из-под VS то DX прикрутить к нему - не вопрос. В любой контрол можно рисовать. Хотя на кнопку. Если юзать Qt Creator - сложнее, надо будет пережимать статик либы DX. Но опять-же - особых проблем не вижу. Кроме того что это уже не крос-платформ будет (но про это я тоже уже писал).

alcoSHoLiK 27.11.2009 03:11

Ответ: С++ и 3D
 
http://www.blitzbasic.com/Products/blitz3dsdk.php
Весь функционал блица, основанный на ДиректХ 7, в виде динамической библиотеки. Уже давно как крякнутый, только надо поискать.


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Перевод: zCarot