Gamestudio Links
Zorro Links
Newest Posts
Support and Resistance Zones/Cluster
by firecrest
Today at 04:05
MDL7 Exporter auf Blender 2.78 Updaten
by tagimbul
Yesterday at 23:26
Game Crash on Other People's PCs
by Dooley
Yesterday at 21:57
fixes for stuttering?
by Kartoffel
Yesterday at 21:55
[ALL STYLES] 2D Videogame Artist (pixel, vector, painted)
by DesixStudios
Yesterday at 16:38
AUM Magazine
Latest Screens
Triton Wing
ZeaL
Computer Repair Simulator
Collider (working title)
Space Rider
Who's Online
12 registered (BlackJack, Michael_Schwarz, pegamode, firecrest, Dalla, jenGs, kandlekid, krial057, Dooley, 1 invisible), 291 Guests and 4 Spiders online.
Key: Admin, Global Mod, Mod
Newest Members
PeterChen, rgg, TCC, JonChen, Alphatecht
17688 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: 143
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: 143
...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