![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 25.06.2009
Сообщений: 163
|
![]()
Здравствуйте, наверняка, многие задумывались о создании 2d-игр на OpenGL, а кто-то даже и занимался этим. Вот, у меня возникли такие вопросы:
1. Как создавать карту из ячеек, если координаты в OpenGL не такие, как в Delphi? То есть, там координаты идут от -1 до 1. Короче, как переводить такие координаты в нормальные, если мне, например, хочется нарисовать карту, состоящую из ячеек 100х100 пикселей. 2. В OpenGL есть две такие функции: glTexCoord2f(-1, 0); glVertex2f(-1, 0); Что обозначает первая из них? Да, да, я знаю, что это координата текстуры, которая берется из переменной типа glUInt. Но как она влияет на программу? Как ни пытался понять это, так и не смог. 3. Неужто при рисовании нужно каждый раз загружать изображение? LoadTexture('0.tga', Texture, False); И, кстати, что здесь значит слово False? 4. 50% загрузки процессора - это нормально, если я рисую на экране фон и одну текстуру 150х150 в формате tga, с альфа-каналом? Рисую в таймере с интервалом 31 мс. 5. Почему при рисовании фона на окне, развернутом на весь экран он рисуется 4 раза? Картинка с фоном - такого же размера, что и экран. Заранее спасибо всем, кто ответит хотя бы на некоторые из этих вопросов. Последний раз редактировалось ZotaC; 03.07.2010 в 21:40. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
1)можно переводить. а можно и установить какие хотите.
2)координата текстуры(которую нужно сначала применить) 3)я не знаю что это за функция, скорее всего можно сохранять её результат. 4)код в студию. 5)опять же нужен код. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 25.06.2009
Сообщений: 163
|
![]()
Вот, что написано в таймере:
Код:
|
![]() |
![]() |
![]() |
#4 | |
Студент, не
Старожил
Регистрация: 29.01.2009
Сообщений: 2,067
|
![]()
У меня заработало почему-то только когда подправил на
Код:
LoadTexture('Fon.jpg', Texture, False); - нужно вызывать только когда меняется текстура... И у меня частое её вызывание к жутким глюкам приводило...( Цитата:
У меня нету файлов tga да ещё и с альфа-каналом... Так что не могу проверить, но с блендингом вроде какие-то особые баги могут быть... Про "5" можно поподробнее?
I am the First of Cyber Evolution...
I am the First to Program your Future... |
|
![]() |
![]() |
![]() |
#5 | |||
Форумчанин
Регистрация: 25.06.2009
Сообщений: 163
|
![]() Цитата:
Цитата:
Цитата:
Последний раз редактировалось ZotaC; 04.07.2010 в 09:00. |
|||
![]() |
![]() |
![]() |
#6 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]() Цитата:
x/256-1 насчет y не помню...где там ноль? Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 25.06.2009
Сообщений: 163
|
![]()
А нельзя объяснить эти цифры, если не сложно? Быть может, получится использовать их и при переводе из обычных координат в координаты OpenGL (пункт 1).
|
![]() |
![]() |
![]() |
#8 | |
Участник клуба
Регистрация: 06.03.2009
Сообщений: 1,346
|
![]() Цитата:
Погугли команды связанные с матрицами. Последний раз редактировалось Вадим Буренков; 04.07.2010 в 20:50. |
|
![]() |
![]() |
![]() |
#9 | ||
Студент, не
Старожил
Регистрация: 29.01.2009
Сообщений: 2,067
|
![]()
У меня некоторые проблемы со свободным временем... Я ещё только начинаю с OGL разбираться...
![]() Пытался начать изучение с одних видеоуроков, но думаю зря я так начал... Не оттуда ли вы модули используете для работы с OGL (dglOpenGL и Textures)? Один знакомый недавно сказал что они изначально кривые... ![]() Цитата:
![]() Цитата:
А при растягивании надо как-то вот так делать... Кажется..... ![]() Код:
I am the First of Cyber Evolution...
I am the First to Program your Future... |
||
![]() |
![]() |
![]() |
#10 |
Участник клуба
Регистрация: 06.03.2009
Сообщений: 1,346
|
![]()
Возьмите любой опенсорс движок на OpenGL и посмотрите как там проводится инициализация/рисование. Я только так могу в OpenGL разбираться
![]() |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
OpenGL...Игры без тормозов...Как?! | saggy | Мультимедиа в Delphi | 10 | 03.07.2010 12:25 |
разработка игры "Реверси". Имеется код этой игры на С++ | CD-RW | Помощь студентам | 0 | 28.03.2010 00:13 |
Хочу начать писать игры на OpenGL | lionbeast | Помощь студентам | 2 | 02.10.2009 11:04 |
OpenGL | Paul_AG | C++ Builder | 20 | 14.09.2009 19:07 |
OpenGL в С# | LeGAl | Общие вопросы .NET | 0 | 30.04.2009 02:15 |