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
Auch nicht schlecht ... du rechnest also deine Geometrie um auf [(-x/2 ; y/2) (x/2 ; -Y2)] mit x=ScreenWidth und y=ScreenHeight,
führst anschließend die Rotation durch und rechnest das Ergebnis wieder um auf [(-1 ; 1) (1; -1)] ?
Richtig ?
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
$rein float2 vertexPos; $rein float3 instZielPos; $rein float2 instGroesse; $rein float4 instGrafik; $rein float4 instFarbe; $rein float2 instParam; $raus float4 fragPos; $raus float4 fragFarbe; $raus float2 fragTex; $raus float4 fragTexGrenz; float2 gQuellGroesse; float2 gZielGroesse; $main() { float2 sinUndCos; sincos( instParam.x, sinUndCos.x, sinUndCos.y); float2 vx = float2( 1.0f, 1.0f) * sinUndCos.yx; float2 vy = float2( -1.0f, 1.0f) * sinUndCos.xy; float2 quadPos = (vertexPos.xy - instParam.yy) * instGroesse.xy; float2 vpos = instZielPos.xy + quadPos.x * vx + quadPos.y * vy; #if GRAFIK_DIRECTX == 9 // mit halbem Pixel Offset nach links oben für DX9-Rasterizing Rules vpos += float2( -0.5f, 0.5f); #endif fragPos = float4( vpos.xy * gZielGroesse.xy * float2( 2.0f, -2.0f) + float2( -1.0f, 1.0f), instZielPos.z, 1.0f); ... und so weiter ... } |
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Schrompf« (30.09.2014, 14:14)
@Schrompf: Vielen Dank für deine Mühe ... ist aber glaube ich etwas hoch für mich.
Da ich gerade gefahr laufe mich zu verzettel mal eine ganz einfache Frage:
Gleicht orthogonale Projektion (wie in Cobolds Beispiel mit gluOrtho2D(0.0, width, 0.0, height) umgesetzt) die unerwünschte Verzerrung aus ?
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Administrator
Gedullt
Gedu...t
Mit einem L und T steht's schon auf der Zensurliste.
Dass jemand auf die Idee kommen könnte, es mit 2x L und T zu schreiben, hätte ich nicht gedacht.
Wie wäre es denn mal mit einer richtigen rechtschreibkontrolle wenn dir das so wichtig ist ?
Orthogonale Projektion hat nichts mit deiner Aspect Ratio zu tun, sondern mit einer Parallelprojektion. Die Seitenverhältnisse sind dabei noch immer Dir überlassen.
Werbeanzeige