PAINTSURFACE Surface, Brush


BeschreibungBlitz3D
Die Anweisung PAINTSURFACE übergibt alle Eigenschaften eines Pinsels (brush) an eine Gitteroberfläche (surface).

Normalerweise kann man mit den Befehlen ENTITYCOLOR, ENTITYSHININESS oder ENTITYTEXTURE die Eigenschaften zuweisen. Da dafür jedes Mal ziemlich viele Befehle notwendig sind, gibt es noch das Brush-Feature. Dabei werden die Eigenschaften einfach mit Brush gespeichert. Diese Eigenschaften lassen sich danach sehr einfach mit nur einem Befehl auf beliebig viele Objekte übertragen.

Gebe dafür die Identität einer Gitteroberfläche (surface) an. Danach muss man noch die Identität eines Pinsels angeben. Dieser Pinsel kann mit CREATEBRUSH erstellt oder mit LOADBRUSH geladen werden.

Der Vorteil von PAINTSURFACE gegenüber PAINTENTITY oder PAINTMESH ist, dass nur die angegebenen Gitteroberflächen (surfaces) geändert werden, denn ein Gitterobjekt (mesh) kann aus mehreren Oberflächen bestehen!


Parameter
Surface=Identität einer Gitteroberfläche (surface)
Brush=Identität eines Pinsels (brush)


Rückgabewert
-


Beispiel
Es wird ein Kegel mit einer Lichtquelle erstellt. Die Gitteroberfläche wird dann mit dem "Pinsel" bemalt. Mit einigen Tasten lässt sich dieser Kegel dann drehen:

GRAPHICS3D 640,480
SETBUFFER BACKBUFFER()
camera=CREATECAMERA()
light=CREATELIGHT()
ROTATEENTITY light,90,0,0
cube=CREATECONE(32)
POSITIONENTITY cube,0,0,5
brush=CREATEBRUSH()
BRUSHCOLOR brush,0,0,255

surface=GETSURFACE(cube,1)
PAINTSURFACE surface,brush

WHILE NOT KEYDOWN(1)
   pitch#=0
   yaw#=0
   roll#=0
   IF KEYDOWN(208)=1 THEN pitch#=-1
   IF KEYDOWN(200)=1 THEN pitch#=1
   IF KEYDOWN(203)=1 THEN yaw#=-1
   IF KEYDOWN(205)=1 THEN yaw#=1
   IF KEYDOWN(45)=1 THEN roll#=-1
   IF KEYDOWN(44)=1 THEN roll#=1
   TURNENTITY cube,pitch#,yaw#,roll#
   RENDERWORLD
   FLIP
WEND
END


Siehe auch
CREATEBRUSH, PAINTENTITY, PAINTMESH