теоретически, SBS сюрфейсы могут работать быстрее, из-за сортировки индексов так, чтобы максимальное число вершин попадало в TnL кеш.
на практике я как таковой разницы в блице не заметил. у меня получалось выигрывать таким способом 10-20% в скорости.
Function LoadSBS(filename$)
e =ReadFile(filename)
m = CreateMesh()
s = CreateSurface(m)
chr_0 = ReadByte(e)
chr_1 = ReadByte(e)
chr_2 = ReadByte(e)
chr_3 = ReadByte(e)
chr_4 = ReadByte(e)
chr_5 = ReadByte(e)
fake0 = ReadInt(e)
fake1 = ReadInt(e)
fake2 = ReadInt(e)
primtype = ReadInt(e)
DebugLog primtype
ci = ReadInt(e)
cv = ReadInt(e)
For i = 1 To ci/3
i0 = ReadShort(e)
i1 = ReadShort(e)
i2 = ReadShort(e)
AddTriangle(s,i0,i1,i2)
Next
For i = 1 To cv
u# = ReadFloat(e)
v# = ReadFloat(e)
r = ReadFloat(e)
g = ReadFloat(e)
b = ReadFloat(e)
a = ReadFloat(e)
nx# = ReadFloat(e)
ny# = ReadFloat(e)
nz# = ReadFloat(e)
x# = ReadFloat(e)
y# = ReadFloat(e)
z# = ReadFloat(e)
AddVertex(s,x,y,z,u,v)
VertexNormal(s,i-1,nx,ny,nz)
Next
RotateMesh m,-90,0,0
DebugLog ci
DebugLog cv
CloseFile(e)
Return m
End Function
http://likosoft.ucoz.ru/SBSloader.zip