Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

FSA

Community-Fossil

  • »FSA« ist der Autor dieses Themas
  • Private Nachricht senden

1

24.01.2012, 19:40

Pixel Painting

Hallo. Ich schlage mic gerade mit meinem Shader rum. Mein Ziel ist, dass ich einen weißen Pixel in die Mitte des Fensters rendere.
Mein PerPixelShader:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
float4 PP_Shader ( float2 Tex: TEXCOORD0 ) :COLOR0
{ 
        float4 Color;

    Color = tex2D(PostProcess,Tex.xy);//Pixelfarbe auslesen
       if( Tex.x == 0.5 && Tex.y == 0.5 )
        {
            Color.r = 255;
            Color.g = 255;
            Color.b = 255;
         }
return Color;
}

Damit sollt es eigentlich funktionieren, tut es aber nicht. Ich sehe keinen Pixel. Dann wollte ich eine Linie auf der Y Achse zeichnen:

C-/C++-Quelltext

1
2
3
//...
 if( Tex.x == 0.5 )
//...

Das hat geklappt folgendes abe nicht:

C-/C++-Quelltext

1
2
3
//...
 if( Tex.y == 0.5 )
//...

Was mache ich falsch? Ich Kompiliere mit compile ps_2_0.
Danke im Voraus

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

Tobiking

1x Rätselkönig

  • Private Nachricht senden

2

24.01.2012, 20:04

Fängst du Compilefehler beim Shader ab? Wenn ich mich nicht irre gibt es if in Shadern erst ab 3.0. Das sollte daher bereits beim Erzeugen der Shader für Fehler sorgen.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

3

24.01.2012, 20:17

Ich denke eher, dass es hier ein typisch numerisches Problem gibt und es in der Tat keinen Wert für y gibt, der EXAKT 0.5 beträgt.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

FSA

Community-Fossil

  • »FSA« ist der Autor dieses Themas
  • Private Nachricht senden

4

24.01.2012, 20:52

Hm aber 0.51 geht nicht und 0.598724 geht auch nicht :thumbdown: Also irgendwie mach ich ja was falsch ^^

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

5

24.01.2012, 21:03

Wie wäre es, wenn Du ein Intervall angibst? :rolleyes:
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

FSA

Community-Fossil

  • »FSA« ist der Autor dieses Themas
  • Private Nachricht senden

6

24.01.2012, 21:21

Hm daran habe ich noch nicht gedacht. Danke ;) So gehs jetzt:

C-/C++-Quelltext

1
if( (Tex.y < 0.5025 && Tex.y > 0.4975) && (Tex.x < 0.502 && Tex.x > 0.499))

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

7

24.01.2012, 21:25

Sind noch immer komische Werte, aber deutlich sinnvoller als ein Bit-genauer Wert.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

FSA

Community-Fossil

  • »FSA« ist der Autor dieses Themas
  • Private Nachricht senden

8

24.01.2012, 21:28

Ich habe statt eine Pixel ein Rechteck gerndert ;)

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

9

24.01.2012, 22:49

Mal doch einfach einen Point hin und fertig?

FSA

Community-Fossil

  • »FSA« ist der Autor dieses Themas
  • Private Nachricht senden

10

25.01.2012, 17:34

Wie meinst du das? Ich kann doch ein Punkt rendern habe mich aber für ein Rechteck entschieden. Habe ich was falschgemacht?

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

Werbeanzeige

Ähnliche Themen