OpenGL "потеря" текстуры
От: Vlad_  
Дата: 03.11.08 15:18
Оценка:
Есть ли в GL какой нить аналог директа
surface->IsLost( ) == DDERR_SURFACELOST


Проблема в следующем, программа перестает выводить текстуры на экран, после того, как скринсайвер или игра запускались в полноэкранном режиме.
Re: OpenGL "потеря" текстуры
От: nen777w  
Дата: 04.11.08 09:47
Оценка:
Здравствуйте, Vlad_, Вы писали:

V_>Есть ли в GL какой нить аналог директа

V_>
V_>surface->IsLost( ) == DDERR_SURFACELOST
V_>


V_>Проблема в следующем, программа перестает выводить текстуры на экран, после того, как скринсайвер или игра запускались в полноэкранном режиме.


Думаю что с этим вопросом лучше на GameDEV.ru А вообще похоже что проблема у тебя где то, как часто пользуешься glGetError() для диагностики (например на этапе загрузки текстуры)?
Re: OpenGL "потеря" текстуры
От: Phoenics Россия https://sourceforge.net/projects/phengine
Дата: 04.11.08 12:03
Оценка:
Здравствуйте, Vlad_, Вы писали:

V_>Есть ли в GL какой нить аналог директа

V_>
V_>surface->IsLost( ) == DDERR_SURFACELOST
V_>


V_>Проблема в следующем, программа перестает выводить текстуры на экран, после того, как скринсайвер или игра запускались в полноэкранном режиме.


Вероятно Вы при переходе в полноэкарнный режим и обратно пересоздаёте окно, хотя это не обязательно, из-за чего теряете контекст или что-то типа того...
---=== С наилучшими пожеланиями, Phoenics ===---
_
Re[2]: OpenGL "потеря" текстуры
От: Vlad_  
Дата: 04.11.08 13:08
Оценка:
Здравствуйте, Phoenics, Вы писали:

P>Здравствуйте, Vlad_, Вы писали:


V_>>Есть ли в GL какой нить аналог директа

V_>>
V_>>surface->IsLost( ) == DDERR_SURFACELOST
V_>>


V_>>Проблема в следующем, программа перестает выводить текстуры на экран, после того, как скринсайвер или игра запускались в полноэкранном режиме.


P>Вероятно Вы при переходе в полноэкарнный режим и обратно пересоздаёте окно, хотя это не обязательно, из-за чего теряете контекст или что-то типа того...


Если бы сам переходил в полноэкранный, там вопросов бы не было.
Проблема немного в другом, программа в полноэкранный режим не переходит, нет такого функционала.
Программа висит в окне, но если любая другая програма (игра, скринсайвер) запускались в полноэкранном, то в моей программе вывод портится.
glIsTexture, glGetError ошибку не возвращают. Думал по контексту (wgl...Context) ошибку определить, но тоже не получилось.
Вот и ломаю голову, как в gl отлавливать такую ситуацию. На директе проблем не возникало.
Re: OpenGL "потеря" текстуры
От: Рома Мик Россия http://romamik.com
Дата: 05.11.08 09:30
Оценка:
Здравствуйте, Vlad_, Вы писали:

V_>Есть ли в GL какой нить аналог директа

V_>
V_>surface->IsLost( ) == DDERR_SURFACELOST
V_>


V_>Проблема в следующем, программа перестает выводить текстуры на экран, после того, как скринсайвер или игра запускались в полноэкранном режиме.

Попробуй две вещи:
1. Смотреть что возвращает glIsTexture?
2. Или просто всё освобождай/загружай заново при каждой потере/получении фокуса.
Re: OpenGL "потеря" текстуры
От: gmGreen  
Дата: 05.11.08 12:41
Оценка:
Здравствуйте, Vlad_, Вы писали:

V_>Есть ли в GL какой нить аналог директа

V_>
V_>surface->IsLost( ) == DDERR_SURFACELOST
V_>


V_>Проблема в следующем, программа перестает выводить текстуры на экран, после того, как скринсайвер или игра запускались в полноэкранном режиме.



Насколько я знаю OpenGL сама дублирует текстуры в оперативке и восстанавливает их при необходимости. Если этого не происходит, то это очень интересный вопрос Если функция glIsTexture возвращает true и драйвера работают нормально, то могу только посоветовать Direct3D
Re[2]: OpenGL "потеря" текстуры
От: nen777w  
Дата: 06.11.08 09:43
Оценка: :)
G>Насколько я знаю OpenGL сама дублирует текстуры в оперативке и восстанавливает их при необходимости. Если этого не происходит, то это очень G>интересный вопрос

На сколько знаю я драйвер может выгружать в оперативку наименее используемые текстуры.

G>Если функция glIsTexture возвращает true и драйвера работают нормально, то могу только посоветовать Direct3D


Я вот не пойму, обращаешься с вопросом по OpenGL и тут же тебе Direct3D все начинают советовать, скажите на Windows мир сошелся? Других операционных систем не существует?
А между прочим OpenGL это кроссплатформенная библиотека. И игры ID Software работают и под Windows и под MacOSX.
Re[3]: OpenGL "потеря" текстуры
От: gmGreen  
Дата: 07.11.08 08:30
Оценка: -1

Я вот не пойму, обращаешься с вопросом по OpenGL и тут же тебе Direct3D все начинают советовать, скажите на Windows мир сошелся? Других операционных систем не существует?
А между прочим OpenGL это кроссплатформенная библиотека. И игры ID Software работают и под Windows и под MacOSX.


OpenGL это не кроссплатформенная библиотека, а кроссплатформенные header-ы. В реальных приложениях, где кроме вывода треугольников нужно сделать что то ещё, вся эта кроссплатформенность идёт лесом. В плане мультимедийных технологий весь мир таки на Windows сошёлся, причём уже давно и бесповоротно
И не надо тут про ID Software приводить, лучше зайдите в любой магазин торгующими играми, и посмотрите сколько там игр на OpenGL сделано, а сколько на DirectX
Re[4]: OpenGL "потеря" текстуры
От: neFormal Россия  
Дата: 07.11.08 09:29
Оценка:
Здравствуйте, gmGreen, Вы писали:

G>OpenGL это не кроссплатформенная библиотека, а кроссплатформенные header-ы. В реальных приложениях, где кроме вывода треугольников нужно сделать что то ещё, вся эта кроссплатформенность идёт лесом. В плане мультимедийных технологий весь мир таки на Windows сошёлся, причём уже давно и бесповоротно


расскажи это макинтошам

G>И не надо тут про ID Software приводить, лучше зайдите в любой магазин торгующими играми, и посмотрите сколько там игр на OpenGL сделано, а сколько на DirectX


крупные конторы обычно делают 2 вида рендера..
...coding for chaos...
Re[5]: OpenGL "потеря" текстуры
От: gmGreen  
Дата: 07.11.08 09:58
Оценка:
Здравствуйте, neFormal, Вы писали:


расскажи это макинтошам


Что, под Мак есть аналог DirectX который поддерживается ведущими мировыми производителями железа?


крупные конторы обычно делают 2 вида рендера..


Верно. Никакой принципиальной разницы между DirectX и OpenGL нет, весь вопрос толко в юзабилити. ИМХО если вы хотите написать 3D для Windows, то нужно брать DirectX и не выёживаться
Re[6]: OpenGL "потеря" текстуры
От: neFormal Россия  
Дата: 07.11.08 10:45
Оценка:
Здравствуйте, gmGreen, Вы писали:

G>

G>расскажи это макинтошам

G>Что, под Мак есть аналог DirectX который поддерживается ведущими мировыми производителями железа?

мультимедиа и directX — это одно и то же?. о_О

G>

G>крупные конторы обычно делают 2 вида рендера..

G>Верно. Никакой принципиальной разницы между DirectX и OpenGL нет, весь вопрос толко в юзабилити. ИМХО если вы хотите написать 3D для Windows, то нужно брать DirectX и не выёживаться

брать нужно то, что хочется, удобней использовать, знакомо, легко для освоения, дешевле.. а просто брать ДХ — это религия.. +)
...coding for chaos...
Re[7]: OpenGL "потеря" текстуры
От: gmGreen  
Дата: 07.11.08 11:36
Оценка:
Здравствуйте, neFormal, Вы писали:

мультимедиа и directX — это одно и то же?. о_О


Я имел в виду мультимедийные програмные технологии с поддержкой самого нового железа. И здесь у DirectX конкурентов нет(в Windows разумеется)

брать нужно то, что хочется, удобней использовать, знакомо, легко для освоения, дешевле.. а просто брать ДХ — это религия.. +)


Если дома чего написать для себя, то пожалуйста, но в комерческих разработках у DirectX конкурентов нет(в Windows разумеется)
И это не религия, а обычный прагматизм
Re[4]: OpenGL "потеря" текстуры
От: dmSoketov  
Дата: 07.11.08 16:10
Оценка: :)
Здравствуйте, gmGreen, Вы писали:

G>И не надо тут про ID Software приводить, лучше зайдите в любой магазин торгующими играми, и посмотрите сколько там игр на OpenGL сделано

Ну, каг бэ, под PlayStation все сделаны под OpenGL
Re[5]: OpenGL "потеря" текстуры
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 09.11.08 18:15
Оценка: +1
Здравствуйте, dmSoketov, Вы писали:

S>Ну, каг бэ, под PlayStation все сделаны под OpenGL


Ну, "каг бэ"©, под xBox таки DX — так что не показатель Да и GL там весьма своеобразный
[КУ] оккупировала армия.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.