Gamestudio Links
Zorro Links
Newest Posts
Executing Trades on Next Bar Open
by vicknick. 06/13/24 08:51
Zorro Beta 2.61: PyTorch
by jcl. 06/10/24 14:42
New FXCM FIX Plugin
by flink. 06/04/24 07:30
AlpacaZorroPlugin v1.3.0 Released
by kzhao. 05/22/24 13:41
Free Live Data for Zorro with Paper Trading?
by AbrahamR. 05/18/24 13:28
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
1 registered members (monarch), 1,259 guests, and 5 spiders.
Key: Admin, Global Mod, Mod
Newest Members
AemStones, LucasJoshua, Baklazhan, Hanky27, firatv
19059 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
wie schreibt man diese zeilen im litec format?hilfe ! #301867
12/14/09 21:36
12/14/09 21:36
Joined: Nov 2009
Posts: 18
D
Daniel_M Offline OP
Newbie
Daniel_M  Offline OP
Newbie
D

Joined: Nov 2009
Posts: 18
hallo.

wie schreibt man diese zeilen im litec format?

bin für eure hilfe sehr dankbar.

material Water_mat
{
skin1 = wave_bump_bmap;
skin2 = envcube_bmap;
effect = "ocean.fx";
}

action Water()
{
bmap_to_cubemap(Water_mat.skin2);
my.material = Water_mat;
}

Re: wie schreibt man diese zeilen im litec format?hilfe ! [Re: Daniel_M] #301869
12/14/09 21:51
12/14/09 21:51
Joined: May 2007
Posts: 2,043
Germany
Lukas Offline

Programmer
Lukas  Offline

Programmer

Joined: May 2007
Posts: 2,043
Germany
MATERIAL* Water_mat =
{
skin1 = wave_bump_bmap;
skin2 = envcube_bmap;
effect = "ocean.fx";
}

action Water()
{
bmap_to_cubemap(Water_mat.skin2);
my.material = Water_mat;
}

Re: wie schreibt man diese zeilen im litec format?hilfe ! [Re: Lukas] #301872
12/14/09 22:20
12/14/09 22:20
Joined: Nov 2009
Posts: 18
D
Daniel_M Offline OP
Newbie
Daniel_M  Offline OP
Newbie
D

Joined: Nov 2009
Posts: 18
dankeschön :-) habe nur nochmal eine frage.. und zwar.. ich habe einen ocean.fx datei... wenn ich das level starte, wird nur ganz kurz die wassertextur (shader) angezeigt. danach ist sie weg und man sieht nur noch was weiss/graues (textur) wie kann man das beheben?

ist in der .fx datei etwas falsch?

//////////////////////////////////////////////////////////////
/*********************************************************************NVMH3****

File: ocean.fx

Copyright NVIDIA Corporation 2003
TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
*AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.


Comments:
Simple ocean shader with animated bump map and geometric waves
Based partly on "Effective Water Simulation From Physical Models", GPU Gems

******************************************************************************/

float bumpHeight = 1.0;
float2 textureScale = { 10.0, 10.0 };
float2 bumpSpeed = { 0.0, 0.005 };
float fresnelBias = 0.1;
float fresnelPower = 4.0;
float hdrMultiplier = 0.5;
float4 deepColor = {0.0f, 0.0f, 0.1f, 1.0f};
float4 shallowColor = {0.0f, 0.5f, 0.5f, 1.0f};
float4 reflectionColor = {1.0f, 1.0f, 1.0f, 1.0f};

float reflectionAmount = 1.0f;
float waterAmount = 1.0f;

float waveSpeed = 0.3;
float waveAmp = 2.0f;
float waveFreq = 0.1;

float4x4 matWorldViewProj;
float4x4 matWorld;
float4x4 matViewInv;

float4 vecViewPos;
float4 vecTime;

texture mtlSkin1;
texture mtlSkin2;

sampler2D normalMapSampler = sampler_state
{
Texture = (mtlSkin1);
MagFilter = Linear;
MinFilter = Point;
MipFilter = None;
AddressU = Wrap;
AddressV = Wrap;
};

samplerCUBE envMapSampler = sampler_state
{
Texture = (mtlSkin2);
MinFilter = Linear;
MagFilter = Linear;
MipFilter = Linear;
AddressU = Clamp;
AddressV = Clamp;
};


struct a2v
{
float4 Position : POSITION; // in object space
float2 TexCoord : TEXCOORD0;
float3 Normal : NORMAL;
};

struct v2f
{
float4 Position : POSITION; // in clip space
float2 TexCoord : TEXCOORD0;
float3 TexCoord1 : TEXCOORD1; // first row of the 3x3 transform from tangent to cube space
float3 TexCoord2 : TEXCOORD2; // second row of the 3x3 transform from tangent to cube space
float3 TexCoord3 : TEXCOORD3; // third row of the 3x3 transform from tangent to cube space

float2 bumpCoord0 : TEXCOORD4;
float2 bumpCoord1 : TEXCOORD5;
float2 bumpCoord2 : TEXCOORD6;

float3 eyeVector : TEXCOORD7;
};


// wave functions
struct Wave
{
float freq; // 2*PI / wavelength
float amp; // amplitude
float phase; // speed * 2*PI / wavelength
float2 dir;
};

#define NWAVES 2
Wave wave[NWAVES] = {
{ 1.0, 1.0, 0.5, float2(-1, 0) },
{ 2.0, 0.5, 1.3, float2(-0.7, 0.7) }
};

float evaluateWave(Wave w, float2 pos, float t)
{
return w.amp * sin( dot(w.dir, pos)*w.freq + t*w.phase);
}

// derivative of wave function
float evaluateWaveDeriv(Wave w, float2 pos, float t)
{
return w.freq*w.amp * cos( dot(w.dir, pos)*w.freq + t*w.phase);
}

// sharp wave functions
float evaluateWaveSharp(Wave w, float2 pos, float t, float k)
{
return w.amp * pow(sin( dot(w.dir, pos)*w.freq + t*w.phase)* 0.5 + 0.5 , k);
}

float evaluateWaveDerivSharp(Wave w, float2 pos, float t, float k)
{
return k*w.freq*w.amp * pow(sin( dot(w.dir, pos)*w.freq + t*w.phase)* 0.5 + 0.5 , k - 1) * cos( dot(w.dir, pos)*w.freq + t*w.phase);
}

v2f BumpReflectWaveVS(a2v IN)
{
v2f OUT;

wave[0].freq = waveFreq;
wave[0].amp = waveAmp;

wave[1].freq = waveFreq*2.0;
wave[1].amp = waveAmp*0.5;

float4 P = IN.Position;

// sum waves
P.y = 0.0;
float ddx = 0.0, ddy = 0.0;
for(int i = 0; i < NWAVES; i++)
{
P.y += evaluateWave(wave[i], P.xz, vecTime.w*waveSpeed);
float deriv = evaluateWaveDeriv(wave[i], P.xz, vecTime.w*waveSpeed);
ddx += deriv * wave[i].dir.x;
ddy += deriv * wave[i].dir.y;
}

// compute tangent basis
float3 B = float3(1, ddx, 0);
float3 T = float3(0, ddy, 1);
float3 N = float3(-ddx, 1, -ddy);

OUT.Position = mul(P, matWorldViewProj);

// pass texture coordinates for fetching the normal map
OUT.TexCoord.xy = IN.TexCoord*textureScale;

OUT.bumpCoord0.xy = IN.TexCoord*textureScale + vecTime.w*bumpSpeed*0.1;
OUT.bumpCoord1.xy = IN.TexCoord*textureScale*2.0 + vecTime.w*bumpSpeed*0.1*4.0;
OUT.bumpCoord2.xy = IN.TexCoord*textureScale*4.0 + vecTime.w*bumpSpeed*0.1*8.0;

// compute the 3x3 tranform from tangent space to object space
float3x3 objToTangentSpace;

// first rows are the tangent and binormal scaled by the bump scale
objToTangentSpace[0] = bumpHeight * normalize(T);
objToTangentSpace[1] = bumpHeight * normalize(B);
objToTangentSpace[2] = normalize(N);

OUT.TexCoord1.xyz = mul(objToTangentSpace, matWorld[0].xyz);
OUT.TexCoord2.xyz = mul(objToTangentSpace, matWorld[1].xyz);
OUT.TexCoord3.xyz = mul(objToTangentSpace, matWorld[2].xyz);

// compute the eye vector (going from shaded point to eye) in cube space
float4 worldPos = mul(P, matWorld);
OUT.eyeVector = matViewInv[3] - worldPos; // view inv. transpose contains eye position in world space in last row
return OUT;
}


// Pixel Shader
float4 OceanPS20(v2f IN) : COLOR
{
// sum normal maps
half4 t0 = tex2D(normalMapSampler, IN.bumpCoord0.xy)*2.0-1.0;
half4 t1 = tex2D(normalMapSampler, IN.bumpCoord1.xy)*2.0-1.0;
half4 t2 = tex2D(normalMapSampler, IN.bumpCoord2.xy)*2.0-1.0;
half3 N = t0.xyz + t1.xyz + t2.xyz;

half3x3 m; // tangent to world matrix
m[0] = IN.TexCoord1;
m[1] = IN.TexCoord2;
m[2] = IN.TexCoord3;
half3 Nw = mul(m, N.xyz);
Nw = normalize(Nw);

// reflection
float3 E = normalize(IN.eyeVector);
half3 R = reflect(-E, Nw);

half4 reflection = texCUBE(envMapSampler, R);

// hdr effect (multiplier in alpha channel)
reflection.rgb *= (1.0 + reflection.a*hdrMultiplier);

// fresnel - could use 1D tex lookup for this
half facing = 1.0 - max(dot(E, Nw), 0);
half fresnel = fresnelBias + (1.0-fresnelBias)*pow(facing, fresnelPower);

half4 waterColor = lerp(deepColor, shallowColor, facing);

return waterColor*waterAmount + reflection*reflectionColor*reflectionAmount*fresnel;
}

technique PS20
{
pass p0
{
Zenable = true;
ZWriteEnable = true;
CullMode = None;

VertexShader = compile vs_2_0 BumpReflectWaveVS();
PixelShader = compile ps_2_0 OceanPS20();
}
}


Moderated by  HeelX, Lukas, rayp, Rei_Ayanami, Superku, Tobias, TWO, VeT 

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1