Please can someone else run this and let me know if the cubes seem to change brightness at seemingly random intervals...
Graphics3D 1024,768
SetBuffer BackBuffer()
Const C_WHITE=0
Const C_RED=1
Const C_BLUE=2
Const C_GREEN=3
Const C_YELLOW=4
Const C_ORANGE=5
Const C_PURPLE=6
Const C_PINK=7
Const Shape_X=0
Const Shape_T=1
Const Shape_O=2
Const Shape_P=3
Const Shape_L=4
Const Shape_E=5
Const Shape_I=6
Const Shape_H=7
Const Shape_S=8
Const Shape_2=9
Const Shape_F=10
Const Shape_U=11
Const Shape_DOT=12
Global Shapes[13]
Shapes[0]=18157905
Shapes[1]=4329631
Shapes[2]=469440
Shapes[3]=1113663
Shapes[11]=575039
Shapes[12]=4096
Shapes[6]=31744
Shapes[4]=1082431
Shapes[7]=18415153
Shapes[5]=1088575
Shapes[8]=33061951
AmbientLight 128,128,128
Global Spr_Glow=CreateSprite();LoadSprite("Video\T_Glo.dds")
Global Lines_Tex=CreateTexture(256,256,3);LoadTexture("Video\T_Lines.dds")
ScaleSprite Spr_Glow,2.2,2.2
;HandleSprite Spr_Glow,0.5,0.5
HideEntity Spr_Glow
Global Steps#=2.0
Global TestShape=BuildShape(Shape_P)
Global Cam=CreateCamera()
Global CamLight=CreateLight(3,Cam)
LightConeAngles CamLight,0.01,30.0
LightColor CamLight,192,160,128
LightRange CamLight,20.0
MoveEntity Cam,0,0,-10*Steps
While Not KeyDown(1)
TurnEntity TestShape,0,0.5,0
RenderWorld
Flip
Wend
;Build
Function BuildShape(Shape)
Local ShapeFlags=Shapes[Shape]
Local Cube
Local ChildGlow
Local ROW
Local COLUMN
Local Mesh
For ROW=1 To 5
For COLUMN=1 To 5
If (ConvertCOORDToValue(ROW,COLUMN) And (ShapeFlags))
Cube=CreateBox(ROW,COLUMN)
ColourBox(Cube,Shape)
ChildGlow=CopyEntity(Spr_Glow,Cube)
EntityAlpha ChildGlow,0.5
ColourBox(ChildGlow,Shape)
EntityParent ChildGlow,Cube,True
PositionEntity ChildGlow,0,0,0,False
If Not(Mesh)
Mesh=Cube
Else
EntityParent Cube,Mesh
AddMesh Cube,Mesh
End If
End If
Next
Next
Return Mesh
End Function
Function CreateBox(ROW,COLUMN)
Local Y#=(2.5-ROW) * Steps
Local X#=(2.5-COLUMN) * Steps
Local Flag=ConvertCOORDToValue(ROW,COLUMN)
Local Mesh=CreateCube()
EntityFX Mesh,52
EntityAlpha Mesh,0.7
EntityShininess Mesh,0.0
PositionEntity Mesh,X,Y,0
EntityTexture Mesh,Lines_Tex
Return Mesh
End Function
Function ColourBox(Box,Colour)
Select Colour
Case C_WHITE
EntityColor Box,224,224,224
Case C_RED
EntityColor Box,224,32,32
Case C_BLUE
EntityColor Box,32,64,224
Case C_GREEN
EntityColor Box,32,224,32
End Select
End Function
Function ConvertCOORDToValue(Row,Column)
Return (2^(Column-1) * ((32^(Row-1))))
End Function
|