|
Поздравления и пожелания Поздравьте друзей с праздником! |
14.08.2007, 15:57
|
#1
|
Легенда
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений (для 568 пользователей)
|
Не сдержался
В общем, прошу меня поздравить....Я накалякал первый Шейдер! Который ажно текстурировать может )) Это конечно примитив, но для меня это нечто большее Я уже загнал его в XNA, и вроде работает
|
(Offline)
|
|
14.08.2007, 15:59
|
#2
|
Blitz's Shame !!
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений (для 2,013 пользователей)
|
Re: Не сдержался
дай посатреть !!
|
(Offline)
|
|
14.08.2007, 16:57
|
#3
|
Легенда
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений (для 568 пользователей)
|
Re: Не сдержался
Вот пиксельный шейдер: sampler Texture0; float4 ps_main(float2 tex :TEXCOORD0) : COLOR0 { return tex2D(Texture0,tex); } а вот вершинный: float4x4 matViewProjection; float fCosTime0_X; float fSinTime0_X; struct VS_OUTPUT { float4 pos : POSITION; float2 txr : TEXCOORD0; }; VS_OUTPUT vs_main(float4 inPos : POSITION, float2 tex:TEXCOORD0) { VS_OUTPUT Out; Out.pos = mul(inPos,matViewProjection); Out.txr = tex; Out.txr.x += fCosTime0_X; Out.txr.y += fSinTime0_X; return Out; }
|
(Offline)
|
|
14.08.2007, 16:58
|
#4
|
Легенда
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений (для 568 пользователей)
|
Re: Не сдержался
о_О Сорри, с форматированием что-то не то.
|
(Offline)
|
|
14.08.2007, 18:01
|
#5
|
Дэвелопер
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений (для 774 пользователей)
|
Re: Не сдержался
А где скрин то?
Гы. Очепятка.
|
(Offline)
|
|
14.08.2007, 18:25
|
#6
|
Blitz's Shame !!
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений (для 2,013 пользователей)
|
Re: Не сдержался
Во Скрин !!
sampler Texture0; float4 ps_main(float2 tex :TEXCOORD0) : COLOR0 { return tex2D(Texture0,tex); } а вот вершинный: float4x4 matViewProjection; float fCosTime0_X; float fSinTime0_X; struct VS_OUTPUT { float4 pos : POSITION; float2 txr : TEXCOORD0; }; VS_OUTPUT vs_main(float4 inPos : POSITION, float2 tex:TEXCOORD0) { VS_OUTPUT Out; Out.pos = mul(inPos,matViewProjection); Out.txr = tex; Out.txr.x += fCosTime0_X; Out.txr.y += fSinTime0_X; return Out; }
|
(Offline)
|
|
14.08.2007, 19:24
|
#7
|
Легенда
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений (для 568 пользователей)
|
Re: Не сдержался
Я шейдер уже немного улучшил Теперь шейдер смешивает 2 текстуры, и полученный гибрид анимирует, х-координата меняется по косинусу, а у-по синусу...к сожалению, на скрине анимация не заметна.
|
(Offline)
|
|
14.08.2007, 19:57
|
#8
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Re: Не сдержался
Поздравляю. Молодец!
мдя. жаль всю крастоу от анимации через картинку не почувствовать.
|
(Offline)
|
|
14.08.2007, 20:01
|
#9
|
Легенда
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений (для 568 пользователей)
|
Re: Не сдержался
Да какая там красота
|
(Offline)
|
|
18.08.2007, 03:53
|
#10
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Re: Не сдержался
А Blend'ы тоже задействовал?
|
(Offline)
|
|
18.08.2007, 06:17
|
#11
|
Легенда
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений (для 568 пользователей)
|
Re: Не сдержался
Всмысле?
|
(Offline)
|
|
18.08.2007, 07:26
|
#12
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Re: Не сдержался
Ну к примеру смешивание текстуры травы, и облаков, если на облаках бленд Add то будут добавляться к траве цвет пикселя A+B. У тебя как понял сейчас общее арифметическое (A+B)*.5. Ещё Есть Оверлай это A+(B-.5) (С учётом цвет 0.0-1.0 а не 255, если 255 то отнимать 128), при таком наложении (в фотошопе Overlay), картинка будет и засветляться и затемняться. А так же параметр сложения, 0.0 - 1.0, поровну это 0.5. Типо такая формула:
(A*M+B*(-1.0-M))*.5 Это будет общее арифметическое, при этом если M поставить 0.75, то B цвета будет только 25% ну и т.п.
|
(Offline)
|
|
18.08.2007, 07:38
|
#13
|
Легенда
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений (для 568 пользователей)
|
Re: Не сдержался
Ни с чем не перепутал?
Это HLSL. И все делаетсо очень просто - tex2D.
|
(Offline)
|
|
18.08.2007, 07:49
|
#14
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Re: Не сдержался
Тоесть там нету попиксельного сложения? Там не перебираються все пиксели?
|
(Offline)
|
|
18.08.2007, 08:34
|
#15
|
Легенда
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений (для 568 пользователей)
|
Re: Не сдержался
Прежде чем спрашивать, RTFM!
tex2D - HLSL
There are two overloaded tex2D texture lookup functions:- 2D texture lookup
- 2D texture lookup with partial derivatives
2D texture lookup
This function performs a 2D texture lookup.
Syntax
ret tex2D(s, t) Where:
Name In/Out Template Type Component Type Size s in object sampler2D 1 t in vector float 2 ret out vector float 4 2D texture lookup with partial derivatives
This function performs a 2D texture lookup also, but also uses the partial derivatives to help pick the LOD.
Syntax
ret tex2D(s, t, ddx, ddy) Where:
Name In/Out Template Type Component Type Size s in object sampler2D 1 t in vector float 2 ddx in vector float 2 ddy in vector float 2 ret out vector float 4
|
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 13:52.
|