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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.07.2010, 01:01   #21
ZotaC
Форумчанин
 
Аватар для ZotaC
 
Регистрация: 25.06.2009
Сообщений: 163
По умолчанию

В dglOpenGL это - glBindTexture();
ZotaC вне форума Ответить с цитированием
Старый 10.07.2010, 10:23   #22
zumm
БохЪ
Форумчанин
 
Аватар для zumm
 
Регистрация: 30.09.2009
Сообщений: 724
По умолчанию

Цитата:
4. 50% загрузки процессора - это нормально, если я рисую на экране фон и одну текстуру 150х150 в формате tga, с альфа-каналом? Рисую в таймере с интервалом 31 мс.
Это штож Вы там такого накодили? У меня в 2д графике с перерисовкой каждые 20 мс загрузка цп 0-3%.
В планах порабощение вселенной...
zumm вне форума Ответить с цитированием
Старый 11.07.2010, 09:48   #23
ZotaC
Форумчанин
 
Аватар для ZotaC
 
Регистрация: 25.06.2009
Сообщений: 163
По умолчанию

Цитата:
Сообщение от zumm Посмотреть сообщение
Это штож Вы там такого накодили? У меня в 2д графике с перерисовкой каждые 20 мс загрузка цп 0-3%.
Цитата:
Я заметил, что нагрузка процессора на 50% возникает из-за функции LoadTexture();
Я ее в таймере вызывал. Когда сменил на glBindTexture(); то все стало нормально. Теперь так: загрузка текстур при старте программы, а при рисовании - только замена.

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

Возникла еще одна проблема. Если кто-нибудь знает ее решение и почему она возникает, пусть подскажет. Суть такова: делал реализацию текста по книге М.Краснова (простой 2D - текст). Конечно, сразу возникло множество проблем, с половиной из которых я справился. Вот те, решения которых я не знаю:

1. Событие OnCreate у формы реализовано таким образом: сначала идет установка формата пикселей, а потом - загрузка текстур (LoadTexture(); ) После многократных попыток вывести текст я понял, что он не выводится из-за функций загрузки текстур (ПОЧЕМУ???), но не всех, а только тех, которые загружают текстуры внутри модуля:

Код:
Constructor TSButtons.Create(X, Y: Integer);
var
  i: Byte;
begin
  ALeft := X;
  ATop := Y;
  ANum := 0;
  for i := 0 to 2 do
    LoadTexture(IntToStr(i) + '.tga', FBmp[i], False);
end;
FBmp: glUInt - поле класса TSButtons. Текстуры загружаются в поле, потому что если вместо него поставить ABmp (свойство), то выскочит ошибка. Опять же, непонятно, почему.

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

2. Не получается установить цвет шрифта. Из книги ясно, что размер и имя шрифта он берет из текущего шрифта формы. Но цвет он оттуда не берет.

Последний раз редактировалось ZotaC; 11.07.2010 в 11:30.
ZotaC вне форума Ответить с цитированием
Старый 14.07.2010, 20:00   #24
ZotaC
Форумчанин
 
Аватар для ZotaC
 
Регистрация: 25.06.2009
Сообщений: 163
По умолчанию

Все разбираюсь с той проблемой. Еще немного похимичил, и получилось так: у меня в таймере рисуется фон, затем кнопки меню, а затем - текст на этих кнопках. Так текст не отображается. Я решил поменять: сделал, чтобы рисовался фон, потом текст - и уже на нем кнопки (полупрозрачные) - текст стал отображаться. Кто мне объяснит, дураку, почему из-за какой-то перестановки строк происходит такое? Мне совершенно не подходит рисование текста под кнопками: их там почти не видно.

P.S. Убрал альфа-канал в изображении кнопок, и текст стал выводиться. Опять же, непонятно. Если, например, с альфа-каналом сделать фон, то текст нормально выводится.

Последний раз редактировалось ZotaC; 14.07.2010 в 20:06.
ZotaC вне форума Ответить с цитированием
Старый 19.08.2010, 15:22   #25
.pixel
c++, dx/ogl
Форумчанин
 
Аватар для .pixel
 
Регистрация: 10.11.2008
Сообщений: 131
По умолчанию

Доброго времени суток форумчане!
Дабы не засорять форум очередной дублирующей темой, спрошу тут.))

У меня вопрос: как 2d аркаде построенной на основе клеток дыбится плавного скроллинга карты/персонажа?
“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 вне форума Ответить с цитированием
Старый 19.08.2010, 18:29   #26
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Цитата:
как 2d аркаде построенной на основе клеток дыбится плавного скроллинга карты/персонажа?
Двигать камеру не по клеткам а по пикселам.
Вадим Буренков вне форума Ответить с цитированием
Старый 19.08.2010, 19:07   #27
.pixel
c++, dx/ogl
Форумчанин
 
Аватар для .pixel
 
Регистрация: 10.11.2008
Сообщений: 131
По умолчанию

Я об этом тоже было подумал… glOrtho. Хотя те примеры, которые я просматривал, двигали карту посредством «сдвига» области прорисовки массива + пиксельное смещение. Буду пытать камеру теперь. Спасибо)
“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 вне форума Ответить с цитированием
Старый 24.08.2010, 23:34   #28
.pixel
c++, dx/ogl
Форумчанин
 
Аватар для .pixel
 
Регистрация: 10.11.2008
Сообщений: 131
По умолчанию

Аккумулятор текстурных ресурсов. АТР.
В голове крутится идея грузить ресурсы в общий «аккумулятор/сборщик» дабы потом связывать «классы» с нужными «ресами» и использовать их.

АТР. По идее должен загружать необходимый минимум текстур при инициализации приложения для начальной работы. В последствии догрузкой можно и (нужно) управлять. Либо как вариант, если текстур не так много – вообще все грузить)

Собственно вопрос: здешние светлые головы озадачивались на сию тему? Может быть, есть простые примеры реализации оного?)
“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 вне форума Ответить с цитированием
Старый 27.08.2010, 12:28   #29
ZotaC
Форумчанин
 
Аватар для ZotaC
 
Регистрация: 25.06.2009
Сообщений: 163
По умолчанию

Здравствуйте. Кто-нибудь знает, как в OpenGL считывать текстуры из потока? Что-то вроде LoadTexture, только чтобы читать не из файла, а из потока. Все равно, что у TBitmap - LoadFromStream.
ZotaC вне форума Ответить с цитированием
Старый 27.08.2010, 14:29   #30
.pixel
c++, dx/ogl
Форумчанин
 
Аватар для .pixel
 
Регистрация: 10.11.2008
Сообщений: 131
По умолчанию

Цитата:
Кто-нибудь знает, как в OpenGL считывать текстуры из потока?
Первый раз прочел - с полотка, и «озодачилсо» xD))

По идее glTexImage2D в последнем параметре требует указатель на растровые данные, указанного формата… и ей неважно по идее должно быть, откуда получен указатель на них… то есть, если попытаться установить указатель на начало таких данных в потоке… то можно попытаться скормить ей и растр из потока. А следующая картинка тогда должна находиться по смешению +width*height*bpp мну так, кажется)
“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 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 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