Gamestudio Links
Zorro Links
Newest Posts
Deformers struct in MDL7 abspeichern.
by tagimbul
Today at 02:06
Votes for future features
by Hredot
Today at 01:48
What happens with particles, Memory wise?
by jumpman
Today at 00:41
Plotting on hour time scale
by Hredot
Yesterday at 17:42
Fetter ACSII Parser
by MasterQ32
Yesterday at 14:31
AUM Magazine
Latest Screens
RPG PARTY
Triton Wing now available on Steam
AckCon'17: Lotter vs The World
Triton Wing
ZeaL
Who's Online
7 registered (Dalla, AndrewAMD, firecrest, jyd, tagimbul, johnnyp, jrath), 451 Guests and 4 Spiders online.
Key: Admin, Global Mod, Mod
Newest Members
CaptainPablo, blAx, BBX, jcadihere, Peeyotch
17759 Registered Users
Topic Options
Rate This Topic
#467001 - 07/11/17 23:57 pixel position in Weltkoordinaten im shader? (done)
tagimbul Online
Member

Registered: 06/04/10
Posts: 185
hey =)
wie kann ich herausfinden an welcher x,y,z position,( in engine koordinaten, nicht shader), sich ein pixel im shader befindet?
ich würde gerne jedes pixel das unter einem gewissen wert ist, auslesen im shader

so das ich dann in den shader z.B eine variable geben kann wie my.z

mein ziel wäre es das ich ein terrain einen spezielen shader verpasse wo alles was unter einem gewissen Z wert und innerhalb von XY die textur anders rendere.

ich will damit einen gefaktes unterwasser boden schimmern erzeugen
und es interesiert mich schon lange wie man die position eines pixels herrausfinden kann in welkoordinaten.


Edited by tagimbul (07/12/17 09:17)
_________________________
meine website mit 3dgs sachen =) //noch nicht ganz umgebaut ^^"
http://flashbreaker.com/home.html
und mein YT channel mit diversen game entwicklungs videos, vor allem shader zeugs
https://www.youtube.com/user/tagimbul/videos

Top
#467002 - 07/12/17 00:21 Re: pixel position in Weltkoordinaten im shader? [Re: tagimbul]
tagimbul Online
Member

Registered: 06/04/10
Posts: 185
...sorry den zu vorschnellen post.

ich habs rausgefunden...

Out.PosW = mul(In.Position, matWorld);

Code:
struct VS_INPUT
{
	float4 Position	: POSITION;
	float2 tex0 : TEXCOORD0;
	float3 PosW : TEXCOORD1;
	
};
struct VS_OUTPUT
{
	float4 PosWorld	: POSITION; 
	float2 tex0	: TEXCOORD0; 
	float3 PosW : TEXCOORD1;
};
// ----------------------------------------------------------------
// vertexshader 
// ----------------------------------------------------------------
VS_OUTPUT vs_main( VS_INPUT In ) 
{
	VS_OUTPUT Out;

	float4 Position = mul(In.Position, matWorldViewProj);
	Out.PosWorld = Position;
	Out.tex0 = In.tex0.xy;
	Out.PosW = mul(In.Position, matWorld);
	return Out;
}
float4 ps_main( VS_OUTPUT In) : COLOR
{
	
	
	float3 welk_koordinate;
	welk_koordinate.xzy = -In.PosW.xyz;
	
	float4 color = tex2D (Tex,In.tex0.xy);
	
	if(welk_koordinate.z > vecSkill1.x)
	color = 0;
	
	return  color;
}



omg das ermöglicht soviele neue möglichkeiten für mich =)
find ich totaaaal cool ^^


Edited by tagimbul (07/12/17 00:23)
_________________________
meine website mit 3dgs sachen =) //noch nicht ganz umgebaut ^^"
http://flashbreaker.com/home.html
und mein YT channel mit diversen game entwicklungs videos, vor allem shader zeugs
https://www.youtube.com/user/tagimbul/videos

Top


Moderator:  Blink, Hummel, Superku 

Gamestudio download | chip programmers | Zorro platform | shop | resources | magazine | manual | support faq | bugs | beta features

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) 3dgamestudio.net