Собственно написав прикрутив кастомный рендер моделек я решил сделать какой шейдерный эффект для моделек, на вскидку вспомнил как я играл в Quake 4 - ходил с рэйлганом, зашел в темное место, и заметил что некоторые части на рэйлгане светяться, позже я узнал что это сделано с помощью отдельной текстуры, и сейчас я уже написал сей эффект в хл.
Эффект в действии - http://pix.academ.org/img/2009/08/3...73611ada57a.jpg
Моделька гипербластера утащена из Quake 4 , причем довольно таки криво, но в ближайшее время исправлю.
Вообщем мне дико интересно - как это фича называется?
__________________
Трагическая новость: Пятеро инженеров Casio умерли от смеха, узнав что Samsung анонсировали часы с заявленным временем работы в 25 часов
Называется эта fullbright pixels. Ну или glow pixels.
Во всех новых рендерах реализуется включением второго текстурного блока и рендерингом glow-текстуры с glBelndFunc( GL_ONE, GL_ONE );
Зачем там нужен шойдер - ума не приложу.
Эта очень старая фича - первое упоминание восходит к Q1.
Я в свое время чуть умом не тронулся, пытясь понять, откуда берется эта самая glow-текстура в Quake1. Оказалось хитрые кармаковцы, поместили fullbright-пиксели в конец общей палитры (конкретно после 224 позиции),
и просто фильтровали текстуру до получения _glow.
Простой, но очень прикольный эффект.
А я только до такого метода додумался . Шейдер простой как апельсин - сначала пиксель умножается на цвет освещенности, потом прибавляется цвет из glow текстуры.
__________________
Трагическая новость: Пятеро инженеров Casio умерли от смеха, узнав что Samsung анонсировали часы с заявленным временем работы в 25 часов
Дядя Миша
какая уже разница? Все равно код вылизан и отлажен. К тому же стандартные средства для меня мягко говоря непонятны.
__________________
Трагическая новость: Пятеро инженеров Casio умерли от смеха, узнав что Samsung анонсировали часы с заявленным временем работы в 25 часов
Дядя Миша я думаю, после того как у меня окончательно сломается комп с AGP-слотом (судя по отзывам моих знакомых, мой последний, если не в мире, то в кругу людей с кем я общаюсь), вопрос работы кода на РиваТНТ перестанет волновать и меня.
разница в том, что твой код не будет работать на RivaTNT.
Самое интересное что она у меня есть , только вот в моих надежных, опытных руках погибли две материнки у которых был AGP под риву(помоему который 1.0) . Наверное я что-то пропустил, но помоему RivaTNT тянет шейдеры через arb_vertex_program/arb_fragment_program, да и вообще - если оптимитизировать то по полной, для Trident TVGA9000 - мега видеокарта с 512 килобайтами памяти
__________________
Трагическая новость: Пятеро инженеров Casio умерли от смеха, узнав что Samsung анонсировали часы с заявленным временем работы в 25 часов