Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с расширением GL_ARB_texture_env_combine 
:(
    Опции темы
Maksitron
Дата 5.7.2009, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 23.2.2009

Репутация: нет
Всего: -3



Ct1 - 1 текстура 
Ct2 - 2 текстура 
Сt3 - маска для этих двух текстур ( черно белая текстура с градацией серого) 
Нужно чтоб на белых областях маски - отображалась 1 текстура а на черных - 2 текстура. 
Не подскажите формулу?  (используя дополнение  GL_ARB_texture_env_combine)

Вот что мне написали на другом форуме:
> Не подскажите формулу? 
a=Ct1 
b=Ct2 
m=Сt3 
r=a*m+b*(1-m) 
> (используя дополнение GL_ARB_texture_env_combine) 
INTERPOLATE_ARB.

В итоге я написал вот этот код. Но у меня почему то выводится не то что хотелось бы (см выше). - не подскажите в чем тут ошибка?
Код

LoadTexture ('Grass_001_512.tga',    Tex_1, FALSE);
    LoadTexture ('Ground_001_512.tga', Tex_2, FALSE);
    LoadTexture ('Earth_mult.tga',           Tex_3, FALSE);

  glPushMatrix;

                        // для Arg0
    glActiveTextureARB ( GL_TEXTURE0_ARB );
    glEnable           ( GL_TEXTURE_2D );
    glBindTexture      ( GL_TEXTURE_2D, Tex_1 );
    glTexEnvi          ( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE );

                        // для Arg1
    glActiveTextureARB ( GL_TEXTURE1_ARB );
    glEnable           ( GL_TEXTURE_2D );
    glBindTexture      ( GL_TEXTURE_2D, Tex_2 );

                        // для Arg2
    glActiveTextureARB ( GL_TEXTURE2_ARB );
    glEnable           ( GL_TEXTURE_2D );
    glBindTexture      ( GL_TEXTURE_2D, Tex_3 );

                        // ставим combine mode
    glTexEnvi          ( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE,  GL_COMBINE_ARB );
    glTexEnvi          ( GL_TEXTURE_ENV, GL_COMBINE_RGB_ARB,   GL_INTERPOLATE_ARB );

                      // ставим Arg0
    glTexEnvi ( GL_TEXTURE_ENV, GL_SOURCE0_RGB_ARB,    GL_PREVIOUS_ARB );
    glTexEnvi ( GL_TEXTURE_ENV, GL_OPERAND0_RGB_ARB,   GL_SRC_COLOR    );

                      // ставим Arg1
    glTexEnvi ( GL_TEXTURE_ENV, GL_SOURCE1_RGB_ARB,    GL_TEXTURE   );
    glTexEnvi ( GL_TEXTURE_ENV, GL_OPERAND1_RGB_ARB,   GL_SRC_COLOR );

                      // ставим Arg2 (маска)
    glTexEnvi ( GL_TEXTURE_ENV, GL_SOURCE2_RGB_ARB,    GL_TEXTURE );
    glTexEnvi ( GL_TEXTURE_ENV, GL_OPERAND2_RGB_ARB,   GL_SRC_COLOR    );

  glBegin(GL_QUADS);
    glVertex3f(-5, -5, -0.5);
    glTexCoord2f(0,0);
    glVertex3f(-5,  5, -0.5);
    glTexCoord2f(1,0);
    glVertex3f( 5,  5, -0.5);
    glTexCoord2f(1,1);
    glVertex3f( 5, -5, -0.5);
    glTexCoord2f(0,1);
  glEnd;
  glDisable           ( GL_TEXTURE_2D );
  glPopMatrix;

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.0962 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.