Gamestudio Links
Zorro Links
Newest Posts
Linear Regression in objective function
by brax
Yesterday at 20:32
Experienced 2D|3D Character artist|Concept Artist@ Indie Prices|
by DeathstalkerArs
Yesterday at 17:58
New Zorro version 1.66
by MatPed
Yesterday at 11:15
Cutting meshes merging meshes
by rayp
Yesterday at 05:51
Increase Max Lot Size Beyond 10000
by jcl
11/20/17 11:09
Spread value conditional
by ech87
11/20/17 08:58
MT4 vs Zorro
by Spirit
11/20/17 08:36
AUM Magazine
Latest Screens
RPG PARTY
Triton Wing now available on Steam
AckCon'17: Lotter vs The World
Triton Wing
Who's Online
4 registered (AndrewAMD, firecrest, vinsom, 1 invisible), 492 Guests and 6 Spiders online.
Key: Admin, Global Mod, Mod
Newest Members
ech87, Lobo, Andy60, AzzoCorp, franzz
17813 Registered Users
Topic Options
Rate This Topic
#467001 - 07/11/17 23:57 pixel position in Weltkoordinaten im shader? (done)
tagimbul Offline
Member

Registered: 06/04/10
Posts: 191
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 Offline
Member

Registered: 06/04/10
Posts: 191
...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

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