Elite Games - Свобода среди звезд!
.
ВНИМАНИЕ!
Наша конференция посвящена космической тематике и компьютерным играм.
Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!

  » HELP кто знает GL | страница 1
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

Поиск | Правила конференции | Фотоальбом | Регистрация | Список пилотов | Профиль | Войти и проверить личные сообщения | Вход

   Страница 1 из 1
 
Поиск в этой теме:
Канал Игры Мечты: «HELP кто знает GL»
himem
 210 EGP


Репутация: 24
Сообщения: 343
Откуда: Дзержинск- Нижегородский
Зарегистрирован: 24.01.2004
glGenTextures(1, &texID);
glBindTexture(GL_TEXTURE_2D, texID);
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR_MIPMAP_LINEAR);
glTexImage2D(GL_TEXTURE_2D, 0, type, width, height, 0, type, GL_UNSIGNED_BYTE, imageData);
//gluBuild2DMipmaps(GL_TEXTURE_2D, type, width, height, type, GL_UNSIGNED_BYTE, imageData);

Почему glTexImage работает а gluBuild2DMipmaps нет Расстроен ( вернее - возвращает 0 ( типа всё ОК Вау! ) а на следующей команде (return) коруптится Ух ты!.. (This code has called into another function.When that function is finished,this is the next ststement that will be executed. Совсем запутался... ) c надписью Unhandled exception at 0x69336532 in demo.exe: 0xC0000005: Access violation reading location 0x00000000. Расстроен

Плиз, кто может - поможите, а то я уже всю голову сломал Совсем запутался...
_________________
-Что ты чувствуешь став богатым?
-Опустошенность.
-Да,ты подойдешь для Темного Колеса.Это точно!
    Добавлено: 20:34 01-10-2004   
Kalarin
 220 EGP


Репутация: 21
Сообщения: 883

Зарегистрирован: 15.06.2003
Access violation - испорченный стек наверное. Приведи полный текст функции, можно мейлом.

Хмм..

The gluBuild2DMipmaps function creates 2-D mipmaps.

int gluBuild2DMipmaps( GLenum target, GLint components,
GLint width, GLint height, GLenum format,
GLenum type, const void *data );

Parameters
target - The target texture. Must be GL_TEXTURE_2D.
components - The number of color components in the texture. Must be 1, 2, 3, or 4.
width, height - The width and height, respectively, of the texture image.
format - The format of the pixel data. Must be one of the following: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_RGBA, GL_BGR_EXT, GL_BGRA_EXT, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
type - The data type for data. Must be one of the following: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, or GL_FLOAT.
data - A pointer to the image data in memory.

У тебя я смотрю components и format - одинаковы. Разве это верно? Судя по :
---------gl.h--------------
/* PixelFormat */
#define GL_COLOR_INDEX 0x1900
#define GL_STENCIL_INDEX 0x1901
#define GL_DEPTH_COMPONENT 0x1902
#define GL_RED 0x1903
#define GL_GREEN 0x1904
#define GL_BLUE 0x1905
#define GL_ALPHA 0x1906
#define GL_RGB 0x1907
#define GL_RGBA 0x1908
#define GL_LUMINANCE 0x1909
#define GL_LUMINANCE_ALPHA 0x190A
----------------------------
наверняка нет. Странно, что у тебя пред.функция работает. Там поле format у тебя так же неверно заполнено.
    Добавлено: 17:09 02-10-2004   
himem
 210 EGP


Репутация: 24
Сообщения: 343
Откуда: Дзержинск- Нижегородский
Зарегистрирован: 24.01.2004
У мну (в офиц переводе 3-го изд РедБука) написано internalFormat(components Улыбка ) может быть равен GL_RGBA и format - тож(кста - чёто у тя в components - 1,2,3,4 и всё? У меня 1,2,3,4 и ищо 38 переменных Подозрение. ) и GLU 1.3
кусок сорца отправляю Улыбка
_________________
-Что ты чувствуешь став богатым?
-Опустошенность.
-Да,ты подойдешь для Темного Колеса.Это точно!
    Добавлено: 19:44 03-10-2004   
Kalarin
 220 EGP


Репутация: 21
Сообщения: 883

Зарегистрирован: 15.06.2003
Моя инфа - MSDN от Visual Studio.NET. Подмигиваю Я конечно не знаю, на чем ты пишешь, но различия оччень странны. Я специально залез в gl.h - MSDN не соврал. А на чем интерестно ты действительно это пишешь?
    Добавлено: 12:33 04-10-2004   
himem
 210 EGP


Репутация: 24
Сообщения: 343
Откуда: Дзержинск- Нижегородский
Зарегистрирован: 24.01.2004
Цитата:
А на чем интерестно ты действительно это пишешь?

VC.NET2003 - тока он у мя без мсдна.
А пользуюсь:
OpenGL.Офиц. руководство программиста. Ву,Нейдер,Девис,Шрайнер Third Edition
OpenGL.Официальный справочник. Дейв Шрайнер Third Edition
Издано - ООО"ДиаСофт" 2002г. (www.diasoft.kiev.ua) - тока я не на сайте покупал ( в магазине достались... случайно Подмигиваю )
_________________
-Что ты чувствуешь став богатым?
-Опустошенность.
-Да,ты подойдешь для Темного Колеса.Это точно!
    Добавлено: 00:49 05-10-2004   
Ur Quan
 510 EGP


Рейтинг канала: 1(5)
Репутация: 86
Сообщения: 728
Откуда: Арк-а-Зной
Зарегистрирован: 25.11.2003
Странно у меня вот такая констукция работает:

glGenTextures( Length(TexObj), @TexObj);

glBindTexture( GL_TEXTURE_2D, TexObj[TextureNumber]);
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);

glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);

gluBuild2DMipmaps(GL_TEXTURE_2D, GL_RGBA, biWidth, biHeight, GL_RGBA, GL_UNSIGNED_BYTE, DataA);


Была проблема с gluBuild2DMipmaps, пока не разобрался, что в дельфовых заголовках она неправильно описана (один в один соответствует gluBuild1DMipmaps):
function gluBuild2DMipmaps (target: GLenum; components, width: GLint; format, atype: GLenum; data: Pointer): Integer; stdcall;

вместо:
function gluBuild2DMipmaps(Target: GLenum; Components, Width, Height: GLint; Format, atype: GLenum; Data: Pointer): GLint; stdcall;
_________________
Рад видеть тебя на борту. Здесь Дом Свободы — можешь плевать на ковер и называть кота ублюдком.
    Добавлено: 21:48 05-10-2004   
himem
 210 EGP


Репутация: 24
Сообщения: 343
Откуда: Дзержинск- Нижегородский
Зарегистрирован: 24.01.2004
2Ur Quan
Легче не стало - пробовал и с glu 1.1 и 1.3 - всё верно описано Расстроен
_________________
-Что ты чувствуешь став богатым?
-Опустошенность.
-Да,ты подойдешь для Темного Колеса.Это точно!
    Добавлено: 12:56 07-10-2004   
Ur Quan
 510 EGP


Рейтинг канала: 1(5)
Репутация: 86
Сообщения: 728
Откуда: Арк-а-Зной
Зарегистрирован: 25.11.2003
А у тебя какой тип данных (Type) GL_RGB или GL_RGBА?
Может у тебя данных в imageData меньше чем запрашиваешь?
Напр. imageData = width * height * 3 т.е. GL_RGB, а пытаешься прочитать GL_RGBА т.е. imageData = width * height * 4? Озадачен
_________________
Рад видеть тебя на борту. Здесь Дом Свободы — можешь плевать на ковер и называть кота ублюдком.
    Добавлено: 01:21 09-10-2004   
himem
 210 EGP


Репутация: 24
Сообщения: 343
Откуда: Дзержинск- Нижегородский
Зарегистрирован: 24.01.2004
2Ur Quan
Вроде как 512*512*4=1048576 байт - т.е. GL_RGBA - всё прально
Тока auxDIBImageLoad(из GLAUXа) читает в GL_RGB( как я понял) потом енто дело преобразуется из GL_RGB(512*512*3) в GL_RGBA(512*512*4) простым чтением из одной области памяти в другую, выделенную malloc(512*512*4) так : пересылка 3 байт, пересылка NULL, пересылка след. трёх байт, и т.д. ЭТО ВАЩЕ ДОЛЖНО РАБОТАТЬ? Подозрение. И как узнать размер данных расположенных по *imageData ( или после чтения из файла) - что ли 512*512*ColorRange? Ух ты!..
_________________
-Что ты чувствуешь став богатым?
-Опустошенность.
-Да,ты подойдешь для Темного Колеса.Это точно!
    Добавлено: 00:07 10-10-2004   
Dark Archon
 231 EGP


Репутация: 56
Сообщения: 389
Откуда: Moscow Federation
Зарегистрирован: 27.05.2004
Такая кака точно случается, когда вместо GL_RGB используется GL_RGBA и именно по тому, что компонентов цвета меньше чем указано. Однако, при таком раскладе вылетает и первая функция. В общем - проблемная проблема... Сколько раз пользовался этими функциями - ни разу проблем не возникало.
Пока могу посоветовать попробовать 2 вещи:
1) не использовать RGBA
2) не использовать auxDIBImageLoad, а написать свою читалку файлов.

P.S. А какая связь с КИМ?
_________________
   o
_/0\_
 < >  КУ!
    Добавлено: 23:45 10-10-2004   
himem
 210 EGP


Репутация: 24
Сообщения: 343
Откуда: Дзержинск- Нижегородский
Зарегистрирован: 24.01.2004
2Dark Archon
Прамблема не в написании читалки - она проще - де взять формат BMP Расстроен Попалось чёто от делфя - 8 бит ONLY Расстроен и с фразой "в 24 битах может и не быть карты цветов" Разозлен
Можт у тя е формат ВМР - выручишь очень Улыбка
_________________
-Что ты чувствуешь став богатым?
-Опустошенность.
-Да,ты подойдешь для Темного Колеса.Это точно!
    Добавлено: 20:27 11-10-2004   
Ur Quan
 510 EGP


Рейтинг канала: 1(5)
Репутация: 86
Сообщения: 728
Откуда: Арк-а-Зной
Зарегистрирован: 25.11.2003
Цитата:
пересылка 3 байт, пересылка NULL, пересылка след. трёх байт, и т.д. ЭТО ВАЩЕ ДОЛЖНО РАБОТАТЬ?

Ага. Только наверно не "NULL" а "255".
"0" - точка полностью прозрачна.
"255" - точка не прозрачна.
Для использования GL_RGBA нужно грузить *.TGA (32 битный формат) файлы, для *.BMP или *.JPG запонять 4 байт самому (*.JPG полюбому 24 бита на точку, а *.BMP с другим количеством цветов не использую, заморочек меньше).
Т.е. :
ImageSize := width * height;
For I := 0 to ImageSize - 1 do
Begin
DataA [I * 4] := Data [I * 3]; // перебрасываем данные
DataA [I * 4 + 1] := Data [I * 3 + 1];
DataA [I * 4 + 2] := Data [I * 3 + 2];
DataA [I * 4 + 3] := 255; //прозрачность.
End;

Есть дельфиновый модуль для загрузки *.BMP, *.JPG, *.TGA текстур от Jan Horn.

Вот очень полезный ресурс: http://pmg.org.ru/russian/nehe/index.html
(исходники на сях).
_________________
Рад видеть тебя на борту. Здесь Дом Свободы — можешь плевать на ковер и называть кота ублюдком.
    Добавлено: 21:29 11-10-2004   
Dark Archon
 231 EGP


Репутация: 56
Сообщения: 389
Откуда: Moscow Federation
Зарегистрирован: 27.05.2004
himem :
2Dark Archon
Прамблема не в написании читалки - она проще - де взять формат BMP Расстроен Попалось чёто от делфя - 8 бит ONLY Расстроен и с фразой "в 24 битах может и не быть карты цветов" Разозлен
Можт у тя е формат ВМР - выручишь очень Улыбка


А зачем тебе формат BMP? Я пользуюсь JPG, RAW или всякими пэкаджами, содержащими много текстур этих форматов в одном файле. Начни с RAW, он очень простой, точнее это вообще не формат, а массив, содержащий цветовые составляющие в том или ином порядке. Можно сконвертировать любой прогой, но рекомендую IrfanView (мааленькая, но паверфульная весч). Простейшую функцию для чтения RAW я выслал тебе на мыло. Но если тебе очень хочется читать BMP или что другое - в интернете можно найти все, что душе угодно. Заходишь в google, пишешь BMP file format и получаешь мильён ссылок. Подмигиваю
_________________
   o
_/0\_
 < >  КУ!
    Добавлено: 23:33 11-10-2004   
himem
 210 EGP


Репутация: 24
Сообщения: 343
Откуда: Дзержинск- Нижегородский
Зарегистрирован: 24.01.2004
2Ur Quan
Пасиба за ссылку! Улыбка
2Dark Archon
Цитата:
А зачем тебе формат BMP?

Да я нашёл исходник один - вот ковыряюсь теперь Подмигиваю
_________________
-Что ты чувствуешь став богатым?
-Опустошенность.
-Да,ты подойдешь для Темного Колеса.Это точно!
    Добавлено: 19:08 15-10-2004   
Канал Игры Мечты: «HELP кто знает GL»
 
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: Идет третий этап завершения продолжения окончания начала установки windows...

  » HELP кто знает GL | страница 1
Каналы: Новости | Elite | Elite: Dangerous | Freelancer | Star Citizen | X-Tension/X-BTF | X2: The Threat | X3: Reunion | X3: Terran Conflict | X Rebirth | X4: Foundations | EVE Online | Orbiter | Kerbal Space Program | Evochron | VoidExpanse | Космические Миры | Онлайновые игры | Другие игры | Цифровая дистрибуция | play.elite-games.ru | ЗВ 2: Гражданская война | Творчество | Железо | Игра Мечты | Сайт
   Дизайн Elite Games V5 beta.18