Модераторы: Rickert
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> БиллБоард на шейдере 
:(
    Опции темы
TochkaKrovi
Дата 11.2.2007, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Привет! Вопрос такой
Я делаю БиллБоард на шейдере. На шейдеры (HLSL) я перешел недано, помогите плиз.
Спрайты выводятся в правильном положении, но я никак немогу сделать ненужные цвета прозрачными. Постоянно выводятся черные квадраты.
Помогите плиз как сделать так чтоб только сами частици выводились, причем не только фильтровать по ColorKey но и полупрозрачные части чтоб тоже выводились.
Юзаю D3DXEFFECT, ДХ9.с
меш рендерю стандартно:

Код

m_lpShader->SetTechnique( "Technique0" );
m_lpShader->SetMatrix( "MatVP", &matVP );
m_lpShader->SetTexture( "TexDiffuse", m_lpDiffuseTex );
m_lpShader->SetVector( "VecRight", &vecRight );
m_lpShader->SetVector( "VecUp", &vecUp );

..................
Загоняю частици в вертексный буффер
..................

UINT uPasses;
      m_lpShader->Begin( &uPasses, 0 );

      for( UINT uPass = 0; uPass < uPasses; ++uPass )
      {
        m_lpShader->BeginPass( uPass );

        m_d3dDevice->SetFVF( NULL );
        m_d3dDevice->SetVertexDeclaration( m_pDecl );

        m_d3dDevice->SetStreamSource( 0, m_lpVB, 0, sizeof(sShaderVertex) );
        m_d3dDevice->SetIndices( m_lpIB );
        m_d3dDevice->DrawIndexedPrimitive( D3DPT_TRIANGLELIST, 0, 0, Num*4, 0, Num*2 );

        m_lpShader->EndPass();
      }

      m_lpShader->End();


Да и вообще как сделать так чтоб меш выводился полупрозрачным с использованием Альфа текстуры.

Вообще все работает, но беда в том что Альфа текстура просто цвета делает тускнее. А сама частица постоянно выводится на фоне черного квадрата! Что делать? Может код обрамить как то надо в SetRenderState или еще что?
Я уже пробовал АльфаФунк, АльфаБленд, и в шейдере сешивать с альфа текстурой, но все равно все на черном квадрате!!!
PM MAIL   Вверх
arilou
Дата 13.2.2007, 01:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 6
Всего: 61



 Модератор: TochkaKrovi, новая тема создается кнопкой "Новая тема", а не "Ответить" !!!! 

Это сообщение отредактировал(а) arilou - 13.2.2007, 01:20


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование игр, графики и искуственного интеллекта"
Rickert

НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание что новые темы касающиеся новых вопросов создаются кнопкой "Новая тема" а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих тематических темах будут удалены а их авторы, при рецедиве, забанены.

  • Литературу, связанную с программированием графики, обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы связанные с программированием графики и мультимедии на языках С++ и Delphi
  • Вопросы по реализации алгоритмов рассматриваются здесь

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

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


 




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


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

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