Code: Select all
InitEngine3D()
InitSprite()
AntialiasingMode(#PB_AntialiasingMode_None)
win=OpenWindow(#PB_Any, 0, 0, 800, 600, "Create QUAD mesh", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
OpenWindowedScreen(WindowID(win), 0, 0, WindowWidth(win), WindowHeight(win))
cam=CreateCamera(#PB_Any, 0, 0, 100, 100)
CameraProjectionMode(cam, #PB_Camera_Orthographic)
CameraRange(cam, 0.1, 1000)
CameraBackColor(cam, RGB(255, 55, 0))
RotateCamera(cam, 180, 0, 0)
hidden=CreateEntity(#PB_Any, MeshID(CreateCube(#PB_Any, 100)), #PB_Material_None, 0, 0, 500)
ScaleEntity(hidden, 100, 100, 0.01)
HideEntity(hidden, 1)
RenderWorld()
If MousePick(cam, 0, 0)
zx.f=Abs(PickX()/(ScreenWidth()/2))
zy.f=Abs(PickY()/(ScreenHeight()/2))
FreeEntity(hidden)
EndIf
w=512
h=512
tex=CreateTexture(#PB_Any, w, h)
If StartDrawing(TextureOutput(tex))
DrawingMode(#PB_2DDrawing_Gradient)
BackColor(RGB(162, 75, 51))
FrontColor(RGB(71, 162, 51))
CircularGradient(w, h, w/2)
Box(0, 0, w, h)
DrawingMode(#PB_2DDrawing_Default)
Plot(0, 1, 0)
Plot(1, 0, 0)
Plot(0, 3, 0)
Plot(3, 0, 0)
StopDrawing()
EndIf
mat=CreateMaterial(#PB_Any, TextureID(tex))
MaterialFilteringMode(mat, #PB_Material_None)
MaterialCullingMode(mat, #PB_Material_NoCulling)
DisableMaterialLighting(mat, #True)
m=CreateMesh(#PB_Any, #PB_Mesh_TriangleList, #PB_Mesh_Dynamic)
MeshVertexPosition(0, 0, 0)
MeshVertexPosition(0, 0, 0)
MeshVertexPosition(0, 0, 0)
MeshFace(0, 1, 2)
FinishMesh(0)
UpdateMesh(m, 0)
MeshVertexPosition(0, 0, 0)
MeshVertexTextureCoordinate(0, 0) ;<--- no effect ?
MeshVertexColor(RGBA(255, 255, 255, 255)) ;<--- no effect ?
MeshVertexPosition(w, 0, 0)
MeshVertexTextureCoordinate(1, 0)
MeshVertexColor(RGBA(255, 255, 255, 255))
MeshVertexPosition(w, h, 0)
MeshVertexTextureCoordinate(1, 1)
MeshVertexColor(RGBA(255, 255, 255, 255))
MeshVertexPosition(0, h, 0)
MeshVertexTextureCoordinate(0, 1)
MeshVertexColor(RGBA(255, 255, 255, 255))
MeshFace(0, 1, 2)
MeshFace(2, 3, 0)
FinishMesh(0)
e=CreateNode(#PB_Any, 0, 0, 500)
AttachNodeObject(e, MeshID(m))
SetMeshMaterial(m, MaterialID(mat))
posX.f=1.0
posY.f=1.0
MoveNode(e, (-ScreenWidth()/2.0+posX)*zx, (-ScreenHeight()/2.0+posY)*zy, 0)
ScaleNode(e, zx, zy, 1)
Repeat
RenderWorld()
FlipBuffers()
Until WaitWindowEvent(1)=#PB_Event_CloseWindow