Gamestudio Links
Zorro Links
Newest Posts
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
Change chart colours
by 7th_zorro. 05/11/24 09:25
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
1 registered members (AndrewAMD), 1,507 guests, and 12 spiders.
Key: Admin, Global Mod, Mod
Newest Members
AemStones, LucasJoshua, Baklazhan, Hanky27, firatv
19058 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Lightrange erhöhen #97750
11/06/06 20:11
11/06/06 20:11
Joined: Jul 2005
Posts: 421
Germany
DoC Offline OP
Senior Member
DoC  Offline OP
Senior Member

Joined: Jul 2005
Posts: 421
Germany
Hallo, ich hab ne Frage/nen Problem in bezug zur lightrange...
und zwar wenn ich normal mapping verwende und dann ein dynamisches
Licht hinzufüge um damit einen raum oder ein model beleuchten will
hat dies immer einen festen wert egal was ich bei "my.lightrange"
eingebe, was dazu führt das einige sachen nicht beleuchtet werden.
Wie kann ich das ändern muss in dem shader selber etwas
erhöht werden? Weil mit 3 lichtquellen im 700 radius kommt man bei
Aussenlevels nicht weit oder wenn ich viele sachen gleichzeitig beleuchten will ...
weiß jemand rat? Oder gibts gar nen normal mapping shader für models und
Außenumgebung die wie der specular shader aus AUM 54 arbeitet?

Thx für die antworten schonmal...

Re: Lightrange erhöhen [Re: DoC] #97751
11/07/06 07:47
11/07/06 07:47
Joined: Nov 2004
Posts: 7,121
Potsdam, Brandenburg, Germany
Machinery_Frank Offline
Senior Expert
Machinery_Frank  Offline
Senior Expert

Joined: Nov 2004
Posts: 7,121
Potsdam, Brandenburg, Germany
Vielleicht liegt es gar nicht an der Lightrange des dynamischen Lichts, sondern am Shader selbst. Es gibt hier einige Shader im Forum, die fest eingebaute Lichtparameter nutzen und nicht die von DirectX auslesen.

Viele Grüße,
Frank


Models, Textures and Games from Dexsoft
Re: Lightrange erhöhen [Re: Machinery_Frank] #97752
11/07/06 13:03
11/07/06 13:03
Joined: Jul 2005
Posts: 421
Germany
DoC Offline OP
Senior Member
DoC  Offline OP
Senior Member

Joined: Jul 2005
Posts: 421
Germany
hab ich mir gedacht auch gedacht des es daran liegt sollte dann ja im shader des hier sein vermutlich
Quote:


VS_OUTPUT0 VS_PASS0(float4 Pos : POSITION, float2 texcoord0 : TEXCOORD0, float3 Normal : NORMAL, float3 Tangent : TEXCOORD2 )
{
VS_OUTPUT0 Out = (VS_OUTPUT 0)0;
Out.Pos = mul(Pos, matWorldViewProj); // transform Position

// compute the 3x3 tranform matrix
// to transform from world space to tangent space
float3x3 worldToTangentSpace;
worldToTangentSpace[0] = mul(Tangent, matWorld);
worldToTangentSpace[1] = mul(cross(Tangent, Normal), matWorld);
worldToTangentSpace[2] = mul(Normal, matWorld);

Out.Tex = texcoord0.xy;

float3 PosWorld = mul(Pos, matWorld);
float LightRange = 0.002;

//light 1
float3 Light1 = PosWorld - vecLightPos[1] ;
Out.Light1.xyz = mul(worldToTangentSpace, -Light1); // L

float3 Viewer1 = PosWorld - vecViewPos;
Out.View1 = mul(worldToTangentSpace, -Viewer1); // V

Out.Att1 = Light1 * LightRange; // Point light

//light 2
float3 Light2 = PosWorld - vecLightPos[2] ;
Out.Light2.xyz = mul(worldToTangentSpace, -Light2); // L

float3 Viewer2 = PosWorld - vecViewPos;
Out.View2 = mul(worldToTangentSpace, -Viewer2); // V

Out.Att2 = Light2 * LightRange; // Point light

// Add fog
float ofog = 1 - (distance(PosWorld, vecViewPos) - vecFog.x) * (vecFog.z*1.5);
Out.Fog = ofog;

return Out;
}





frage is nur wie ich des änder weil wenn ich float LightRange = 0.002;
erhöhe wirds garnet mehr beleuchtet -.-"

Re: Lightrange erhöhen [Re: DoC] #97753
11/07/06 13:44
11/07/06 13:44
Joined: Nov 2004
Posts: 7,121
Potsdam, Brandenburg, Germany
Machinery_Frank Offline
Senior Expert
Machinery_Frank  Offline
Senior Expert

Joined: Nov 2004
Posts: 7,121
Potsdam, Brandenburg, Germany
Schau Dir einfach den Shader aus dem Wiki an, dort hat jemand genau dieses Lightrange Problem wie folgt gelöst:

//float LightRange = 0.0025; //light range here!!!!!!!!!!!!!!!!!
float LightRange = 1/vecLightPos[1].w;//THESE ARE THE CHANGES I MADE

VecLightPos ist in diesem Shader definiert und w enthält vermutlich die Lightrange des jeweiligen dynamischen Lichtes in DirectX (oder etwas das dazu umgekehrt proportional ist, denn es wird ja das Reziproke berechnet, Lichtstärke könnte reziprok zur Entfernung sein, wer weiß ). Der Index [1] spricht hier das 2. Licht an. [0] wäre das erste.

Ich bin kein Shader-Experte. Das ist nur Vermutung vom Lesen des Quellcodes. Also will ich Dich ermuntern einfach mal die Shader zu lesen und davon zu lernen.


Models, Textures and Games from Dexsoft
Re: Lightrange erhöhen [Re: Machinery_Frank] #97754
11/07/06 14:39
11/07/06 14:39
Joined: Jul 2005
Posts: 421
Germany
DoC Offline OP
Senior Member
DoC  Offline OP
Senior Member

Joined: Jul 2005
Posts: 421
Germany
so schön shader sind.. so nervig is ihre anwendung ^^"... aber thx für den rat werds mir nochmal anguggn ich werkel einfach mal alles durch bis der shader unbrauchbar wird oder im geringeren fall functioniert XD... dann meld ich mich wieder ^^"

thx bis denne erstma,


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