forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Флаг (http://forum.boolean.name/showthread.php?t=2599)

Fant 03.02.2007 19:07

Флаг
 
Код:

Graphics3D 640,480,16,2
Const segs=2,width#=4,depth#=.15
mesh=CreateMesh()
surf=CreateSurface( mesh )

For k=0 To segs
 x#=Float(k)*width/segs-width/2
 u#=Float(k)/segs
 AddVertex surf,x,1,0,u,0
 AddVertex surf,x,-1,0,u,1
Next

For k=0 To segs-1
 AddTriangle surf,k*2,k*2+2,k*2+3
 AddTriangle surf,k*2,k*2+3,k*2+1
Next
b=CreateTexture( 256,256 )
; Set buffer - texture buffer
SetBuffer TextureBuffer( b )
; Clear texture buffer with background white color
ClsColor 255,255,255
Cls
; Draw text on texture
font=LoadFont( "arial",60 )
SetFont font
Color 0,0,0
Text 0,0,"TEXT"

; Texture cube with texture
EntityTexture mesh,b
; Set buffer - backbuffer
SetBuffer BackBuffer()
camera=CreateCamera()
PositionEntity camera,0,0,-5
light=CreateLight()
TurnEntity light,45,45,0

While Not KeyHit(1)
TurnEntity mesh,0,1,0
 ph#=MilliSecs()/4
 cnt=CountVertices(surf)-1
 For k=0 To cnt
  x#=VertexX(surf,k)
  y#=VertexY(surf,k)
  z#=Sin(ph+x*300)*depth
  VertexCoords surf,k,x,y,z
 Next
 UpdateNormals mesh
 
 
 UpdateWorld
 RenderWorld
 Flip
Wend
End

Вот так создается флаг. Код взят из семплов, но в этом флаге есть 1 незначительный минус. Если его развернуть, то окажется, что сзади ничего нет.

У меня почему-то не хватает мышления куда и как поставить циферки, что бы создать вертексы так, что бы и позади было нормальное отображения флага

Diplomat 03.02.2007 19:23

Re: Флаг
 
См. EntityFX Entity, 16

Fant 03.02.2007 19:53

Re: Флаг
 
Можно ли как-то избежать проблемы: на другой стороне изображение зеркально отображается. Т.е. перевернутое, а мне там текст писать...


Часовой пояс GMT +4, время: 00:13.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot