LINUX.ORG.RU

Нужны примеры по OpenGL GLSL

 ,


0

3

Накидайте примеров работы с GLSL, желательно на «C». Из того что нашел я, адекватное только это https://code.google.com/p/gl33lessons/

Но там под офтопик, сейчас с горем пополам перевожу на SDL.

Хотелось бы простых не монстуозных примерчиков.

★★★★★

Ответ на: комментарий от x4DA

Прикольный эфект.

Только строка 280

//case GL_GEOMETRY_SHADER: strShaderType = "geometry"; break;

Пришлось закоментировать.

Dron ★★★★★ ()
Ответ на: комментарий от mono

Ну es конечно не то маленечко :) Но примеры под кучу платформ в любом случае годно спасибо, большое и пушистое.

Dron ★★★★★ ()
Ответ на: комментарий от mono

Ну в общем да, по сырцам пробежался бегло, всё чисто и понятно, для экспериментов самое то на первое время.

Dron ★★★★★ ()
Ответ на: комментарий от quiet_readonly

Уроки NEHE

Про шейдеры там нет ни разу, все уроки про фиксированный конвеер.

kostik1 ()

glsl это как бы самостоятельный язык, синтаксисом похожий на С. «Примеров по GLSL на С» найти нельзя в принципе

mazdai ★★★ ()
Ответ на: комментарий от mazdai

«Примеров по GLSL на С»

Знаю я, думаю можно понять что когда я говорю про C я имею в виду управляющий код :)

Dron ★★★★★ ()
Ответ на: комментарий от CyberK

Хм прикольно, только сейчас заметил что у меня webgl не пашет, пару недель назад работал.

И да, спасибо.

Dron ★★★★★ ()
Последнее исправление: Dron (всего исправлений: 1)
Ответ на: комментарий от Dron

смотри примеры по C++, если нету по Си

различий вроде минимум

mazdai ★★★ ()

Так, моя голова пухнет не по дням, а по часам.

Вот скажите мене дураку opengl 2.x 3.x 4.x API принято что ли смешивать в кашу?

Смотрел пример (уже не помню где) там типо чисто на opengl 3.x а там glBegin(); glEnd();, хотя вроде этого там нет и должно быть VBO которое я пока не осилил.

Собственно с шейдерами теперь всё более менее ясно, поигрался понравилось.

Теперь хотелось бы увидеть примеров работы с чистым opengl 4.x.

А главное, я не могу найти какие части API признаны устаревшими к примеру тот же glBegin();

И неясно как инициализировать руками какую либо определённую версию opengl, или указание версии заключается в наборе расширений?

Dron ★★★★★ ()
Последнее исправление: Dron (всего исправлений: 1)
Ответ на: комментарий от Dron

А главное, я не могу найти какие части API признаны устаревшими к примеру тот же glBegin();

http://www.opengl.org/registry/doc/glspec43.core.20130214.pdf

http://www.opengl.org/registry/doc/GLSLangSpec.4.30.8.pdf

http://www.opengl.org/sdk/docs/man4/

http://www.opengl.org/sdk/docs/manglsl/

И неясно как инициализировать руками какую либо определённую версию opengl, или указание версии заключается в наборе расширений?

Это всё зависит от платформы/оконной системы. Для линуксов есть:

http://www.opengl.org/registry/specs/ARB/glx_create_context.txt

http://www.khronos.org/registry/egl/extensions/KHR/EGL_KHR_create_context.txt

GLX поддерживается всеми, EGL должен поддерживаться в открытых драйверах и вроде AMD тоже поддерживает EGL/X11. Вейланды и прочие миры будут через EGL работать.

Но я бы не заморачивался и юзал freeglut/SDL2 например. Правда, если очень хочется походить по граблям иксов/оффтопапи/etc и прочувствовать все прелести оконных менеджеров, по своему трактующих ICCCM/NETWM, то можно и руками создавать конечно.

oh-la-la ()
Ответ на: комментарий от oh-la-la

Спасибо большое, а так да использую sdl.

Dron ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.