forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Xors3D (http://forum.boolean.name/forumdisplay.php?f=126)
-   -   С Blitz3d на Xors (http://forum.boolean.name/showthread.php?t=7557)

Townboy 04.01.2009 08:31

С Blitz3d на Xors
 
Помогите перевести на Xors вот это

Function TriMesh(inmesh%)

outmmesh=CreateMesh()
outsurf=CreateSurface(outmmesh)
outvc=0
For sc=1 To CountSurfaces(inmesh)
insurf=GetSurface(inmesh,sc)

For vc=0 To CountVertices(insurf)-1
NewV=AddVertex(outsurf,VertexX(insurf,vc),VertexY( insurf,vc),VertexZ(insurf,vc))
Next

For tc=0 To CountTriangles(insurf)-1
AddTriangle(outsurf,outvc+TriangleVertex(insurf,tc ,0),outvc+TriangleVertex(insurf,tc,1),outvc+Triang leVertex(insurf,tc,2))
Next

outvc=outvc+CountVertices(insurf)
Next
UpdateNormals outmmesh

nsurf = CountSurfaces(outmmesh )
nvert = 0
nface=0
For ns = 1 To nsurf
Local surf = GetSurface(outmmesh ,ns)
nface = nface+CountTriangles(surf)
nvert = nvert +CountVertices(surf)
Next

fbank = CreateBank(nface*4*3)
nf = 0
vbank = CreateBank(nvert*4*3)
nv = 0
For ns = 1 To nsurf
surf = GetSurface(outmmesh,ns)
nfv = CountTriangles(surf)
For nfc = 0 To nfv -1
PokeInt fbank,nf*12+0,TriangleVertex(surf,nfc,0)
PokeInt fbank,nf*12+4,TriangleVertex(surf,nfc,1)
PokeInt fbank,nf*12+8,TriangleVertex(surf,nfc,2)
nf=nf+1
Next

nvv = CountVertices(surf)
For nvc = 0 To nvv - 1
PokeFloat vbank,nv*12+0,VertexX(surf,nvc)
PokeFloat vbank,nv*12+4,VertexY(surf,nvc)
PokeFloat vbank,nv*12+8,VertexZ(surf,nvc)
nv = nv+1
Next
Next
bbb%=pxCreateTriMesh(vbank, fbank, nvert, nface,0)
FreeBank vbank
FreeBank fbank
FreeEntity outmmesh
Return bbb%
End Function

Mr_F_ 04.01.2009 16:03

Ответ: С Blitz3d на Xors
 
её не надо переводить...в ксорсе есть спец команды для вертекс и индекс буффера...смотри семплы физыкса под ксорс на рубукс.нет.


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

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