Also aktuell wird es mal beleuchtet und mal nicht, je nachdem wo das Licht steht. Wohin das Sprite dabei gedreht ist, hat keinen Einfluss. Siehe Codebeispiel.
Wie es idealerweise sein sollte? Hmm, bin mir nicht ganz sicher es gibt Fälle in denen es als normales Objekt behandelt (also auch beleuchtet) werden sollte (z.B. Laub, Partikel) und es gibt Fälle in denen die Beleuchtung keine Rolle spielen sollte (z.B. Explosionen). Ist also nicht ganz einfach zu beantworten. Ideal wäre da wohl eine Wahlmöglichkeit, wobei ich dem keine hohe Priorität geben würde, da wäre eine Rotationsmöglichkeit des X_Sprites schon wichtiger. Aber auch hier hat das Bugfixing eine höhere Priorität als die Implementierung neuer Features.
So ungefähr sollte X_SPRITE auch funktionieren:
Wie es idealerweise sein sollte? Hmm, bin mir nicht ganz sicher es gibt Fälle in denen es als normales Objekt behandelt (also auch beleuchtet) werden sollte (z.B. Laub, Partikel) und es gibt Fälle in denen die Beleuchtung keine Rolle spielen sollte (z.B. Explosionen). Ist also nicht ganz einfach zu beantworten. Ideal wäre da wohl eine Wahlmöglichkeit, wobei ich dem keine hohe Priorität geben würde, da wäre eine Rotationsmöglichkeit des X_Sprites schon wichtiger. Aber auch hier hat das Bugfixing eine höhere Priorität als die Implementierung neuer Features.
So ungefähr sollte X_SPRITE auch funktionieren:
Code (glbasic) Select
FUNCTION CreateBillboard: num, sz
sz=sz/2
X_AUTONORMALS 1
X_OBJSTART num
X_OBJADDVERTEX sz, -sz, sz, 1, 1, RGB(255,255,255)
X_OBJADDVERTEX -sz, -sz, sz, 0, 1, RGB(255,255,255)
X_OBJADDVERTEX sz, sz, sz, 1, 0, RGB(255,255,255)
X_OBJADDVERTEX -sz, sz, sz, 0, 0, RGB(255,255,255)
X_OBJEND
ENDFUNCTION
FUNCTION DrawBillboard: num, x,y,z, cx,cy,cz, scale, rotation
X_MOVEMENT x, y, z
X_SCALING scale, scale, scale
X_ROTATION rotation, 0,0,1
z=cz-z
IF NOT z THEN INC z, 0.0000000000001
X_ROTATION -ATAN((cy-y)*COS(ATAN(cx-x, ABS(z))), ABS(z)), 1,0,0
X_ROTATION ATAN(cx-x, z), 0,1,0
X_DRAWOBJ num, 0
ENDFUNCTION
Quote from: kanonet on 2011-Mar-01Tritt vor allem im Releasemodus auf, im Debugmodus jedoch kaum.
Übrigens verhält sich X_LINE seltsam, es [...] färbt die ganze Szene entsprechend der eigenen Farbe [...], siehe Code.