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 ?
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
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