Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.08.2010, 08:21   #1
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию Шейдеры

Какие существуют среды для написания шейдеров на языке HLSL?
Или же можно писать шейдеры просто в "блокноте"?

Последний раз редактировалось _-Re@l-_; 01.08.2010 в 08:24.
_-Re@l-_ вне форума Ответить с цитированием
Старый 01.08.2010, 12:03   #2
Selestis
Форумчанин
 
Аватар для Selestis
 
Регистрация: 21.01.2009
Сообщений: 719
По умолчанию

Я лично пишу в блокноте. Есть специальные проги, например RenderMonkey, там типа сразу смотреть можно результат. Прикольная вещь, но с ней надо разбираться(тем более всё равно всё к блокноту сводится - там только можно лишние параметры вроде текстуры и диффуза ставить, ну и что-то ещё), чаще всего быстрее написать в блокноте и потестить своим проектом.
Изобретатель велосипедов
Selestis вне форума Ответить с цитированием
Старый 01.08.2010, 13:37   #3
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Ясно, спасибо. А вот я заметил, что в основном у всех файлов в которых записан шейдер расширение ".fx".Как его сделать?Или это не важно?
_-Re@l-_ вне форума Ответить с цитированием
Старый 01.08.2010, 13:50   #4
Selestis
Форумчанин
 
Аватар для Selestis
 
Регистрация: 21.01.2009
Сообщений: 719
По умолчанию

Ручками сменить расширение) Они текстовые.
Изобретатель велосипедов
Selestis вне форума Ответить с цитированием
Старый 01.08.2010, 13:53   #5
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

А как?Через переименование не получается.
_-Re@l-_ вне форума Ответить с цитированием
Старый 01.08.2010, 14:00   #6
Selestis
Форумчанин
 
Аватар для Selestis
 
Регистрация: 21.01.2009
Сообщений: 719
По умолчанию

Что внутри-то?
Изобретатель велосипедов
Selestis вне форума Ответить с цитированием
Старый 01.08.2010, 14:13   #7
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Код:
// Произведение матриц
float4x4 matWorldViewProject; 
// Матрица вида
float4x4 matView; 
// Источник света
float4   vecLightDirection;

// Параметры диффузного освещения
static float4 Diffuse = {0.0f, 1.0f, 0.0f, 1.0f};

// Входные данные
struct VS_INPUT
{ 
  float4 Pos: POSITION;   
  float4 Normal: NORMAL;
}; 

// Выходные данные
struct VS_OUTPUT 
{ 
  float4 Pos: POSITION; 
  float4 Diffuse: COLOR;
};

// Основная процедура вершинного шейдера
VS_OUTPUT main(VS_INPUT In)
{ 
  // Результат
  VS_OUTPUT Out = (VS_OUTPUT)0;

  // Вычисляем позицию вершины
  Out.Pos = mul(In.Pos, matWorldViewProject);
  
  vecLightDirection.w = 0.0;
  In.Normal.w = 0.0; 
  
  // Вычисляем направление относительно вида
  vecLightDirection = mul(vecLightDirection, matView);
  // Нормаль
  In.Normal = mul(In.Normal, matWorldViewProject);

  // Вычисляем коэффициент
  float T = dot(vecLightDirection, In.Normal);
  if (T < 0.0) T = 0.0;

  // Расчет освещения вершины
  Out.Diffuse = T * Diffuse;

  // Возвращаем результат 
  return Out; 
}
У меня в принципе при нажатии Переименование расширение не показывается.
А! Нашёл.Нужно было в "Свойства папки" снять флажок "Скрывать расширения файлов". Теперь всё как надо!

Последний раз редактировалось _-Re@l-_; 01.08.2010 в 14:21.
_-Re@l-_ вне форума Ответить с цитированием
Старый 01.08.2010, 14:33   #8
Selestis
Форумчанин
 
Аватар для Selestis
 
Регистрация: 21.01.2009
Сообщений: 719
По умолчанию

Ну вот, как раз это и есть шейдер. Разбирайтесь! =)
Изобретатель велосипедов
Selestis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написал программу, помогите натянуть Шейдеры или как нибудь модифицировать программу WMLite Паскаль, Turbo Pascal, PascalABC.NET 0 16.06.2009 13:57
шейдеры в CPU (вопрос) Vodyanoi Свободное общение 2 25.03.2009 04:36
Шейдеры и ассамблер Элодар Gamedev - cоздание игр: Unity, OpenGL, DirectX 2 03.02.2009 19:15