OpenGL 2D

Модератор: Модераторы разделов

BratSinot
Сообщения: 812
ОС: Slackware64

OpenGL 2D

Сообщение BratSinot »

Здравствуйте! Где можно найти нормальный мануал по работе с 2D и 2D спрайтами в OpenGL? Если возможно то в связке с SDL. Весь интернет перерыл находит только по 3D мануалы.
Спасибо сказали:
NickLion
Сообщения: 3408
Статус: аватар-невидимка
ОС: openSUSE Tumbleweed x86_64

Re: OpenGL 2D

Сообщение NickLion »

В связке с SDL - не знаю. Но просто для OpenGL всё просто. Подготавливаем текстуру со спрайтами (если все будут на одной текстуре - это лучше, впрочем если спрайтов много и одновременно все не нужны, то имеет смысл разбить). Данная текстура должна иметь размеры - степень 2. Например 256х1024. В самой игре загружаем текстуру из файла в память (возможно тут будет SDL для обработки PNG или в чём Вы там будете хранить текстуру), подгружаем текстуру в видеопамять:
1. Готовим место для хранения :) glGenTextures
2. Активируем glBindTexture
3. Задаём параметры текстурирования glTexParameter*
4. Непосредственно подгружаем текстуру из памяти в видеопамять glTexImage2D
В дальнейшем переключаемся на данную текстуру при помощи glBindTexture.
Для выбора конкретного спрайта берём его относительные координаты (т.е. от 0 до 1) - glTexCoord2d. Если относительные координаты доставляют неудобство, то можно масштабировать матрицу текстуры и работать с абсолютными координатами.
Вроде бы всё. Если совсем не ориентируетесь в OpenGL, могу представить небольшой код, который это всё будет делать. Для примера, чтобы ориентироваться проще. Только я с SDL не работал фактически, поэтому могу сделать только Xlib+OpenGL.
Спасибо сказали:
i18n
Сообщения: 192

Re: OpenGL 2D

Сообщение i18n »

Надо всего лишь знать английский и уметь пользоваться Google:
http://www.gamedev.net/reference/articles/article2429.asp
http://www.gaanza.com/blog/moving-2d-sprit...pengl-with-sdl/
http://www.gaanza.com/blog/2d-sprite-rotat...pengl-with-sdl/
http://3bb.cc/tutorials/cl-opengl/2d-sprites.html
http://www.mjolnirstudios.com/IanBullard/f...ite_system1.php
И да, придется систематически изучить OpenGL, иначе ничего хорошего не выйдет.
Спасибо сказали:
BratSinot
Сообщения: 812
ОС: Slackware64

Re: OpenGL 2D

Сообщение BratSinot »

http://www.gaanza.com/blog/moving-2d-sprit...pengl-with-sdl/
Во, это уже поинтересней, только их оформление кода... читать невозможно.

//Надо всего лишь знать английский и уметь пользоваться Google
Пользоваться я им умею, только все равно ничего нормального найти не мог. Пример даже один нашел, но он на C++ написан.

Вообщем работает. Осталось доработать. Спасибо.
Спасибо сказали: