Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > 3D-программирование

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 09.01.2007, 23:59   #1
DRAG
Знающий
 
Аватар для DRAG
 
Регистрация: 12.11.2006
Сообщений: 252
Написано 31 полезных сообщений
(для 73 пользователей)
Ashadow & Шейдеры

Можно ли в Ashadow делать Шейдеры ?
Если можно , то подскажите как . --=={{{ ПЛИЗ }}}==--
(Offline)
 
Ответить с цитированием
Старый 10.01.2007, 00:43   #2
jimon
 
Сообщений: n/a
Re: Ashadow & Шейдеры

как я помню можно
хотя я досих пор мало че знаю об етой библе

а ты хоть знаеш что такое шейдер ?
по учи лутче HLSL....
 
Ответить с цитированием
Старый 10.01.2007, 00:46   #3
DRAG
Знающий
 
Аватар для DRAG
 
Регистрация: 12.11.2006
Сообщений: 252
Написано 31 полезных сообщений
(для 73 пользователей)
Re: Ashadow & Шейдеры

Шейдер ето вродебы материал .

А HLSL помоему только на C++
(Offline)
 
Ответить с цитированием
Старый 10.01.2007, 01:02   #4
alcoSHoLiK
Дэвелопер
 
Регистрация: 17.01.2006
Сообщений: 1,512
Написано 78 полезных сообщений
(для 110 пользователей)
Re: Ashadow & Шейдеры

Если шейдер - это материал, тогда советую прочитать сначала вот это:
http://www.boolean.name/showthread.php?t=1358

Если не убедил, тогда вот это:
http://blitz.pp.ru/forum/showthread.php?s=&threadid=119

Успехов!
(Offline)
 
Ответить с цитированием
Старый 10.01.2007, 01:06   #5
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: Ashadow & Шейдеры

шейдер - это микропрограмка, помоему. которая выполняется для каждой вершины/пикселя.
вроде на дх7 шейдеры не работают.
(Offline)
 
Ответить с цитированием
Старый 10.01.2007, 05:46   #6
НУБ
Бывалый
 
Регистрация: 22.09.2005
Сообщений: 634
Написано 36 полезных сообщений
(для 102 пользователей)
Re: Ashadow & Шейдеры

DRAG
А если было б можно, чем это тебе помогло бы?
(Offline)
 
Ответить с цитированием
Старый 10.01.2007, 11:37   #7
jimon
 
Сообщений: n/a
Re: Ashadow & Шейдеры

ну вот к примеру простенький особо ничего не делающий шейдер из примеров irrlichtа
юзается HLSL
других языков кроме асма и Cg для шейдеров не используют вообще

// part of the Irrlicht Engine Shader example.
// These simple Direct3D9 pixel and vertex shaders will be loaded by the shaders
// example. Please note that these example shaders don't do anything really useful. 
// They only demonstrate that shaders can be used in Irrlicht.

//-----------------------------------------------------------------------------
// Global variables
//-----------------------------------------------------------------------------
float4x4 mWorldViewProj;  // World * View * Projection transformation
float4x4 mInvWorld;       // Inverted world matrix
float4x4 mTransWorld;     // Transposed world matrix
float3 mLightPos;         // Light position
float4 mLightColor;       // Light color


// Vertex shader output structure
struct VS_OUTPUT
{
	float4 Position   : POSITION;   // vertex position 
	float4 Diffuse    : COLOR0;     // vertex diffuse color
	float2 TexCoord   : TEXCOORD0;  // tex coords
};


VS_OUTPUT vertexMain( in float4 vPosition : POSITION,
                      in float3 vNormal   : NORMAL,
                      float2 texCoord     : TEXCOORD0 )
{
	VS_OUTPUT Output;

	// transform position to clip space 
	Output.Position = mul(vPosition, mWorldViewProj);
	
	// transform normal 
	float3 normal = mul(vNormal, mInvWorld);
	
	// renormalize normal 
	normal = normalize(normal);
	
	// position in world coodinates
	float3 worldpos = mul(mTransWorld, vPosition);
	
	// calculate light vector, vtxpos - lightpos
	float3 lightVector = worldpos - mLightPos;
	
	// normalize light vector 
	lightVector = normalize(lightVector);
	
	// calculate light color 
	float3 tmp = dot(-lightVector, normal);
	tmp = lit(tmp.x, tmp.y, 1.0);
	
	tmp = mLightColor * tmp.y;
	Output.Diffuse = float4(tmp.x, tmp.y, tmp.z, 0);
	Output.TexCoord = texCoord;
	
	return Output;
}



// Pixel shader output structure
struct PS_OUTPUT
{
    float4 RGBColor : COLOR0;  // Pixel color    
};


sampler2D tex0;
	
PS_OUTPUT pixelMain( float2 TexCoord : TEXCOORD0,
                     float4 Position : POSITION,
                     float4 Diffuse  : COLOR0 ) 
{ 
	PS_OUTPUT Output;

	float4 col = tex2D( tex0, TexCoord );  // sample color map
	
	// multiply with diffuse and do other senseless operations
	Output.RGBColor = Diffuse * col;
	Output.RGBColor *= 4.0;

	return Output;
}
вот как я помню шейдер для cartoon еффекта
на асме

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

                    "!!ARBvp1.0\n"
                    "OPTION ARB_position_invariant;"
                    "PARAM c0 = { 0, 0, 0, 0 };"
                    "TEMP R0, R1;"
                    "ATTRIB v18 = vertex.normal;"
                    "PARAM s18 = state.light[" << _lightnum << "].position;"
                    "PARAM s16 = state.light[" << _lightnum << "].diffuse;"
                    "PARAM s1 = state.material.diffuse;"
                    "PARAM s631[4] = { state.matrix.modelview.invtrans };"
                    "MOV R0, s1;"
                    "MUL result.color.front.primary, R0, s16;"
                    "DP4 R0.x, s18, s18;"
                    "RSQ R0.x, R0.x;"
                    "MUL R1, R0.x, s18;"
                    "DP4 R0.x, s631[0], v18;"
                    "DP4 R0.y, s631[1], v18;"
                    "DP4 R0.z, s631[2], v18;"
                    "DP4 R0.w, s631[3], v18;"
                    "DP4 R0.x, R1, R0;"
                    "MAX result.texcoord[0].x, c0.x, R0.x;"
                    "END";
 
Ответить с цитированием
Старый 10.01.2007, 13:40   #8
DRAG
Знающий
 
Аватар для DRAG
 
Регистрация: 12.11.2006
Сообщений: 252
Написано 31 полезных сообщений
(для 73 пользователей)
Re: Ashadow & Шейдеры

Чтобы делать на HLSL надо хотяб директ выучить , а я его пока не знаю !
А асамблер ето вобще тёмный лес для меня !
Я думаю на барсике будет проще .
(Offline)
 
Ответить с цитированием
Старый 10.01.2007, 13:53   #9
jimon
 
Сообщений: n/a
Re: Ashadow & Шейдеры

шейдер пишется на HLSL или на Asm или на Cg
другие языки использовать не получится вообще
 
Ответить с цитированием
Старый 10.01.2007, 15:07   #10
DRAG
Знающий
 
Аватар для DRAG
 
Регистрация: 12.11.2006
Сообщений: 252
Написано 31 полезных сообщений
(для 73 пользователей)
Re: Ashadow & Шейдеры

Я думаю что HLSL совместим с С++ .
Вроде все игры пишут на C++ и используют в них шейдеры .
(Offline)
 
Ответить с цитированием
Старый 10.01.2007, 15:11   #11
jimon
 
Сообщений: n/a
Re: Ashadow & Шейдеры

HLSL ето отдельный язык программирования !
шейдер ето ваще отдельная программа которая никак не связана с программой игры !

если игра выполняется на процесоре
то шейдер выполняется на видеокарте

почитай http://en.wikipedia.org/wiki/Shader
 
Ответить с цитированием
Старый 10.01.2007, 15:15   #12
DRAG
Знающий
 
Аватар для DRAG
 
Регистрация: 12.11.2006
Сообщений: 252
Написано 31 полезных сообщений
(для 73 пользователей)
Re: Ashadow & Шейдеры

Ну а как всё ето работает ?
Сама программа игры вызывает программу с шейдером ? Или как ?
(Offline)
 
Ответить с цитированием
Старый 10.01.2007, 16:27   #13
jimon
 
Сообщений: n/a
Re: Ashadow & Шейдеры

программы с шейдером нету шейдер и есть программа
вопервых шейдер компилируется для текущей видеокарты (обычно в процессе загрузки левела)
ето надо потому что у разных фирм разные подходы в работе шейдеров
потом ета хрень передается видеокарте и вызывается в процессе рендера
 
Ответить с цитированием
Старый 10.01.2007, 16:56   #14
DRAG
Знающий
 
Аватар для DRAG
 
Регистрация: 12.11.2006
Сообщений: 252
Написано 31 полезных сообщений
(для 73 пользователей)
Re: Ashadow & Шейдеры

Теперь понятно
(Offline)
 
Ответить с цитированием
Старый 10.01.2007, 19:36   #15
Freestyler
AnyKey`щик
 
Регистрация: 12.11.2006
Сообщений: 5
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Ashadow & Шейдеры

А Ашадоу юзает только 7-ой дирекс? А всякие эфекты типа рефракшен, рефлекшн, бамп, карты нормалей, это все без шейдеров?
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Xors3D. Шейдеры. Урок первый Knightmare Xors3D 186 21.01.2015 13:41
Шейдеры pax Наш форум 14 25.10.2009 22:16
Xors шейдеры Spy4433 Xors3D 3 28.08.2009 17:27
Типа шейдеры... :-) L.D.M.T. 3D-программирование 1 14.02.2009 13:19
Ashadow John007128 3D-программирование 1 25.05.2006 11:37


Часовой пояс GMT +4, время: 16:14.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com