IPB

Здравствуйте, гость ( Авторизация | Регистрация )

> О техниках
unk1024
сообщениеJun 2 2006, 05:05 AM
Сообщение #1


Матрос
***





Группа: Командор
Сообщений: 137
Регистрация: 17-May 06
Пользователь №: 105


Все мы знаем, что в папке MODULES\ лежат странные файлики под названием Techniques (техники). Кроме того, там лежат еще и шейдеры (правда, я не люблю asm'овские шейдеры, мне больше по вкусу эффекты D3D, но в восьмой версии DirectX, которая применяется в ПКМ, эффектов нет, жаль), но они пока не интересны, хотя с их помощью можно создать новое море.

Для начала давайте посмотрим, как установить существующую технику для моделей локации (см. Locations\Init\*.c). У них есть специальный аттрибут tech, в котором и указывается, какая техника будет использована для рендеринга модели. Устанавливается техника следующим образом:

Код
...
Locations[n].models.always.Имя_объекта.tech = "Имя_техники";
...


Добавить технику можно двумя способами: 1) в уже существующий .sha файл; 2) в новый .sha файл (при этом указывать его наличие нигде не надо, движок сам увидит, что добавилась новая техника и обработает ее.

Продолжение следует...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
unk1024
сообщениеJun 2 2006, 05:19 AM
Сообщение #2


Матрос
***





Группа: Командор
Сообщений: 137
Регистрация: 17-May 06
Пользователь №: 105


Далее идут параметры техники. Их на самом деле много. Вообще, я рекомендую программу MfcTex, когда-то входящую в релиз DirectX SDK я ее выложил в сообщении). Она позволяет устанавливать Rendering States - состояния рендеринга. Техника - это вольное название состояний рендеринга, придуманное Акеллой. Сказочники =)

Запустим программу MfcTex.

Слева мы видим окошко рендеринга, которое можно перевести в полноэкранный режим кнопкой Fullscreen. Справа находятся 3 текстурных стадий (stage). Нумеруются они не с единицы, а с нуля. Не все видеокарты поддерживают более 2 текстурных стадий, моя, например, поддерживает восемь. Там же можно указать три текстуры, с которыми мы будем производить операции.

Сами операции имеют суффик Op. Для канала цвета - это ColorOp, для альфа-канала - AlphaOp. Развернув список операций, можно удивиться, что их много. Поиграйте с ними попозже.

Аргументы для операций соответственно имеют суффикс Arg, причем каждый канал может иметь до трех возможных аргументов. Также поиграйте потом с ними.

Поле Result помогает записать данные не сразу в текстуру, а в промежуточный результат, который именутся Temp. Чтобы использовать его необходимо в следующей стадии указать аргумент Temp.

Слева также находятся два поля. Первый - Diffuse Color - цвет полигона, второе поле - Blend Factor - фактор блендинга между диффузным цветом и альфа-каналом. Слева сверху можно выбрать один из доступных пресетов. Посмотреть результирующий код можно с помощью кнопки View Code, но заметьте, что он будет в формате C++ - Direct3D. Поэтому, конвертировать его в технику Storm нам надо самим.

Вот, смотрите, как это делать.
Прикрепленные файлы
Прикрепленный файл  mfctex.rar ( 163.72 килобайт ) Кол-во скачиваний: 7
 
Go to the top of the page
 
+Quote Post



Closed TopicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

Текстовая версия Сейчас: 21st June 2024 - 10:55 PM
Aurora 3 | Designed by XGhozt © 2007 | XGhozt.com | Background by co2metal.
 
     

.
,