Gamestudio Links
Zorro Links
Newest Posts
Change chart colours
by 7th_zorro. 05/11/24 09:25
Data from CSV not parsed correctly
by dr_panther. 05/06/24 18:50
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
1 registered members (AndrewAMD), 1,199 guests, and 2 spiders.
Key: Admin, Global Mod, Mod
Newest Members
Hanky27, firatv, wandaluciaia, Mega_Rod, EternallyCurious
19051 Registered Users
Previous Thread
Next Thread
Print Thread
Rating: 5
Page 1 of 3 1 2 3
normal mapping auf Levelblocks #36154
11/14/04 20:26
11/14/04 20:26
Joined: Jan 2004
Posts: 513
M
mpde Offline OP
User
mpde  Offline OP
User
M

Joined: Jan 2004
Posts: 513
Hallo Freunde!

hier mal was zum antesten für Euch, ist leider noch nicht ganz fertig aber sollte funktionieren die zugewiesen WAD Texture muss auf Shaded gesetzt werden.
Für bessere Vorschläge bin ich ganz Ohr, viel Spass damit.





/**********************************************************************
bump_diffuse.wdl extra einbinden
***********************************************************************/
var d3d_automaterial = 1; // 2 für Sprites
var d3d_lightres = on;
/////////
bmap normalmap = <hier die Normal Map>; // name der normal Map (mtlSkin1)
material hier Materialname // name der Wad Texture
{
skin1=normalmap;
flags=tangent;
}
///////
// für mehrere wad tex seperate fx
starter bump_fx
{
bmap_to_mipmap(normalmap.skin1);
effect_load(hier Materialname,"bump_diffuse.fx");
}
/**********************************************************************
***********************************************************************/

/// FX Datei extra speichern //

/**********************************************************************
Diffuse Bumpmapping.fx (normalmap auf Levelblocks) ohne dyn.Licht, m.p.
***********************************************************************/
float4x4 matWorld;
float4x4 matWorldViewProj;
vector vecLight; // oder aber LightPos
/////////
texture entSkin1; // Wad Tex
texture entSkin2; // Light,Shadow Tex
texture mtlSkin1; // Normal Map
/////////
float4 BumpHeight = { 1.0, 0.0, 0.0, 0.0};
//float4 LightPos = {1.0, 1.5, 1.0, 0.0 };
/////////
/////////////
technique bump_diffuse
{
pass p0
{

VertexShaderConstant[0] = <matWorld>;
VertexShaderConstant[4] = <matWorldViewProj>;
VertexShaderConstant[8] = <matWorld>;
VertexShaderConstant[12] = <vecLight>;//<LightPos>;
VertexShaderConstant[13] = {1.0, 0.5, 0.7, 0.0}; // 1.0 und 0.5 Lichteinfall
VertexShaderConstant[14] = <BumpHeight>; // 0.7 Gesamthelligkeit
VertexShaderConstant[90] = {1.0,1.0,1.0,1.0};

VertexShader =
asm
{
vs.1.1

dcl_position v0
dcl_normal v3
dcl_color v5
dcl_texcoord1 v7
dcl_tangent v8
dcl_binormal v9
dcl_texcoord0 v10

m4x4 oPos, v0, c4 // Position Screen
mov oT0, v7 // Tex Coords Normal Map
mov oT1, v7 // Tex Coords Diffuse Map
mov oT2, v10 // Tex Coords Light&Shadow
mov oFog, c90.w

mov r0, c12
dp3 r0.w, r0, r0
rsq r0.w, r0.w
mul r0, r0, r0.w

// Licht zu Object
dp3 r2.x, v8, r0 // Tangent
dp3 r2.y, c9, r0 // Binormal
dp3 r2.z, c10, r0 // Normal

// Licht zu Tangent
dp3 r1.x, v8, r2 // Tangent
dp3 r1.y, v9, r2 // Binormal
dp3 r1.z, v3, r2 // Normal
sge r1.w, r1.x, r1.x

mov r0, c13
add r0, r0, r0
mul r0, r1, r0

mad oD0, r0, c13, c13
};

Zenable = true;
ZWriteEnable = true;

Texture[0] = <mtlSkin1>; // Normal map
MinFilter[0] = Linear;
MagFilter[0] = Linear;
MipFilter[0] = Linear;

Texture[1] = <entSkin1>; // Diffuse map (wad texture)
MinFilter[1] = Linear;
MagFilter[1] = Linear;
MipFilter[1] = Linear;

Texture[2] = <entSkin2>; // Licht & Schatten (wad texture)
MinFilter[2] = Linear;
MagFilter[2] = Linear;
MipFilter[2] = Linear;

ColorArg1[0] = Texture;
ColorArg2[0] = Diffuse;
AlphaArg1[0] = Texture;
AlphaArg2[0] = Diffuse;
ColorOp[0] = DotProduct3;
AlphaOp[0] = SelectArg1;

ColorArg1[1] = Current;
ColorArg2[1] = Texture;
ColorOp[1] = Modulate2x; //4x mehr glanz

AlphaOp[1] = SelectArg1;

COLORARG1[2] = Texture;
COLORARG2[2] = Current;
COLOROP[2] = Modulate2x;

}
}
/////////////////////////

mfg
mpde

Last edited by MPde; 11/20/04 08:36.
Re: normal mapping auf Levelblocks [Re: mpde] #36155
11/20/04 08:49
11/20/04 08:49
Joined: Jan 2004
Posts: 513
M
mpde Offline OP
User
mpde  Offline OP
User
M

Joined: Jan 2004
Posts: 513
Hallo!

haben ja schon einige gelesen, aber wohl leider keiner getestet... schade mich würde schon interessieren wie es auf anderen systemen läuft (fps).

mfg
mpde

Re: normal mapping auf Levelblocks [Re: mpde] #36156
11/20/04 17:26
11/20/04 17:26
Joined: Jun 2004
Posts: 410
Bayern
ShooterMaker Offline
Senior Member
ShooterMaker  Offline
Senior Member

Joined: Jun 2004
Posts: 410
Bayern
In Antwort auf:

Hallo!

haben ja schon einige gelesen, aber wohl leider keiner getestet... schade mich würde schon interessieren wie es auf anderen systemen läuft (fps).




ja mich auch


ICQ: 336-958-756 <a href="www.shootermaker.de" target="_blank"> http://www.shootermaker.de </a>
Re: normal mapping auf Levelblocks [Re: ShooterMaker] #36157
11/20/04 21:23
11/20/04 21:23
Joined: Jan 2002
Posts: 750
Deutschland/Baden-Würtemberg
Stefan Offline
User
Stefan  Offline
User

Joined: Jan 2002
Posts: 750
Deutschland/Baden-Würtemberg
Hi,

hab den Shader versucht, aber leider funktionierten manche Sachen nicht:

1. Beim Enginestart kam: "Parameter unknown normalmap Keyword "
2. Als ich "bmap_to_mipmap(normalmap.skin1); " ausdokumentiert hatte kam nach dem Start: "Error in effect wall001"

Mein code:
Code:
  
/**********************************************************************
bump_diffuse.wdl extra einbinden
***********************************************************************/
var d3d_automaterial = 1; // 2 für Sprites
var d3d_lightres = on;
/////////
bmap normalmap = <wall001_bump.bmp>; // name der normal Map (mtlSkin1)
material wall001 // name der Wad Texture
{
skin1=normalmap;
flags=tangent;
}
///////
// für mehrere wad tex seperate fx
starter bump_fx
{
//bmap_to_mipmap(normalmap.skin1);
effect_load(wall001,"bump_diffuse.fx");
}
/**********************************************************************
***********************************************************************/



Hab dann einfach bump_diffuse.wdl in meinen hauptscript integriert! Irgendwelche Vorschläge??

Stefan

PS: Hab A6 Com neuste Beta

Re: normal mapping auf Levelblocks [Re: Stefan] #36158
11/20/04 21:42
11/20/04 21:42
Joined: Dec 2003
Posts: 1,097
Maryland, USA
Steempipe Offline
Serious User
Steempipe  Offline
Serious User

Joined: Dec 2003
Posts: 1,097
Maryland, USA
Suggestion: bmap_to_mipmap(mtl.skin1);

Re: normal mapping auf Levelblocks [Re: Stefan] #36159
11/20/04 22:01
11/20/04 22:01
Joined: Jan 2004
Posts: 513
M
mpde Offline OP
User
mpde  Offline OP
User
M

Joined: Jan 2004
Posts: 513
also das ist komisch? bei mir funzt es alles hier nochmal ist ja alles weg oben... so ist es bei mir.

das ist die wdl datei
//////////////////////////////
// Variablen
//////////////////////////////
var d3d_automaterial = 1;
var d3d_lightres = on;
//////////////////////////////

//////////////////////////////
// Normal-Maps laden
//////////////////////////////
bmap tile001_normal = <tile001.tga>;
bmap brick001_normal = <brick001.tga>;
bmap concrete002_normal = <concrete002.tga>;
bmap door001_normal = <door001.tga>;
//////////////////////////////

//////////////////////////////
//////////////////////////////
// Shader
//////////////////////////////
material tile001
{
skin1=tile001_normal;
flags=tangent;
}

material brick001
{
skin1=brick001_normal;
flags=tangent;
}

material concrete002
{
skin1=concrete002_normal;
flags=tangent;
}

material door001
{
skin1=door001_normal;
flags=tangent;
}
//////////////////////////////

starter load_fx
{
bmap_to_mipmap(tile001.skin1);
bmap_to_mipmap(brick001.skin1);
bmap_to_mipmap(concrete002.skin1);
bmap_to_mipmap(door001.skin1);
effect_load(tile001,"bump_diffuse.fx");
effect_load(brick001,"bump_diffuse.fx");
effect_load(concrete002,"bump_diffuse.fx");
effect_load(door001,"bump_diffuse.fx");
}
//////////////////////////////


das ist die fx datei

/**********************************************************************
Diffuse Bumpmapping (normalmap auf Levelblocks) ohne dyn.Licht
***********************************************************************/
float4x4 matWorld;
float4x4 matWorldViewProj;
//float4 vecLightColor[8];
/////////
texture entSkin1; // Wad Tex
texture entSkin2; // Light,Shadow Tex
texture mtlSkin1; // Normal Map
/////////
float4 BumpHeight = { 0.0, 0.0, 0.0, 0.0};
float4 LightPos = {0.0, 0.0, 0.0, 0.0 };
/////////
/////////////
technique bump_diffuse
{

pass p0
{

// Zenable = true;
// ZWriteEnable = true;

Texture[0] = <mtlSkin1>; // Normal map
Texture[1] = <entSkin1>; // Diffuse map (wad texture)
Texture[2] = <entSkin2>; // Licht & Schatten (wad texture)
MinFilter[2] = Linear;
MagFilter[2] = Linear;
MipFilter[2] = Linear;


ColorOp[0] = DotProduct3;
ColorArg1[0] = Texture;
ColorArg2[0] = Diffuse;

ColorOp[1] = Modulate2x;
ColorArg1[1] = Current;
ColorArg2[1] = Texture;

COLOROP[2] = Modulate2x;
COLORARG1[2] = Texture;
COLORARG2[2] = Current;


VertexShaderConstant[0] = <matWorld>;
VertexShaderConstant[4] = <matWorldViewProj>;
VertexShaderConstant[8] = <matWorld>;
VertexShaderConstant[12] = <LightPos>;
VertexShaderConstant[13] = {1.0, 0.5, 0.7, 0.0};
VertexShaderConstant[14] = <BumpHeight>;
VertexShaderConstant[90] = {1.0,1.0,1.0,1.0};

VertexShader =
asm
{
vs.1.1

dcl_position v0
dcl_normal v3
dcl_color v5
dcl_texcoord1 v7
dcl_tangent v8
dcl_binormal v9
dcl_texcoord0 v10

m4x4 oPos, v0, c4 // Position Screen
mov oT0, v7 // Tex Coords Normal Map
mov oT1, v7 // Tex Coords Diffuse Map
mov oT2, v10 // Tex Coords Light&Shadow
mov oFog, c90.w // Nebel

mov r0, c12
dp3 r0.w, r0, r0
rsq r0.w, r0.w
mul r0, r0, r0.w

// Licht zu Object
dp3 r2.x, v8, r0 // Tangent
dp3 r2.y, c9, r0 // Binormal
dp3 r2.z, c10, r0 // Normal

// Licht zu Tangent
dp3 r1.x, v8, r2 // Tangent
dp3 r1.y, v9, r2 // Binormal
dp3 r1.z, v3, r2 // Normal
sge r1.w, r1.x, r1.x

mov r0, c13
add r0, r0, r0
mul r0, r1, r0

mad oD0, r0, c13, c13
};
}
}
/////////////////////////

mfg
mpde

Re: normal mapping auf Levelblocks [Re: mpde] #36160
11/20/04 22:21
11/20/04 22:21
Joined: Jan 2002
Posts: 750
Deutschland/Baden-Würtemberg
Stefan Offline
User
Stefan  Offline
User

Joined: Jan 2002
Posts: 750
Deutschland/Baden-Würtemberg
SHAME ON ME!

Okay, funktioniert jetzt alles! sieht genial aus! War nur zu doof die fx-Datei richtig zu benennen!

Danke

Stefan

Re: normal mapping auf Levelblocks [Re: Stefan] #36161
11/21/04 09:17
11/21/04 09:17
Joined: Jan 2004
Posts: 513
M
mpde Offline OP
User
mpde  Offline OP
User
M

Joined: Jan 2004
Posts: 513
In Antwort auf:


Okay, funktioniert jetzt alles! sieht genial aus! War nur zu doof die fx-Datei richtig zu benennen!





das ist schön aber andere wichtige frage... wie sieht es aus mit der framerate bei dir. ich habe festgestellt das sie manchmal sehr sehr absackt gerade bei grossen räumen.

@conitec wie bekomme ich es hin das der shader nicht benutzt wird auf unsichtbare levelblocks (bin in raum a sehe raum b nicht beide haben die selbe textur und den shader zugewiesen. aber der shader wird auch für raum b berechnet wäre dankbar für ein tip denn dann wäre das fps problem gelöst.

mfg
mpde

Re: normal mapping auf Levelblocks [Re: mpde] #36162
11/24/04 23:44
11/24/04 23:44
Joined: Jan 2004
Posts: 513
M
mpde Offline OP
User
mpde  Offline OP
User
M

Joined: Jan 2004
Posts: 513
Hallo !

demo scripte hier

www.ma-pre.de

Re: normal mapping auf Levelblocks [Re: mpde] #36163
11/25/04 02:31
11/25/04 02:31
Joined: Oct 2004
Posts: 15
Masterchiefk Offline
Newbie
Masterchiefk  Offline
Newbie

Joined: Oct 2004
Posts: 15
hi, öhm frage bei mir kommt immer
error in effekt:
holz001(4):unknown type in parameter declaration: 'float4x4'

was hab ich den falsch gemacht?

///////////////////////////////////////////////////////////////////////////
// name001 und -002 usw. durch die Materialnamen der Wadtexturen ersetzen
// name002 und -002 usw. durch die Namen der Normal - Maps ersetzen
// WICHTIG: die Normal - Maps und die bump_diffuse.fx Datei müssen sich im
// Levelordner befinden
///////////////////////////////////////////////////////////////////////////
// Variablen
//////////////////////////////
var d3d_automaterial = 1;
var d3d_lightres = on;
//////////////////////////////
// Normal-Maps laden
//////////////////////////////
bmap holz_normal = <holz001.tga>;
//////////////////////////////
//////////////////////////////
// Shader für Levelblocks
//////////////////////////////
material holz001
{
skin1=holz_normal;
flags=tangent;
}

//////////////////////////////
starter load_fx
{
bmap_to_mipmap(holz001.skin1);
effect_load(holz001,"bump_diffuse.fx");
}
//////////////////////////////


@ Kai Kieschnick
Page 1 of 3 1 2 3

Moderated by  Blink, Hummel, Superku 

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