Initial commit: ROW Client source code
Game client codebase including: - CharacterActionControl: Character and creature management - GlobalScript: Network, items, skills, quests, utilities - RYLClient: Main client application with GUI and event handlers - Engine: 3D rendering engine (RYLGL) - MemoryManager: Custom memory allocation - Library: Third-party dependencies (DirectX, boost, etc.) - Tools: Development utilities 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
400
Library/dxx8/samples/Multimedia/Media/water.sha
Normal file
400
Library/dxx8/samples/Multimedia/Media/water.sha
Normal file
@@ -0,0 +1,400 @@
|
||||
//
|
||||
// Water effect
|
||||
// Copyright (c) 2000 Microsoft Corporation. All rights reserved.
|
||||
//
|
||||
|
||||
matrix mID; // Identity transform
|
||||
matrix mENV; // Environment map transform
|
||||
|
||||
texture tFLR; // Floor texture
|
||||
texture tCAU; // Caustic texture
|
||||
texture tENV; // Cubic environment map
|
||||
|
||||
|
||||
//
|
||||
// Technique 0 - One pass
|
||||
//
|
||||
|
||||
technique T0
|
||||
{
|
||||
pass P0
|
||||
{
|
||||
VertexShader = xyz | normal | diffuse | tex1;
|
||||
|
||||
Lighting = True;
|
||||
SpecularEnable = True;
|
||||
|
||||
|
||||
// Stage0
|
||||
ColorOp[0] = SelectArg1;
|
||||
ColorArg1[0] = Texture;
|
||||
AlphaOp[0] = SelectArg2;
|
||||
AlphaArg2[0] = Current;
|
||||
|
||||
MinFilter[0] = Linear;
|
||||
MagFilter[0] = Linear;
|
||||
MipFilter[0] = Point;
|
||||
|
||||
Texture[0] = <tFLR>;
|
||||
TextureTransform[0] = <mID>;
|
||||
TextureTransformFlags[0] = Count2;
|
||||
|
||||
|
||||
// Stage1
|
||||
ColorOp[1] = Add;
|
||||
ColorArg1[1] = Texture;
|
||||
ColorArg2[1] = Current;
|
||||
AlphaOp[1] = SelectArg2;
|
||||
AlphaArg2[1] = Current;
|
||||
|
||||
MinFilter[1] = Linear;
|
||||
MagFilter[1] = Linear;
|
||||
MipFilter[1] = Point;
|
||||
|
||||
Texture[1] = <tCAU>;
|
||||
TextureTransform[1] = <mID>;
|
||||
TextureTransformFlags[1] = Count2;
|
||||
|
||||
|
||||
// Stage2
|
||||
ColorOp[2] = BlendCurrentAlpha;
|
||||
ColorArg1[2] = Texture;
|
||||
ColorArg2[2] = Current;
|
||||
AlphaOp[2] = Disable;
|
||||
|
||||
MinFilter[2] = Linear;
|
||||
MagFilter[2] = Linear;
|
||||
MipFilter[2] = Point;
|
||||
|
||||
Texture[2] = <tENV>;
|
||||
TextureTransform[2] = <mENV>;
|
||||
TextureTransformFlags[2] = Count3;
|
||||
TexCoordIndex[2] = CameraSpaceReflectionVector;
|
||||
|
||||
// Stage3
|
||||
ColorOp[3] = Disable;
|
||||
AlphaOp[3] = Disable;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Technique 1 - Two pass
|
||||
//
|
||||
|
||||
technique T1
|
||||
{
|
||||
pass P0
|
||||
{
|
||||
VertexShader = xyz | normal | diffuse | tex1;
|
||||
|
||||
// Stage0
|
||||
ColorOp[0] = SelectArg1;
|
||||
ColorArg1[0] = Texture;
|
||||
AlphaOp[0] = Disable;
|
||||
|
||||
MinFilter[0] = Linear;
|
||||
MagFilter[0] = Linear;
|
||||
MipFilter[0] = Point;
|
||||
|
||||
Texture[0] = <tFLR>;
|
||||
TextureTransform[0] = <mID>;
|
||||
TextureTransformFlags[0] = Count2;
|
||||
|
||||
|
||||
// Stage1
|
||||
ColorOp[1] = Add;
|
||||
ColorArg1[1] = Texture;
|
||||
ColorArg2[1] = Current;
|
||||
AlphaOp[1] = Disable;
|
||||
|
||||
MinFilter[1] = Linear;
|
||||
MagFilter[1] = Linear;
|
||||
MipFilter[1] = Point;
|
||||
|
||||
Texture[1] = <tCAU>;
|
||||
TextureTransform[1] = <mID>;
|
||||
TextureTransformFlags[1] = Count2;
|
||||
|
||||
|
||||
// Stage2
|
||||
ColorOp[2] = Disable;
|
||||
AlphaOp[2] = Disable;
|
||||
}
|
||||
|
||||
|
||||
pass P1
|
||||
{
|
||||
SrcBlend = One;
|
||||
DestBlend = InvSrcAlpha;
|
||||
|
||||
Lighting = True;
|
||||
SpecularEnable = True;
|
||||
AlphaBlendEnable = True;
|
||||
|
||||
|
||||
// Stage0
|
||||
ColorOp[0] = BlendDiffuseAlpha;
|
||||
ColorArg1[0] = Texture;
|
||||
ColorArg2[0] = Diffuse;
|
||||
AlphaOp[0] = SelectArg2;
|
||||
AlphaArg2[0] = Diffuse;
|
||||
|
||||
MinFilter[0] = Linear;
|
||||
MagFilter[0] = Linear;
|
||||
MipFilter[0] = Point;
|
||||
|
||||
Texture[0] = <tENV>;
|
||||
TextureTransform[0] = <mENV>;
|
||||
TextureTransformFlags[0] = Count3;
|
||||
TexCoordIndex[0] = CameraSpaceReflectionVector;
|
||||
|
||||
|
||||
// Stage1
|
||||
ColorOp[1] = Disable;
|
||||
AlphaOp[1] = Disable;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Technique 2 - Three pass
|
||||
//
|
||||
|
||||
technique T2
|
||||
{
|
||||
pass P0
|
||||
{
|
||||
VertexShader = xyz | normal | diffuse | tex1;
|
||||
|
||||
// Stage0
|
||||
ColorOp[0] = SelectArg1;
|
||||
ColorArg1[0] = Texture;
|
||||
AlphaOp[0] = Disable;
|
||||
|
||||
MinFilter[0] = Linear;
|
||||
MagFilter[0] = Linear;
|
||||
MipFilter[0] = Point;
|
||||
|
||||
Texture[0] = <tFLR>;
|
||||
TextureTransform[0] = <mID>;
|
||||
TextureTransformFlags[0] = Count2;
|
||||
|
||||
// Stage1
|
||||
ColorOp[1] = Disable;
|
||||
AlphaOp[1] = Disable;
|
||||
}
|
||||
|
||||
|
||||
pass P1
|
||||
{
|
||||
SrcBlend = One;
|
||||
DestBlend = One;
|
||||
|
||||
Lighting = False;
|
||||
SpecularEnable = True;
|
||||
AlphaBlendEnable = True;
|
||||
|
||||
|
||||
// Stage0
|
||||
ColorOp[0] = Add;
|
||||
ColorArg1[0] = Texture;
|
||||
ColorArg2[0] = Current;
|
||||
AlphaOp[0] = Disable;
|
||||
|
||||
MinFilter[0] = Linear;
|
||||
MagFilter[0] = Linear;
|
||||
MipFilter[0] = Point;
|
||||
|
||||
Texture[0] = <tCAU>;
|
||||
TextureTransform[0] = <mID>;
|
||||
TextureTransformFlags[0] = Count2;
|
||||
|
||||
|
||||
// Stage1
|
||||
ColorOp[1] = Disable;
|
||||
AlphaOp[1] = Disable;
|
||||
}
|
||||
|
||||
|
||||
pass P2
|
||||
{
|
||||
SrcBlend = One;
|
||||
DestBlend = InvSrcAlpha;
|
||||
|
||||
Lighting = True;
|
||||
SpecularEnable = True;
|
||||
AlphaBlendEnable = True;
|
||||
|
||||
|
||||
// Stage0
|
||||
ColorOp[0] = BlendDiffuseAlpha;
|
||||
ColorArg1[0] = Texture;
|
||||
ColorArg2[0] = Diffuse;
|
||||
AlphaOp[0] = SelectArg2;
|
||||
AlphaArg2[0] = Diffuse;
|
||||
|
||||
MinFilter[0] = Linear;
|
||||
MagFilter[0] = Linear;
|
||||
MipFilter[0] = Point;
|
||||
|
||||
Texture[0] = <tENV>;
|
||||
TextureTransform[0] = <mENV>;
|
||||
TextureTransformFlags[0] = Count3;
|
||||
TexCoordIndex[0] = CameraSpaceReflectionVector;
|
||||
|
||||
|
||||
// Stage1
|
||||
ColorOp[1] = Disable;
|
||||
AlphaOp[1] = Disable;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Technique 3 - One pass, no reflection
|
||||
//
|
||||
|
||||
technique T3
|
||||
{
|
||||
pass P0
|
||||
{
|
||||
VertexShader = xyz | normal | diffuse | tex1;
|
||||
|
||||
Lighting = True;
|
||||
SpecularEnable = True;
|
||||
|
||||
|
||||
// Stage0
|
||||
ColorOp[0] = SelectArg1;
|
||||
ColorArg1[0] = Texture;
|
||||
AlphaOp[0] = Disable;
|
||||
|
||||
MinFilter[0] = Linear;
|
||||
MagFilter[0] = Linear;
|
||||
MipFilter[0] = Point;
|
||||
|
||||
Texture[0] = <tFLR>;
|
||||
|
||||
|
||||
// Stage1
|
||||
ColorOp[1] = Add;
|
||||
ColorArg1[1] = Texture;
|
||||
ColorArg2[1] = Current;
|
||||
AlphaOp[1] = Disable;
|
||||
|
||||
MinFilter[1] = Linear;
|
||||
MagFilter[1] = Linear;
|
||||
MipFilter[1] = Point;
|
||||
|
||||
Texture[1] = <tCAU>;
|
||||
|
||||
|
||||
// Stage2
|
||||
ColorOp[2] = Disable;
|
||||
AlphaOp[2] = Disable;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Technique 4 - Two pass, no reflection
|
||||
//
|
||||
|
||||
technique T4
|
||||
{
|
||||
pass P0
|
||||
{
|
||||
VertexShader = xyz | normal | diffuse | tex1;
|
||||
|
||||
// Stage 0
|
||||
ColorOp[0] = SelectArg1;
|
||||
ColorArg1[0] = Texture;
|
||||
ColorArg2[0] = Diffuse;
|
||||
|
||||
AlphaOp[0] = SelectArg1;
|
||||
AlphaArg1[0] = Texture;
|
||||
AlphaArg2[0] = Diffuse;
|
||||
|
||||
MinFilter[0] = Linear;
|
||||
MagFilter[0] = Linear;
|
||||
MipFilter[0] = Point;
|
||||
|
||||
Texture[0] = <tFLR>;
|
||||
|
||||
|
||||
// Stage 1
|
||||
ColorOp[1] = Disable;
|
||||
AlphaOp[1] = Disable;
|
||||
}
|
||||
|
||||
|
||||
pass P1
|
||||
{
|
||||
SrcBlend = One;
|
||||
DestBlend = One;
|
||||
|
||||
Lighting = True;
|
||||
SpecularEnable = True;
|
||||
AlphaBlendEnable = True;
|
||||
|
||||
|
||||
// Stage 0
|
||||
ColorOp[0] = SelectArg1;
|
||||
ColorArg1[0] = Texture;
|
||||
ColorArg2[0] = Current;
|
||||
|
||||
AlphaOp[0] = SelectArg1;
|
||||
AlphaArg1[0] = Texture;
|
||||
AlphaArg2[0] = Current;
|
||||
|
||||
MinFilter[0] = Linear;
|
||||
MagFilter[0] = Linear;
|
||||
MipFilter[0] = Point;
|
||||
|
||||
Texture[0] = <tCAU>;
|
||||
|
||||
|
||||
// Stage 1
|
||||
ColorOp[1] = Disable;
|
||||
AlphaOp[1] = Disable;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//
|
||||
// Technique 5 - One pass, no reflection, no caustics
|
||||
//
|
||||
|
||||
technique T5
|
||||
{
|
||||
pass P0
|
||||
{
|
||||
VertexShader = xyz | normal | diffuse | tex1;
|
||||
|
||||
Lighting = True;
|
||||
SpecularEnable = True;
|
||||
|
||||
|
||||
// Stage 0
|
||||
ColorOp[0] = SelectArg1;
|
||||
ColorArg1[0] = Texture;
|
||||
ColorArg2[0] = Current;
|
||||
|
||||
AlphaOp[0] = SelectArg1;
|
||||
AlphaArg1[0] = Texture;
|
||||
AlphaArg2[0] = Current;
|
||||
|
||||
MinFilter[0] = Linear;
|
||||
MagFilter[0] = Linear;
|
||||
MipFilter[0] = None;
|
||||
|
||||
Texture[0] = <tFLR>;
|
||||
|
||||
// Stage 1
|
||||
ColorOp[1] = Disable;
|
||||
AlphaOp[1] = Disable;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user