Seite 1 von 1

2D BumpMapping

Verfasst: 05.05.2009 20:17
von Arthur
Hi,
ich hab mal ne Frage^^, und zwar:

Kann man das PB-Interne Spritesystem so verändren, das man nen Shader drauflegen kann?
Das soll heißen das man zB.: Bumpmapping auf den einzelnen 2D Sprites machen kann.
So wie hier, das in Beispiel von der "BlitzBasic"-Seite:
Bild

MfG Arthur

Verfasst: 05.05.2009 20:36
von Kaeru Gaman
gute Frage....

schau dir mal Sprite3D BlendingMode an...
damit kannst du für ein Sprite3D festlegen, wie es mit dem Untergrund verrechnet wird.
das ist alles andere als dasselbe, ich weiß.

diese Shader-Effekte gibt es erst ab DX8, und bisher gibt es noch keine PB-Kommandos die das ausnutzen.

Verfasst: 05.05.2009 20:45
von Arthur
Mhh also, mit den BlendingMode bekomm ich leider nicht annähernd diesen Effekt. Ich dachte halt man kann bisl die SpriteStruktur ändern und n paar API Befehle nutzen :) . Schade eigentlich.
Und wie is es, wenn ich das DX9 Subsystem verwenden würde?

MfG Arthur

Verfasst: 05.05.2009 20:46
von Kaeru Gaman
das bräuchtest du sowieso, und du musst eben die speziellen Funktionen direkt aus der Lib aufrufen, native PB-Befehle gibts dafür nicht.

... wie genau das dann geht kann ich dir aber auch nicht beschreiben..

Verfasst: 06.05.2009 08:29
von Vermilion
Mit Sprite3D kann man das doch gar nicht machen (nicht wirklich). Da muss man auf Shader (kommt von "Shade", englisch für "Schatten") zurückgreifen, oder man nimmt gleich 3D Grafik mit orthografischer Darstellung (ohne Perspektive, von oben sieht es dann aus wie 2D Grafik).

Nur die APIs OpenGL und Direct3D unterstützen Shader, und das PureBasic 2D Sprite System verwendet wahrscheinlich nicht Direct3D, da die Sprites nicht die Maße 2^n haben müssen (ist üblich bei den Texturen der 3D APIs).

Verfasst: 06.05.2009 08:54
von DarkDragon
Im OpenGL Subsystem von PureBasic kann man Shader nutzen. Mit dem DirectX 9 Subsystem wirds schwieriger, aber ich denke das geht sicher auch irgendwie (Auch wenn man dann mit den PB internals hantieren muss).

Ich kann später mal ein Beispiel fürs OpenGL Subsystem hochladen wenn ihr wollt.

Verfasst: 06.05.2009 19:42
von Arthur
Hab mal nachgelesen, und der der das gemacht hat hat es auch mit "OpenGL" gemacht. :( arrg ich kann kein OpenGL -.-
2D NormalsMapping ( Blitzmax + OpenGL )

Die miesen FPS resultieren aus "ich hämmer auf die Screenshot-Taste, in der Hoffnung, ich erwische ein nettes Bild". Laughing

Insgesamt kein tieferer Sinn - just for fun only.
Die Technik ist zu aufwändig, um daraus "auf die Schelle" mehr zu machen. *schnief* Rolling Eyes

MfG, Ava

Verfasst: 06.05.2009 19:53
von DarkDragon
Hier hats ein Beispiel wie man Shader in die PureBasic Spriteengine unter dem OpenGL Subsystem integrieren kann:

http://www.bradan.eu/files/oglsubsystemshader.zip