PMG

Форумы по созданию игр
Текущее время: 29 мар 2024 02:46

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: NVidia Cg
СообщениеДобавлено: 29 ноя 2010 01:36 
Не в сети
Новичок

Зарегистрирован: 02 май 2010 20:29
Сообщения: 6
Откуда: Ебург
Уважаемые форумчани!
Я совсем недавно начал интересоваться геймдевом и 3D графикой в принципе и капашась на просторах рунета забрел на сайт NVidia с описанием некоего языка Cg (C for Graphic) из их туториала я не особо понял что он из себя представляет - как я понял, то это некая надстройка над Direct3D и OpenGL.
Вопрос следующий: кто ни будь пользовался сим продуктом? если да, то верно ли мое понимание его? ну и вообще хотелось бы краткого объяснения что это за продукт и "с чем его едят". Вполне подойдет пинок в нужном направлении (можно и на буржуйском языке, но на русском было бы лучше).

Надеюсь понятно объяснился:) Заранее спасибо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: NVidia Cg
СообщениеДобавлено: 29 ноя 2010 10:30 
Не в сети
Опытный
Аватара пользователя

Зарегистрирован: 04 июл 2008 10:11
Сообщения: 144
Откуда: Питер
DiabloNT, да это надстройка: CG - один из высокоуровневых языков программирования шейдеров (обычно используется для DirectX). А шейдер - программа которую выполняет видеокарта (рассчитывает и отрисовывает), в отличие от обычных программ, которые рассчитываются с помощью процессора.
Изучение шейдеров я начал именно с CG, скачал урок с gamedev про флаг который колеблется и его освещает лампочка, и начал ковырять код, но потом перешел на GLSL (обычно используется для OpenGL), там проще (для понимания) передаются данные из программы в шейдер. Подробнее здесь: http://ru.wikipedia.org/wiki/%D0%A8%D0% ... 0%B5%D1%80


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: NVidia Cg
СообщениеДобавлено: 30 ноя 2010 00:37 
Не в сети
Опытный

Зарегистрирован: 02 ноя 2008 02:36
Сообщения: 116
Откуда: Kiev
Цитата:
но потом перешел на GLSL (обычно используется для OpenGL)

Поправочка, GLSL всегда используется исключительно для OpenGL


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: NVidia Cg
СообщениеДобавлено: 03 дек 2010 06:54 
Не в сети
Новичок

Зарегистрирован: 02 май 2010 20:29
Сообщения: 6
Откуда: Ебург
Da Man писал(а):
Цитата:
но потом перешел на GLSL (обычно используется для OpenGL)

Поправочка, GLSL всегда используется исключительно для OpenGL


Ну я не до такой степени чайник:) но спасибо за уточнение ;) . И уйдя от темы, хочу спросить про GLSL и OGL.
У меня есть рукописный импортер из 3DS файлов, но в них нет нормалей (что по сути оооочень обидно) и нормали приходилось рассчитывать с помощью ЦП, а высчитывать нормали даже для 5 000 вершин - довольно большая нагрузка (по планам придется рендерить фотореалестичные модели). Получается шейдеры как раз помогают переложить это действо на видяху? (где то видел краем глаза, что в Dx есть готовые ф-ции для этого, но вот в OGL такой халявы нету:))

P.S. если можно, то был бы признателен за примерчик того, как это реализовать (я предполагаю что код будет довольно коротким). И до кучи еще один пинок в статьи (книги) по GLSL.
P.P.S. до геймдева, увы, нет доступа на работе, а дома, обычно, уже совсем не до того.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: NVidia Cg
СообщениеДобавлено: 03 дек 2010 10:19 
Не в сети
Опытный
Аватара пользователя

Зарегистрирован: 04 июл 2008 10:11
Сообщения: 144
Откуда: Питер
Нормали можно один раз при загрузке рассчитать, а если требуется анимация, то нужно использовать скелетную анимацию, там не надо заново рассчитывать нормали с помощью векторного произведения, а можно просто перемножить каждую нормаль на матрицу нужной кости (костей), при этом если эти расчеты шейдер делает, то получается очень быстро. Из статей посоветую это: http://gpwiki.org/index.php/OpenGL:Tuto ... nes_System а для переноса расчета в шейдер эту: http://www.opengl.org/wiki/Skeletal_Animation Ну это конечно если есть желание самому писать ;)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: NVidia Cg
СообщениеДобавлено: 03 дек 2010 19:20 
Не в сети
Новичок

Зарегистрирован: 02 май 2010 20:29
Сообщения: 6
Откуда: Ебург
Хм... а если уйти от скелета (обычное вращение "литых" объектов), то по сути можно нормали умножать на матрицу трансформации?

P.S. про кости почитаю, но позже (ссылки сохранил), т.к. это более высокий уровень (мне еще рановато браться за это), надо сначала создать свою либу с полезными и хорошо реализованными ф-циями :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: NVidia Cg
СообщениеДобавлено: 03 дек 2010 21:35 
Не в сети
Опытный
Аватара пользователя

Зарегистрирован: 04 июл 2008 10:11
Сообщения: 144
Откуда: Питер
ну да, и тоже в шейдере.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: NVidia Cg
СообщениеДобавлено: 04 дек 2010 06:06 
Не в сети
Новичок

Зарегистрирован: 02 май 2010 20:29
Сообщения: 6
Откуда: Ебург
bad_duck писал(а):
ну да, и тоже в шейдере.

вот только на счет книги по GLSL не понял ;) что лучше почитать? желательно именно книгу, а не статью:) и не по OGL в общем, с более узконаправленную. и на этом мои вопросы наверно закончатся.:) по крайней мере в этой теме.

P.S. в OpenGL Superbook есть материал по шейдерам. стоит читать? или есть более великие труды?:)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: NVidia Cg
СообщениеДобавлено: 04 дек 2010 11:45 
Не в сети
Опытный
Аватара пользователя

Зарегистрирован: 04 июл 2008 10:11
Сообщения: 144
Откуда: Питер
Книгу посоветовать не могу - сам по урокам и статьям учусь. Вот отличные уроки (с исходниками) про шейдеры и не только: http://wingman.org.ru/ (только сайт иногда не доступен).
Полезная статья про передачу в шейдер массива данных: http://wiki.gamedev.net/index.php/OpenG ... mp_Mapping
Ну еще пример: http://fabiensanglard.net/bumpMapping/index.php
В Superbook'е читал про шейдеры, но мне не понравились, они отличаются от уроков wingman'а.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: NVidia Cg
СообщениеДобавлено: 05 дек 2010 12:47 
Не в сети
Новичок

Зарегистрирован: 02 май 2010 20:29
Сообщения: 6
Откуда: Ебург
Спасибо, буду читать и точить зубы об гранит:)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


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

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB