насчет подключения, лично я невижу никакой разницы между етими файлами, но могу сделать одельный интерфейс в h - файл, чтобы cpp глаза не мозолил.
насчет структуры - собственно я сейчас его пишу не для того, чтобы написать. первый блин всегда комом. просто, потренировать мозги на сообразительность. спасибо.
Render, я с тобой согласен, что условия нечестные. тем более наверняка половина из тестирующих не выключала даже DebugMode. собсно мне пока влом переписывать sigel файл, но если кому не в лом, то пусть он вынесет код обновления етих фигур за цикл, примерно так:
Graphics3D 1024,768,32,1
cam=CreateCamera()
TurnEntity cam,0,180,0
cnt=10000
cube=CreateCube()
tex=LoadTexture("texture.bmp")
EntityTexture cube,tex
last_tick=MilliSecs()
Type cub
Field dx#,dy#,dz#,x#,y#,z#,ax#,ay#,az#,r#
Field ent
End Type
For i=1 To cnt
c.cub=New cub
c\ax=Rnd(-2,2)
c\ay=Rnd(-2,2)
c\az=Rnd(-2,2)
c\dx=Rnd(-0.005,0.005)*57
c\dy=Rnd(-0.005,0.005)*57
c\dz=Rnd(-0.005,0.005)*57
c\r=Rnd(20,50)
c\x=Rnd(-1.57,1.57)*57
c\y=Rnd(-1.57,1.57)*57
c\z=Rnd(-1.57,1.57)*57
c\ent=CopyEntity(cube)
Next
x#=0
y#=0
z#=0
For c.cub=Each cub
x=Sin(c\x)*c\r
y=Cos(c\y)*c\r
z=-50+Sin(c\z)*c\r
c\x=c\x+c\dx
c\y=c\y+c\dy
c\z=c\z+c\dz
PositionEntity(c\ent,x,y,z)
TurnEntity(c\ent,c\ax,c\ay,c\az)
Next
While Not KeyDown(1)
frames=frames+1
If(last_tick<MilliSecs()-1000)
last_tick=MilliSecs()
fps=frames
frames=0
EndIf
RenderWorld
Text 10,10,fps
Flip
Wend
все равно меньше. у меня 16-20. тогда как в сиджеле, даже при постоянных апдейтах - 25-29.
собственно я признаюсь, в блице тормозит FrustumCulling, я не знаю как они его делали, но явно по тормозному. в своей ф-ии (для примера брал из NeHe) я вылизал все математические операторы. поетому она и работает быстро. а тормозит дурацкий вывод.