kostenloser Webspace werbefrei: lima-city


(programmiersprache egal)eigene3d-engine, wie geht MAPPING?

lima-cityForumProgrammiersprachenBasic

  1. Autor dieses Themas

    simuliertes

    Kostenloser Webspace von simuliertes

    simuliertes hat kostenlosen Webspace.

    Hallo :wave:

    Ich bin dabei ,just for fun, eine eigene 3d-engine zu schreiben (freebasic).
    Das besondere daran ist das ich sie bewusst in Isometrischer Ansicht habe.

    Das funktioniert soweit auch ganz gut, siehe hier:


    Der nächste Schritt wäre dann meine Vertices (Dreiecke) noch zu Texturieren.
    Ich stelle mir das so vor das ich also eine Bilddatei habe, aus der ein oder mehrere beliebige Dreiecke "ausschneide" und -entsprechend verzerrt- auf meine Vertices klebe.
    Nur wie Verzerre ich die Pixel entsprechend?

    Gefunden habe ich das hier:
    http://www.codeproject.com/KB/GDI-plus/ImageWarp.aspx
    und natürlich auf Wikepedia:
    http://en.wikipedia.org/wiki/Texture_mapping

    Allerdings werde ich nicht wirlich schlau daraus, bzw ich merke das ich in Mathe auch nicht richtig aufgepasst habe und deswegen die Formeln auch nicht 100% nachvollziehen kann.

    Kann mir das jemand erklären?
    Am besten mit Beispielcode (egal welche Sprache)

    p.s.
    Eventuell spiet das eine Rolle wie meine Dreiecke ausgefüllt werden.
    Ich habe sie nach dieser Anleitung gerastert.
    So wie ich's verstanden habe also mit dem in 3d-engines üblichen verfahren.



    Beitrag zuletzt geändert: 22.11.2011 17:30:36 von simuliertes
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Also ich habe deine Frage jetzt so verstanden:
    Du fragst wie Texture Mapping geht,

    dafür solltest du uns noch sagen ob du OpenGL oder Directx (oder was auch immer) verwendest das ist aber auch nicht so wichtig. Hier mal die Grundlagen:
    Jeder Punkt hat zusätzlich zu seinen drei koordinaten die angeben wo es in der welt befindet noch 2 Texture Koordinaten (U und V). Diese geben an wo der Punkt sich auf der Texture "befindet". Die Bilder haben (zumindest in OpenGL) immer eine Größe von 1. Hat deine Texture Koordinate einen größeren Wert wird die Texture mehrmals nebeneinander gedruckt. Wenn du ein einfaches Dreieck Texturieren willst musst du als UV Koordinaten einfach 3 Punkte in Form eines Dreiecks mit dem min. und max. Wert 0 und 1 angeben.

  4. Autor dieses Themas

    simuliertes

    Kostenloser Webspace von simuliertes

    simuliertes hat kostenlosen Webspace.

    krisi12345 schrieb:
    Also ich habe deine Frage jetzt so verstanden:
    Du fragst wie Texture Mapping geht,

    dafür solltest du uns noch sagen ob du OpenGL oder Directx (oder was auch immer) verwendest das ist aber auch nicht so wichtig. Hier mal die Grundlagen:
    Jeder Punkt hat zusätzlich zu seinen drei koordinaten die angeben wo es in der welt befindet noch 2 Texture Koordinaten (U und V). Diese geben an wo der Punkt sich auf der Texture "befindet". Die Bilder haben (zumindest in OpenGL) immer eine Größe von 1. Hat deine Texture Koordinate einen größeren Wert wird die Texture mehrmals nebeneinander gedruckt. Wenn du ein einfaches Dreieck Texturieren willst musst du als UV Koordinaten einfach 3 Punkte in Form eines Dreiecks mit dem min. und max. Wert 0 und 1 angeben.



    Tja und das ist leider die (falsche) Standard Antwort die mir google auch immer ausspuckt.
    Danke trotzdem...
    OpenGL und directX sind 3d-engines.
    Ich schreibe meine eigene.
    Ich möchte also die direkte Logik dahinter wissen, nicht wie ich openGlDirectXOgre3DMayaBlenderusw sage was wohin zu mappen ist...

    Ich formuliere meine Frage mal anders:

    Ich habe 2 beliebige Dreiecke die NICHT gleich sind.
    Dreieck 1 liegt auf einem Bild.
    Dreieck 2 soll jetzt diesen Bildausschnitt auch haben
    Aber so verzerrt , wie die Form des Dreiecks nr2 ist

    edit:
    Zur Verdeutlichung ( Das rechte untere Dreieck sollte dann das verzerrte Bild beinhalten)



    Beitrag zuletzt geändert: 22.11.2011 17:53:06 von simuliertes
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!