|
3 registered members (monarch, TipmyPip, Lukudo),
5,461
guests, and 0
spiders. |
|
Key:
Admin,
Global Mod,
Mod
|
|
|
Re: glanzeffekt auf autos wie in NFSU
[Re: XeXeS]
#31572
08/04/04 06:44
08/04/04 06:44
|
Joined: May 2004
Posts: 46 Hanover, Germany
JRAV
Newbie
|
Newbie
Joined: May 2004
Posts: 46
Hanover, Germany
|
Klar, die Environment Map ist im Prinzip nicht schwer, sieht auch nett aus, aber trotzdem könnte es ja noch einen Tick realistischer sein, nicht wahr  Abgesehen davon gibt es das Problem, daß ich ein Auto mit einer Skin habe, die einige Details zeigt, und darauf die Environment Map packe, dann aber zusätzlich noch die Grundfarbe ändern möchte. Wird die Environment Map während des Spiels eigentlich vom Shader ständig komplett neu berechnet oder ist es im Prinzip nur eine initialisierungs routine? Bzw: kann ich in ein Material für verschiedene Objekte verschiedene Bitmaps reintun, oder muß ich für jedes Object einen seperaten Shader vorhalten? (z.B. einen für rote Autos, einen für grüne Autos, etc)
|
|
|
Re: glanzeffekt auf autos wie in NFSU
[Re: XeXeS]
#31575
08/06/04 17:59
08/06/04 17:59
|
Joined: Nov 2003
Posts: 1,267 ef
Christoph_B
Serious User
|
Serious User
Joined: Nov 2003
Posts: 1,267
ef
|
dann kann man ja mit cube maps, die neu berechnet werden, eigentlich stencil mirrors ersetzen, oder?
sef
|
|
|
Re: glanzeffekt auf autos wie in NFSU
[Re: XeXeS]
#31577
08/09/04 06:58
08/09/04 06:58
|
Joined: Aug 2003
Posts: 275 Germany
kopitzki
Member
|
Member
Joined: Aug 2003
Posts: 275
Germany
|
In Antwort auf:
...muss du einen View von 6 Seiten mit einem Blickwinkel von 90 Grad in eine Texture zeichen. Alle Texturen zu einer Cubemap machen
Habe den ganzen Tag versucht, auch nur einen der 6 Views auf das +6.tga des Reflektionsshaders in effects.wdl zu rendern. (mit dem Player als Modell)
1. Der bmap_for entity Befehl braucht eine Entity-Angabe und akzeptiert nicht:
Code:
bmap bmp_envcube =<blood_gsmall+6.tga>;//CODE AUS EFFECTS.WDL
////////////////////////////////////////////////////////////////////////////////
function mtl_envmirror_view()
{
mat_set(mtl.matrix,matViewInv);
// reset the translation part of the matrix
mtl.matrix41 = 0;
mtl.matrix42 = 0;
mtl.matrix43 = 0;
// mirror the matrix in y direction (= screen plane normal),
mat_scale(mtl.matrix,1,-1,1);
}
function mtl_envmirror_init()
{
bmap_to_cubemap(bmp_envcube);//mtl.skin1);
mtl.event = mtl_envmirror_view;
mtl.enable_view = on;
}
material mtl_envmirror // environment cube
{
skin1 = bmp_envcube;
event = mtl_envmirror_init;
effect = "
// usw
}
//EIGENER CODE
//"REFLEKTMAP" pro frame einmal aufgerufen
view mirror1
{
layer=-1;
flags=visible;
}
function reflektMap()
{
while(!player){wait(1);}
mirror1.size_x=bmap_height (bmp_envcube);
mirror1.size_y=bmap_height (bmp_envcube);
mirror1.ambient = camera.ambient;
mirror1.fog=camera.fog;
mirror1.bmap = bmap_for_entity(bmp_envcube,0); // KLAPPT NICHT!!
//Bei vorher definierter entity type=...+6.tga geht der
//bmap_for_entity(entity ...usw Befehl,
//das Bild zum Test ins Level gestellt, zeigt den View,
//aber die reflektierte Map im Testmodell (Player) ändert sich nicht.
mirror1.visible = on;
while (1)
{
mirror1.genius = player;
mirror1.aspect = camera.aspect;
mirror1.arc = 90;//camera.arc;
mirror1.fog_start = camera.fog_start;
mirror1.fog_end = camera.fog_end;
mirror1.x = player.x;
mirror1.y = player.y;
mirror1.z = player.z;
mirror1.pan = player.pan;//-camera.pan;
mirror1.tilt = player.tilt;//camera.tilt;
//bmap_to_cubemap(bmp_envcube);
//mtl_envmirror_init();
//player.material=mtl_envmirror;
wait(1);
}
}
2. Wie macht man aus der (falls das überhaupt geht) neugerenderten +6.tga eine Cubemap, die dann im Material als neue Basis für die Environment Map gilt?
//bmap_to_cubemap(bmp_envcube);
//mtl_envmirror_init();
//player.material=mtl_envmirror;
//KLAPPT NICHT!
|
|
|
|