Оказывается OpenGL не такой уш и сложный (на мой взгляд DirectX сложнее).
Вот ссылка на онлайн книгу по OpenGL: http://opengl.org.ru/books/open_gl Я почитал немного и мне понравилось, посмотрим что будет дальше :) |
|
я лично недумаю что 3д программирование на языках высокого уровня следует начинать с нуля... даже с примеров
всештаки 3д двиг ето сложное API как никрути и кучу алгоритмов реализовывать ето тоже проблемма и еще совместимость,утечки памяти, проблеммы с драйверами... проблеммы... лутче присмотри какой нибудь 3д opensource двиг с потдержкой рендера на opengl и переделай его под свои нужды |
Цитата:
Вот тут еще много ссылок на ресурсы по OpenGL: http://steps3d.narod.ru/links.html 2jimon А мне хочется узнать, как это все устроено :) :) :) , тем более, что потом для какой-нить маленькой игрухи можно свой двиг написать ;) |
ето для арканоида или примитивных шароварок можно еще писать свой двиг
а на разработку нормального 3д двига уйдет года 4 |
Цитата:
|
Вот ссылка на учебно-методическое пособие по OpenGL:
http://graphics.cs.msu.ru/courses/cg03b/as...ds/tutorial.zip :) :) :) |
Фигасе! Респект Московскому Государственному университету им. Ломоносова. :) На пальцах рассказано о всех основных принципах OpenGL. :super:
|
учитывая кучу инфы по Opengl... (особенно куча инфы о шейдерах)
и учитывая то что из irrlicht можно работать напрямую с opengl (хотя ирлихт потдерживает и d3d и opengl) то получается круто :) |
Цитата:
|
2Жека: учебник, на который ты дал ссылку, просто рулеzzz :super: :super: :super:
|
Электронная версия русского издания "библии" программистов, работающих с OpenGL - "красной книги", официального мануала. Около 500 страниц формата А4...
Красная книга книга в DOC формате :) |
А версия какая?
|
у кого есть заголовки ? а лутче справка по OpenGL 2 :)
|
|
спасибо
|
Цитата:
|
Вложений: 4
Вот дам вам пару учебников из своей коллекции :) очень хороший народный учебник по OpenGL ну и еще один неплохой .
|
Объясните кто-нибудь дураку поподробнее, как загружать вмодели из 3дмакса(желательно с примером).
|
Вложений: 2
Сам я не пробовал ниче отсюда, и не разбирал, но может вам поможет...
|
|
Вот статья с подробным описанием формата MD2, его загрузки и рендеринга c использованием OpenGL, также там есть исходники загрузчика.
http://tfc.duke.free.fr/old/models/md2.htm А вот для формата MD2 спецификация: http://tfc.duke.free.fr/coding/md2-specs-en.html Вот описание формата (спецификация) и загрузчик формата MDL: http://tfc.duke.free.fr/coding/mdl-specs-en.html Вот описание формата (спецификация) и загрузчик формата MD5: http://tfc.duke.free.fr/coding/md5-specs-en.html PS: все это можно найти здесь: http://tfc.duke.free.fr/ |
Вопрос тем, кто работал с OpenGL:
Что быстрее визуализируется - дисплейные списки или массивы вершин с текстурными координатами и нормалями с большим кол-вом примитивов (GL_TRIANGLES, GL_QUADS и т.д.)? |
Вот написал три теста "рисования" большой плоскости из GL_QUADS 150*150 т.е. 22500 квадов или 45000 треугольников с различными техниками отображения:
1. Array.exe - создается простой массив вершин (Ground) и рисуется следующим образом: Код:
glInterleavedArrays(GL_T2F_N3F_V3F, 0, Ground); Код:
flist=glGenLists(1); Код:
int t[2]; первые два варианта ведут себя одинаково (FPS 122 - 164 соответственно когда все видно и когда не видно ничего), а вот третий... вообще должно быть медленнее, а выходит что OpenGL как-то сам включает алгоритм определения видимости треугольников и когда на экраене ниче нет FPS выростает до 584, а когда видно поле результат такой же как и в первых двух случаях (FPS около 128 ) PS: Особо интересно как это будет работать на ATI карточках... PS2: Мой комп: Cel D 2.4GHz/512 MB Dual/64MB GF4 MX440 |
Для такой машины тест не впечатляет.
Блитц быстрее работает |
что то ты криво зделал...
тут или culling или что то тормозит :) или надо юзать VBO... или хз [offtop] попробуй вот че glEnable(GL_NO_BUGS); glEnable(GL_AUTO_GENERATE_ENGINE); glEnable(GL_AUTO_CREATE_MODEL); glEnable(GL_MINIMIZE_FPS_TO_10000); glEnable(GL_EMULATE_NV120000_WITH_NO_BRAKES); glEnable(GL_WARP_ME_TO_JONH_CARMACK); взято из мега ацки серкетного топика на гд [offtop] |
Цитата:
PS: Хоть бы результаты оставил... PS2: Я только учусь ;-) 2jimon: обязательно попробую :) |
Вот хороший ресурс по OpenGL на русском языке:
http://steps3d.animekazan.net/ |
45 000 на моем компе 250 фпс.
твои тесты: 1 35 фпс 2-3 скачет от 2000 до 100. фиг поймешь, слишком быстро камера крутицца. |
Цитата:
|
атлон 1900+
512 рам видео жефорс 6600 гт 128 |
tormoz +1 :)
конфиругация совершено другая все тесты кроме последнего стабильно - 200 фпс последний при показе графики 200 фпс, без тех кубиков - 800 фпс geforce 4 mx 440 128mb :))) не далеко ушол |
Re: OpenGL
|
Re: OpenGL
газине, который торгует старыми книгами... размером книга была больше чем любая моя, так вот, эта книжка по OpenGL на русском, причем все подробно описано... сейчас начну качать на своем далапе...
http://pmg.org.ru/ebooks/Piter%20-%2...graf iki.djvu |
Мегакнига. Но закачка прервалась(
|
Re: OpenGL
Вот вопрос. Возможно глуаый но всё же
Эти учебники пойдут для OpenGL Performer? У меня какието там ошибки летят( Compiling... onne.cpp d:\program files\microsoftvisualstudio\vc98\include\gl\gl.h(1 152) : error C2144: syntax error : missing ';' before type 'void' d:\program files\microsoftvisualstudio\vc98\include\gl\gl.h(1 152) : error C2501: 'WINGDIAPI' : missing storage-class or type specifiers d:\program files\microsoftvisualstudio\vc98\include\gl\gl.h(1 152) : fatal error C1004: unexpected end of file found Error executing cl.exe. onne.obj - 3 error(s), 0 warning(s) Вот такая вот ерунда. как я понял проблема с WINGDIAPI но как устронить эту проблему? |
Ответ: OpenGL
вот онлайн справочник по основным командам OpenGL. очень удобный.
http://opengl.gamedev.ru/doc/ |
Ответ: OpenGL
Щас изучаю ОпенГЛ... Знатоки, подскажите - окружность можно рисовать тока через квадрик-диск, или еще как-то попроще?
|
Ответ: OpenGL
если ты пишешь игру, то я советую вообще отказаться от кваратик функций.
окружность очень легко нарисовать вручную, через TRIANGLES_FAN кстати, окружность 2д или в 3д? |
Ответ: OpenGL
Да, для игр, важно быстродействие!
А точки для TRIANGLES_FAN, расчитывать в ручную? :( Мрак... А прямой ф-ии для круга нет получается? :( Окружность пока 2Д! Спасибо. |
Ответ: OpenGL
Morganolla
чего мрак то? можешь скачать мой двиг и посмотреть ф-ию Circle в файле 2DPrim.cpp http://rghost.ru/111131 или подождать вечер, тогда я смогу запостить сюда код. |
Ответ: OpenGL
Файл не скачивается...
|
Ответ: OpenGL
Код:
void Oval(int x,int y,int radius) Код:
__forceinline void sgSinCos(float Angle,float & SinValue,float & CosValue ) |
Ответ: OpenGL
Гениально! А ты хочешь написать двиг., чтобы был лучше других (ОГР и ИРЛИХТ)? или еще зачем?
|
Ответ: OpenGL
для опыта.
|
Ответ: OpenGL
Скажите, существует ли хоть одна книга по OpenGL, в которой не используется GLUT??
|
Ответ: OpenGL
-=Jack=-
ну GLUT используется только для инициализации, делай её ручками (создавать окно, создавать контекст opengl) примеров минимального opengl приложения без GLUT полно а обработка нажатий клавиш, мышки и тд - это к opengl никак не относится |
Ответ: OpenGL
Ясно,буду пробовать... А исходники GLUT не открыты?
|
Ответ: OpenGL
-=Jack=-
вот исходники GLUT http://www.opengl.org/resources/libr...lut/glut37.zip (3.6 mb), но не думаю что они тебе сильно помогут |
Ответ: OpenGL
Спасибо :super:
|
Ответ: OpenGL
есть одна очень интересная особенность которая прошла мимо моих глаз
в общем до OpenGL 1.5 были только asm-подобные шейдера, в 1.5 версии представили 1.00 версию GLSL, но у меня тут лежит комп. с 945G чипсетом, он держит только 1.4 версию OpenGL, что делать ? да и мой двиг поддерживает только 1.20,1.30 и 1.40 версии GLSL оказывается выход есть ! Cg это универсальный шейдерный язык nvidia которая предоставляет компилятор Cg в HLSL,GLSL,ARB shaders и тут открывается интересная особеность, компилятор Cg может компилировать GLSL в ARB shaders ! конечно прийдется дописать поддержку этих ARB Shaders в движке, но сам факт наличия такой возможности очень радует в идеале надо вообще все шейдера писать на Cg и не мучать себе мозг, так можно будет отвязать media от GAPI и не мучатся :) |
Ответ: OpenGL
А что лучше использовать для обучения GLUT или GLAUX? Полно учебников как на том так и на этом...
|
Ответ: OpenGL
Цитата:
в glaux.h - дополнительные команды, типа квадрики (счас уже не помню) а glut (GL utility toolkit) - просто библиотека функций для быстрого прототипирования (инициализация окон, контекстные менюшки и т.д.) написанная мегоGLгуру Марком Килгардом (раньше работал в SGI). В серьезных программах не нужно ни то, ни другое. Но для старта - почему бы и нет:super: |
Ответ: OpenGL
Что-то у меня интересный баг объявился. В 27 уроке от нехе для VC.NET перестали работать тени!!! Они переработали текст проекта и теней теперь нету. Если кому не в тягость проверьте у себя на компе?
|
Ответ: OpenGL
Любопытная статейка за 2008 год - OpenGL 3 против DirectX 11: война закончена
http://www.thg.ru/graphic/open_gl_3_..._11/index.html |
Ответ: OpenGL
Можете подсказать, в чем может быть проблема?
Работаю с данным обучением и Code::Blocks. Создавал и openGL проект, и glut проект - все тщетно, получаю миллионы ошибок "undefined reference to ...". Ссылка на репозиторий обучения https://github.com/jckarter/ch4-flag |
Ответ: OpenGL
Проверь зависимости, должно быть GL и GLUT (и может быть ещё GLU, не помню точно).
Щас блокса под рукой нет, но по памяти: какой-то пункт в верхнем меню -> build options (выбрать и дебаг и рилэйс) -> link library. Если не поможет, то покажи ошибки полностью. |
Ответ: OpenGL
В openGL проекте
Код:
glBindBuffer(GL_ARRAY_BUFFER, mesh->vertex_buffer); Взялся именно за этот пример только из-за относительной свежести создания. Классика от NeHe - дело, конечно, хорошее, но уж довольно таки старое. И стоит ли вообще использовать Code::Blocks? В нем привлекает маленький вес и удобность, однако почти во всех обученных люди используют VS. |
Ответ: OpenGL
Код:
Nikich через wglGetProcAddress("glBindBuffer). ну и переменную объявить типа Код:
extern PFNGLBINDBUFFERPROC glBindBuffer; после инициализации окна Код:
glBindBuffer = wglGetProcAddress("glBindBuffer) |
Ответ: OpenGL
Это же не мой код, а код автора статьи. Поскольку у него всё работает, вероятно, дело не в коде, а настройках компилятора.
|
Ответ: OpenGL
а, точно, у него же glew.
значит не подключена glew. |
Ответ: OpenGL
Нашел еще один годный сайт www.opengl-tutorial.org/beginners-tutorials/
Следуя инструкции удалось скомпилировать все части в VS. Однако, о создании своего проекта сказано крайне мало. Можно ли подключить все нужные библиотеки не прибегая к CMake? |
Ответ: OpenGL
дополнительные библиотеки можно подключать через linker/input, или через #pragma, прямо в коде, типа:
Код:
#pragma comment(lib,"opengl32.lib") https://code.google.com/p/gl33lessons/wiki/Lesson01 из плюсов - намного меньше зависимостей. я у себя в движке все библиотеки подключал черезе код. т.е. не либки, а прямо исходники библиотек засовывал в движок. собирается дольше, зато без проблем с любыми флагами компилятора. |
Ответ: OpenGL
Цитата:
|
Часовой пояс GMT +4, время: 09:40. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot