2009-03-16 17 views
4

Mit OpenGL ES auf dem iPhone, ist es möglich, Bump Mapping (mit normalen Perturbation Maps) zu tun?Bump Mapping auf dem iPhone

Von meiner Google-Suche scheint es, dass die OpenGL ES-Erweiterung, die es unterstützt, Bump-Mapping nicht zulässt.

Nach this guy, die Gaming-Middleware für das iPhone schreibt, kann man das Potenzial der Hardware sehen, indem man Demos auf der Website imgtec (der Marker des iPhones Grafikchip) beobachtet. Eine solche Demo ist eine bump mapping demo. Aber es gibt keine Quelle zu finden.

Kevin Doolan erwähnt auch die GL-Erweiterungen sind nicht für Entwickler aktiviert.

Antwort

9

@CVertex

Der DOT3 Mischmodus wird auf dem iPhone unterstützt, die das Mindeste, was man braucht, um es zu tun.

Die Vertex-Programmerweiterung wird auf dem iPhone nicht angezeigt, ist aber nicht erforderlich. Der Zweck der Erweiterung ist in diesem Fall, dass Sie den Lichtvektor in den Tangentenraum transformieren können - aber wie ich in meinem Blog erwähnt habe, können Sie dies auf der CPU tun und die Ergebnisse einfach als Vertex - Farben kodieren DOT3-Format-Normalen) nach GL. Es wird natürlich viel langsamer als wenn Sie ein Vertex-Programm verwenden könnten. Wenn Sie Object Space-Bump-Mapping durchführen, müssen Sie den Lichtvektor nicht transformieren oder auf der Vertex-Ebene codieren - Sie können ihn einfach als konstante Farbe eingeben.

Die vollständige Quelle für die Bump-Mapping-Demo, die Sie auf IS beziehen, ist auf der Website imgtec verfügbar. Laden Sie das 1.x SDK herunter, verfügbar unter here. Es ist eine Demo von Objektbereich bump Mapping (Suche nach PolyBump).

KevinD.

1

Es scheint möglich zu sein (zumindest bei Verwendung von OpenGL ES 1.1+), aber ich konnte auch keine Tutorials finden, wie es geht. Es gibt eine GDC 2006 PDF, die es erwähnt und es wird eine Khronos Group course über Techniken wie diese geben.

Es wird auch im Kapitel "OpenGL ES 1.1 im Detail" unter this page erwähnt.