СФУ

Форум студентов СФУ


не является официальным сайтом Сибирского федерального университета
Вернуться   Форум студентов СФУ > Компьютеры, сети, Internet

Закрытая тема
 
Опции темы Оценить тему
Старый 12.12.2004, 10:05   #21
leonidas
Гость
 
Сообщений: n/a
По умолчанию

типа мой адверт leonid.pp.ru/gallery/3dsmax.shtml
 
Старый 14.12.2004, 10:20   #22
Ната
Гость
 
Сообщений: n/a
По умолчанию

А можно делать 3-D картинки на Visual C++?
 
Старый 14.12.2004, 10:36   #23
DMorozz
Гость
 
Сообщений: n/a
По умолчанию

Ната, Direct3D или OpenGL тебе в руки, только надо или заранее сцену на бумаге прочсчитать или генерировать что-нибудь абстрактное генерировать
 
Старый 14.12.2004, 11:22   #24
Ната
Гость
 
Сообщений: n/a
По умолчанию

И откуда вы все это знаете? Хотелось бы научиться, но я в этом вообще профан. Что такое Direct3D?
 
Старый 14.12.2004, 12:28   #25
DMorozz
Гость
 
Сообщений: n/a
По умолчанию

Ну что ж, начнём что ли мини экскурс... когда на компах был DOS.
И как это ни странно мы поговорим про игрушки...
Во времена DOS все программы могли спокойно обращаться напрямую к железу и делать что им заблогорассудится и никто не возражает - везде однозадачность, другой процесс тебе в спину не дышит и прочее, так что отсюда железо использовалось на всю катушку, но минусы - производителю приходилось учитывать, что у пользователя может быть супер-пупер видюха на 8 метров или СаундБластер, а то и просто метровая старушка...вот и читали бедные программеры сотни страниц документации, искали коды для определённой видюхи, писали модули... а потом пользователь это ставил... Да и не забываем, что сначала полигоны и свет рисовал бедный процессор, это потом появились 3d ускорители, знаментый Voodoo, сначала они ставились в отдельный слот и подключались в видюхе, потом стали интегрироваться с карточкой, там уже на АППАРАТНОМ уровне реализовывались простейшие алгоритмы -заливки, текстуирование... Потом уже стали появлятся и трансормации, но это уже была эпоха виндоус...
Но тут появилась Винда, а в ней, как в любой нормальной системе придумали виртуальную память, разделение адресных пространств и драйвера устройств.
Смысл был в чём? Не программисты должны писать модули для видюх, а сами разработчики. Ну кто по вашему лучше знает новейший Radeon X850? Программист игр, который его первый раз увидел или разработчики? Вот! Так что имеется уровень абстракции от железа в винде. Т.е. лишь бы были правильно написаные дрова и винде пофиг с чем работать, с монстром X850 или S3, аналогично со звуком, сетью и.т.д. Программисты пишут для "виртуального" принтерна, сканера, для "виртуальной видеокарты" программы, используя стандартные для всех типов устройтсв комманды, винда кидает эт драйверам, а они уже переводят это в коды для своего железа и всё раобтает зашибись.
Но загоревали производители игр, как же так в досе, мы слали коды прямо железу, было муторно, но ведь скорост то какая, а теперь, сначала API, потом драйвер и только потом железу! У нас так ина X850 всё тормозить будет!
И снова призадумались люди из Майкрософта - вроде винда - руль! а игры продолжают писать под дос, нехорошо подумал Билл Гейтс и придумал DirectX (это я утрирую) вобщем DirectX предоставляет ПРЯМОЙ доступ к видео (DirectDraw, Direct3D), аудио (DirectSound, DirectMusic), манипуляторам(DirectInput), сети (DirectPlay), мультимедия(DirectShow) через СТАНДАРТНЫЙ интерфейс, т.е. разработчикам железа добавилась головной боли добавлять в дрова поддержку DirectX, но разработчикам игр стало вообще хорошо - врубают они DirectX в свою прогу и начинаю писать разные заумные штуки, а черновую работу делаею DirectX, причём он тоже не промах, сначала ппроверяет, может и воидеокарта (например) сделать, например,анизотропную фильтрацию сразу аппаратно? может? вообще замечательно! и трансформацию в реальном времени? ну вообще супер! нет? ладно, может просчитать побыстрому на аппаратном уровне? опять нет? ну ладно, тогда добро пожаловать в процессор, в месте сообразим, ну аж если никак то уж извини товарищ, TNL не поддерживается, делая апгрейд...
Сразу неплохо заметить о шейдерах и с чем их едят и почему... вобщем DirectX-а хватало, но программистам опять хотелось ещё свободы, почему например уже на отрендеренной 3d модели не нарисовать сверху на текстуре чего-нить? так появились пиксельный шейдеры. Потом ещё подумали и появились вршинные шейдеры. В кратце, шейдеры, это минипрограмки на специальном (опять таки стандартном) языке, которые работают прямо на карточке и позволяют выделывать эффекты которые на обычном DirectX ни какими анимироваными текстурами и трансформациями не сделаешь. Так пиксельные шейдеры работают уже с пикселями - с текстурами или результатами ренеринга, вершинные с вершиннами полигонами...

Ну а OpenGL, смысл там тот же - работа с железом напрямую, нужна тольео поддержка в дровах.

отличия:
DirectX - закрытый продукт от Microsoft, работает только под Windows
OpenGL - открытый продукт, со свободными исходниками есть под кучей OS (поэтому OpenGL игры легко портировать , в частности, под Linux) и к этому он разросся рядом расширений OpenGL Extensions, которые добавляют функциональности, чем пользуются игроделы.

На чём писать решать каждому.
DirectX это набор COM компонентов, так что для работы неплохо бы умет писать COM приложения
OpenGL - это чистый API
На самом деле и там и там всё легко.

Чтобы начать писать проги надо
-Visual C++
-Core SDK
-DirectX SDK (или OpenGL SDK)
SDK - свободно скачиваются с нужных сайтов, но весят много

литературка ещё нужна - набираем в поисковике DirectX или OpenGL и впереёд. Ещё рекомендую сайты по разработке игр, там должны быть разделы для програмистов

Ещё не плохо уметь ваять модельки в Maya или 3dMax, текстуры в Photoshopе их можно использовать в программе... Ну а потом создаёшь сцену, загружаешь объекты, слушаешь клавиатуру, вобщем кому что надо

Кстати, под Delphi есть DelphiX для работы с DirectX, но скорость в Delphi оставляет желать лучшего, так что если требуется максимальная корость работы для 3d приложений, то надо на C писать...

citforum.amursu.ru/programming/digest/directxwhatis.shtml
www.izcity.com/data/hard/article528.htm
www.ixbt.com/video2/dx-current.shtml
opengl.org.ru
 
Старый 17.12.2004, 23:29   #26
DENIS
Гость
 
Сообщений: n/a
По умолчанию

Несколько лет лет занимаюсь 3D
Идею создания клуба поддерживаю, очень интересно пообщаться с людьми которые работают в этой области и живут в Красноярске.
Сам работаю в 3D Max, Rhino - это две самые основные проги.
Кто хочет пообщаться, пишите мне, пообщаемся, особенно если у вас уже есть опыт работы в этих прогах.
 
Старый 21.12.2004, 10:59   #27
MarilinManson
Гость
 
Сообщений: n/a
По умолчанию

Предлагаю таки разделить художниов и программистов. . Как я понимаю кроме меня и D_Moozza никого во 2й группе не намечается?
 
Старый 22.12.2004, 02:12   #28
ShaggyIgor
Гость
 
Сообщений: n/a
По умолчанию

Я очень даже за клуб, да и есть чем поделиться, щаз веду разработку игрового 3D движка... планируем создать онлайн РПГ... использую OpenGl, как закончим перекину все на DX...
 
Старый 22.12.2004, 22:44   #29
MarilinManson
Гость
 
Сообщений: n/a
По умолчанию

Маза....
 
Старый 24.12.2004, 11:17   #30
Ната
Гость
 
Сообщений: n/a
По умолчанию

Привет DMorozz, спасибо за содержательную лекцию. Правда, из знакомых слов, одни предлоги.Но интересно. Попробую.;-)
 
Закрытая тема

Опции темы
Оценка этой теме
Оценка этой теме:

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +7, время: 22:21.

Сайт sfu.su не является официальным сайтом Сибирского федерального университета. Администрация форума не несет ответственности за содержание данного форума.