Gamestudio Links
Zorro Links
Newest Posts
website-related suggestions for the webmaster
by Fuchs
26 minutes 44 seconds ago
Algorithm for Detrend=SHUFFLE
by kujo
Today at 15:24
vec_for_vertex gap issue
by txesmi
Today at 13:55
Separate entry and exit parameters optimization
by kujo
Today at 13:27
inkey and Unicode
by Superku
Today at 11:36
[Paid] Unicode Keyboard Input
by Superku
Yesterday at 18:37
bounce + low framerate ??
by 3run
Yesterday at 17:06
AUM Magazine
Latest Screens
Forgotten Tales - Demo version
RPG PARTY
Triton Wing now available on Steam
AckCon'17: Lotter vs The World
Who's Online
21 registered (3run, Fuchs, 3dgs_snake, AndrewAMD, 20BN, alibaba, Hredot, Dalla, 3 invisible), 473 Guests and 4 Spiders online.
Key: Admin, Global Mod, Mod
Newest Members
stuvwx608784, Joderin, Fuchs, Don_Diego, jetomas59
17937 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: 198
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: 198
...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