Sichtweite erweitern in Opengl



  • raubritter schrieb:

    Hab mir das ja nur so ne stunde oder so angeschaut mit bem OpenGL

    Schade das Oermel sich das noch keine Stunde angeschaut hatte. f'`8k

    Autocogito

    Gruß, TGGC (\-/ has leading)



  • mit der near und far clipping plane beeinflusst du den Z-Buffer:
    http://upload.wikimedia.org/math/a/f/6/af6abc40b3cb7774d10efff48b56a91c.png



  • @ TGGC
    Naja, um erlich zu sein hab ich mir das schon mehrere Stunden angeschaut, aber um zu Opengl was zu finden, was man als Laie gut versteht und in der richtigen Sprache programmiert wird, ist recht schwer, nun ja, und dadurch kann man (find ich) Opengl nur schwer systematisch erlernen, vor allem, wenn die einzige Informationsquelle das Internet ist.

    @ Vertexwahn
    Thx, aber die Sicht würde durch die änderung der Faktoren "nah" bzw. "fern" doch verzerrt werden, oder? Aber gut ich hab die Lösung bei meinem Problem mit glFustrum() und gluPerspective() gefunden.



  • Oermel schrieb:

    @ TGGC
    die Sicht würde durch die änderung der Faktoren "nah" bzw. "fern" doch verzerrt werden, oder?

    Nicht ganz - aber du hast schon mal richtig erkannt, dass da irgendwas nicht linear abläuft sondern "verzerrt" wird - der z-Wert, der da ausgerechnet wird nur für den Z-Buffer verwendet, der dann bestimmt, was sichtbar ist und was nicht

    Dieser Z-Buffer ist nicht linear angeordent! Da man ja vermeiden will, dass Objekte ,die weiter weg sind, Objekte verdecken, die näher sind muss der Z-Buffer möglichst viele Werte annehmen können. Bei 16 Bit kann er 2^16 = 65536 Werte annehmen - Wenn Objekte sehr nahe beieinander liegen kann es vorkommen, das ähnliche bzw. gleiche Z-Werte enstehen. Häufig reicht der Z-Buffer nicht aus => es enstehen unschöne Artefakte => andere Lösung: z-Werte im nahem Sichtbereich weiter auseinander, als im fernen Sichtbereich => weniger Artefakte im direktem Umfeld => mehr Artefakte bei Objekten im "Hintergrund" => stört weniger

    Hier gehts noch mehr ins Detail:
    http://loop.servehttp.com/~vertexwahn/public_html_an_turing/PerspektivischeProjektion.pdf



  • Hallo

    schaumal, dass hat mir immer geholfen ...

    http://fly.cc.fer.hr/~unreal/theredbook/

    Das ist die sogenannte Muss man haben Lektüre zu OpenGL. 🙂

    Das hier ist auch nicht schlecht,...
    man sollte aber etwas WinAPI Erfahrung mitbringen:

    http://nehe.gamedev.net/

    Grüße

    Fireball



  • Oermel schrieb:

    @ TGGC
    Naja, um erlich zu sein hab ich mir das schon mehrere Stunden angeschaut, aber um zu Opengl was zu finden, was man als Laie gut versteht und in der richtigen Sprache programmiert wird, ist recht schwer, nun ja, und dadurch kann man (find ich) Opengl nur schwer systematisch erlernen, vor allem, wenn die einzige Informationsquelle das Internet ist.

    Wenn du es nicht schaffst, dir solche grundlegenden Informationen zu beschaffen, sei es nun aus Dummheit oder Faulheit, dann solltest du noch mal ernsthaft ueberlegen, ob Programmieren das Richtige fuer dich ist. f'`8k

    Autocogito

    Gruß, TGGC (\-/ has leading)



  • @ Vertexwahn
    thx hab ich verstanden

    @FireballGFX
    Kenn ich schon, hab den ein oder anderen Artikel schon gelesen, da es auf Englisch ist (ich weiss, ist sehr wichtig für Programmierer, das wie die Muttersprache zu verstehen), ists aber doch recht schwer zu verstehen, mit dem richtigen Zeitaufwand aber dann auch möglich.

    @TGGC
    Die Informationen zu Beschaffen ist nicht das Problem, die zu verstehen ists eher. Außerdem bin ich kein ausgebildeter Programmierer. (Werd ich hoffendlich aber noch 😉 )



  • TGGC schrieb:

    Oermel schrieb:

    @ TGGC
    Naja, um erlich zu sein hab ich mir das schon mehrere Stunden angeschaut, aber um zu Opengl was zu finden, was man als Laie gut versteht und in der richtigen Sprache programmiert wird, ist recht schwer, nun ja, und dadurch kann man (find ich) Opengl nur schwer systematisch erlernen, vor allem, wenn die einzige Informationsquelle das Internet ist.

    Wenn du es nicht schaffst, dir solche grundlegenden Informationen zu beschaffen, sei es nun aus Dummheit oder Faulheit, dann solltest du noch mal ernsthaft ueberlegen, ob Programmieren das Richtige fuer dich ist. f'`8k

    Autocogito

    Gruß, TGGC (\-/ has leading)

    Sagmal TGGC ist das nicht ein wenig hart? Jeder fängt doch mal klein an oder konntest du direkt alles?



  • Oermel schrieb:

    @FireballGFX
    Kenn ich schon, hab den ein oder anderen Artikel schon gelesen, da es auf Englisch ist (ich weiss, ist sehr wichtig für Programmierer, das wie die Muttersprache zu verstehen), ists aber doch recht schwer zu verstehen, mit dem richtigen Zeitaufwand aber dann auch möglich.

    http://www.codeworx.org/opengl_tuts.php

    schaumal ob das dich weiter bringt. Das sind viele Tuts, wie bei Nehe (http://nehe.gamedev.net/) Nur sind diese auf Deutsch.

    http://wiki.delphigl.com/index.php/Hauptseite

    das ist zwar nicht für C++, aber auch hier wird viel für das Verständnis getan.

    Gruß

    Fireball



  • @FireballGFX
    Thx, ich glaub die ganzen guten Toturials und Pages zu Opengl kenn ich schon.

    Aber nochmal ne andere Frage, ich weiss wie ich eine Einheit selektiere(Mit dem select Buffer arbeite), aber wie kann man für z.B. ein Strategiespiel ein mit der Maus bestimmbares Gebiet auswählen (Einen Kasten um Einheiten ziehen). Kann man da einen Vector bzw. eine geradlinige Funktion, an hand der Positionierung der maus für errechnen? Wenn ja, dann ist das ganze ja auch noch von den Perspektivischen Einstellungen abhängig oder? Gibt es da vielleicht auch noch unterstützende Methoden, die von Glut bereitgestellt werden?



  • FireballGFX schrieb:

    Sagmal TGGC ist das nicht ein wenig hart? Jeder fängt doch mal klein an oder konntest du direkt alles?

    Habe ich verlangt, das man alles koennen muss? Ich habe nur gesagt, das jemand der zu dumm oder zu faul ist, nie sinnvoll programmieren wird. Was hast du denn dagegen? f'`8k

    Autocogito

    Gruß, TGGC (\-/ has leading)



  • @TGGC
    Ich glaub aber nicht, dass ich zu dumm oder zu faul bin. Sonst wäre ich weder so weit gekommen, wie ich bin, noch so engagiert Lösungen für mein Problem zu finden.



  • Oermel schrieb:

    @FireballGFX
    Thx, ich glaub die ganzen guten Toturials und Pages zu Opengl kenn ich schon.

    Aber nochmal ne andere Frage, ich weiss wie ich eine Einheit selektiere(Mit dem select Buffer arbeite), aber wie kann man für z.B. ein Strategiespiel ein mit der Maus bestimmbares Gebiet auswählen (Einen Kasten um Einheiten ziehen). Kann man da einen Vector bzw. eine geradlinige Funktion, an hand der Positionierung der maus für errechnen? Wenn ja, dann ist das ganze ja auch noch von den Perspektivischen Einstellungen abhängig oder? Gibt es da vielleicht auch noch unterstützende Methoden, die von Glut bereitgestellt werden?

    das wirst du schon selbst programmieren müssen.

    Ich würde hier ansetzen ...
    http://glprogramming.com/red/chapter03.html#name9



  • Ok,
    kann gut sein, dass ich das nochmal gebrauchen kann. Danke 🙂



  • Alles Klar habs gelöst!! Danke für die Unterstützung 😃

    mfg Oermel


Anmelden zum Antworten