Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.11.2010, 13:24   #51
OrcXCyber
Web-программер
Пользователь
 
Аватар для OrcXCyber
 
Регистрация: 05.11.2009
Сообщений: 49
По умолчанию

DGLEngine 1 - DRON's OpenGL OpenSource Engine
попробуйте...
OrcXCyber вне форума Ответить с цитированием
Старый 11.11.2010, 15:37   #52
xrob
Форумчанин
 
Регистрация: 18.10.2010
Сообщений: 419
По умолчанию

Цитата:
Selestis, качество, наверное, сильно портилось? 800x600 => 1024x768, например. А если у игрока широкий экран, то вообще все будет растянуто...
мое имхо здесь:
игра должна показывать одинаковую по пропорциональности
картинку на любом компе.

а если, например на ноуте экран шире и поэтому не растыгивать игровую картинку,
а просто показывать больше - это дискриминация.
получается что пользователь с пропорциями стандартного моника будет
ограничен в правах на графическую информацию.
это не есть хорошо с точки зрения геймдизайна.

я таких игр пока что не встречал...
все что я запускал на ноуте (экран шире чем на монике)
показывалось так же как и на стандартном мониторе,
только с краев оставалось черное пространство.
по-моему это самое разумное решение.
xrob вне форума Ответить с цитированием
Старый 11.11.2010, 18:15   #53
ZotaC
Форумчанин
 
Аватар для ZotaC
 
Регистрация: 25.06.2009
Сообщений: 163
По умолчанию

xrob, тогда вопрос 'Как этого достичь?' остается.

OrcXCyber, то, что вы написали - это же движки? Я имею в виду методы достижения таких результатов на чистом OpenGL.
ZotaC вне форума Ответить с цитированием
Старый 22.11.2010, 01:15   #54
ZotaC
Форумчанин
 
Аватар для ZotaC
 
Регистрация: 25.06.2009
Сообщений: 163
По умолчанию

Здравствуйте, у меня новый вопрос. Какие разрешения экрана, самые распространенные, должны поддерживаться в игре? Из тех, что обязательно должны там присутствовать.
ZotaC вне форума Ответить с цитированием
Старый 22.11.2010, 21:01   #55
.pixel
c++, dx/ogl
Форумчанин
 
Аватар для .pixel
 
Регистрация: 10.11.2008
Сообщений: 131
По умолчанию

Я думаю, данный код вам подскажет) программка перечисляет все доступные режимы…
Код:
#include <windows.h>
#include <iostream>

int main() 
{
	int nMode = 0;
	DEVMODE devMode;

	while( EnumDisplaySettings( NULL, nMode++, &devMode ) )
	{
		if( ChangeDisplaySettings( &devMode, CDS_TEST ) == DISP_CHANGE_SUCCESSFUL )
		{
			std :: cout << devMode.dmPelsWidth 
				<< " x " << devMode.dmPelsHeight 
				<< " x " << devMode.dmDisplayFrequency 
				<< "Hz " << std::endl;
		}
		
	}


	system("pause");

	return 0;
}
“Batch, Batch, Batch:” What Does It Really Mean?
I am a donut! Ask not how many tris/batch, but
rather how many batches/frame!
.pixel вне форума Ответить с цитированием
Старый 23.11.2010, 00:40   #56
ZotaC
Форумчанин
 
Аватар для ZotaC
 
Регистрация: 25.06.2009
Сообщений: 163
По умолчанию

Цитата:
Я думаю, данный код вам подскажет) программка перечисляет все доступные режимы…
Код ничего не подсказал, потому что пока не смог перенести его на Delphi. Впрочем, потом еще попробую.

Скажите, если кто знает: вот у меня полноэкранное приложение, которое, как и должно быть, сворачивается и разворачивается. Почему после разворачивания приложения изображение на экране смещается куда-то вниз?
ZotaC вне форума Ответить с цитированием
Старый 30.12.2010, 21:03   #57
ZotaC
Форумчанин
 
Аватар для ZotaC
 
Регистрация: 25.06.2009
Сообщений: 163
По умолчанию

Здравствуйте, люди. Я знаю, что уже спрашивал, но все равно спрошу еще раз, потому что никак не могу в этом разобраться. Как организовать в OpenGL считывание tga-текстуры с альфа-каналом из потока? Ну или откуда там еще... У меня есть некий файл ресурсов, представляющий из себя простой нетипизированный файл, в который записаны ресурсы - другие файлы. В заголовке есть информация об их имени, размере и смещении, в общем, все как положено.

Чтобы воспроизвести звук из такого архива, используя BASS, нужно просто указать файл архива, смещение и размер воспроизводимого файла. Есть ли что-то наподобии в OpenGL? Та же функция glTexImage2D, которую посоветовал мне чуть ранее .pixel, непонятна для меня. Если она - единственное, что может мне помочь, то хотя бы помогите мне в ней разобраться.
ZotaC вне форума Ответить с цитированием
Старый 30.12.2010, 22:27   #58
Kostia
Участник клуба
 
Аватар для Kostia
 
Регистрация: 21.11.2007
Сообщений: 1,690
По умолчанию

самому написать загрузчик tga очень просто.
http://www.gamedev.ru/code/articles/TGA
или воспользоваться сторонней библиотекой FreeImage или OpenIL(DevIL)
___________
2 xrob, черные полосы только потому, что так настроен драйвер видеокарты!
Выходов в такой ситуации я вижу несколько:
1. Увеличить/уменьшить игровую область а меню сделать независимым от разрешения
2. Замостить лишнее какой либо красивой текстурой или декорациями а игровой экран оставить как есть(http://xbox360media.ign.com/xbox360/...56588_640w.jpg)
3. Делать в оконном режиме

Последний раз редактировалось Kostia; 31.12.2010 в 08:30.
Kostia вне форума Ответить с цитированием
Старый 31.12.2010, 22:13   #59
ZotaC
Форумчанин
 
Аватар для ZotaC
 
Регистрация: 25.06.2009
Сообщений: 163
По умолчанию

Ну а стандартными средствани этого сделать нельзя? Например, в функции LoadTexture (модуль dglTextures, средство, конечно, не стандартное, но...) есть параметр, который отвечает за то, загружается ли текстура из ресурсов. Так ли это? Если да, то из каких ресурсов? Можно ли загрузить картинку из потока (TStream)?
ZotaC вне форума Ответить с цитированием
Старый 07.01.2011, 22:47   #60
ZotaC
Форумчанин
 
Аватар для ZotaC
 
Регистрация: 25.06.2009
Сообщений: 163
По умолчанию

А вот и я. Итак, я возвращаюсь к предыдущей теме с вопросом о том, как загрузить в OpenGL текстуру из архива. Архив - это простой файл, в который последовательно записаны все другие файлы и информация о них (имя, смещение и размер).

Казалось бы, та проблема была решена с помощью функции glTexImage2D (спасибо, .pixel), но вот новая проблема: текстура загружается как-то неправильно: цвета не те, да и сама картинка куда-то смещается. Вот код:

Код:
  glGenTextures(1, @Tex);
  glBindTexture(GL_TEXTURE_2D, Tex);
  glTexParameterF(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
  glTexParameterF(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
  glEnable(GL_BLEND);
  glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 128, 128, 0, GL_RGBA, GL_UNSIGNED_BYTE, Str);
Здесь Tex - это переменная типа glUInt - ссылка на текстуру в памяти, а Str - это переменная типа TStream, а точнее - TStringStream. В нее предварительно загружается весь файл, после чего он, поидее, загружается в видео-память.

Ну, код я сюда понаписал первый попавшийся, какой не жалко было написать, в отчаянии пытаясь сделать все возможное, чтобы программа заработала правильно. И что я вижу после этого? Вот, что я вижу:



Слева - то, что планировалось увидеть, а справа - то, что я увидел.

В чем проблема - понять не могу, но думаю, что ошибка где-то в вызове функции glTexImage2D, потому что я так и не понял, как работают многие ее параметры. Например, все эти виды GL_RGB4, GL_RGB5, GL_RGB8... Как понять, что из этого нужно указать?

В общем, страшное это дело. Кстати, вариант с неправильными данными в потоке нужно отбросить, потому что его я уже проверял.

P.S. Изображение в формате .tga (.bmp я тоже проверял, проблема та же), с альфа-каналом, размера 128х128 (степень двойки, кстати).

--------------------------------------------------------------------------------------------------------

Заменил поток на строку:

Код:
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 128, 128, 0, GL_RGBA, GL_UNSIGNED_BYTE, @Str[1]);
Здесь Str - это уже строка, а не поток, просто обозначение я старое оставил. Теперь смещение в картинке пропало, но цвета все равно выводятся неправильно. Да еще и при загрузке .bmp возникает какая-то ошибка.

Последний раз редактировалось ZotaC; 08.01.2011 в 00:32.
ZotaC вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
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