Знающий
Регистрация: 04.08.2006
Адрес: Россия
Сообщений: 297
Написано 39 полезных сообщений (для 70 пользователей)
|
Re: Частичное текстурирование примитива.
Вот, с текстурными координатами мог напутать, а так функция должна работать.

Function CreateCube2(SizeX# = 1, SizeY# = 1, SizeZ# = 1)
Local Mesh = CreateMesh()
;top
Local Surface = CreateSurface(Mesh)
AddVertex(Surface, -0.5, 0.5, 0.5, 0, 0)
AddVertex(Surface, 0.5, 0.5, 0.5, 1, 0)
AddVertex(Surface, 0.5, 0.5, -0.5, 1, 1)
AddVertex(Surface, -0.5, 0.5, -0.5, 0, 1)
AddTriangle(Surface, 0, 1, 2)
AddTriangle(Surface, 2, 3, 0)
;bottom
Surface = CreateSurface(Mesh)
AddVertex(Surface, -0.5, -0.5, 0.5, 0, 0)
AddVertex(Surface, 0.5, -0.5, 0.5, 1, 0)
AddVertex(Surface, 0.5, -0.5, -0.5, 1, 1)
AddVertex(Surface, -0.5, -0.5, -0.5, 0, 1)
AddTriangle(Surface, 0, 3, 2)
AddTriangle(Surface, 2, 1, 0)
;front
Surface = CreateSurface(Mesh)
AddVertex(Surface, -0.5, 0.5, 0.5, 0, 0)
AddVertex(Surface, 0.5, 0.5, 0.5, 1, 0)
AddVertex(Surface, 0.5, -0.5, 0.5, 1, 1)
AddVertex(Surface, -0.5, -0.5, 0.5, 0, 1)
AddTriangle(Surface, 0, 3, 2)
AddTriangle(Surface, 2, 1, 0)
;back
Surface = CreateSurface(Mesh)
AddVertex(Surface, -0.5, 0.5, -0.5, 0, 0)
AddVertex(Surface, 0.5, 0.5, -0.5, 1, 0)
AddVertex(Surface, 0.5, -0.5, -0.5, 1, 1)
AddVertex(Surface, -0.5, -0.5, -0.5, 0, 1)
AddTriangle(Surface, 0, 1, 2)
AddTriangle(Surface, 2, 3, 0)
;left
Surface = CreateSurface(Mesh)
AddVertex(Surface, -0.5, 0.5, -0.5, 0, 0)
AddVertex(Surface, -0.5, 0.5, 0.5, 1, 0)
AddVertex(Surface, -0.5, -0.5, 0.5, 1, 1)
AddVertex(Surface, -0.5, -0.5, -0.5, 0, 1)
AddTriangle(Surface, 0, 3, 2)
AddTriangle(Surface, 2, 1, 0)
;right
Surface = CreateSurface(Mesh)
AddVertex(Surface, 0.5, 0.5, -0.5, 0, 0)
AddVertex(Surface, 0.5, 0.5, 0.5, 1, 0)
AddVertex(Surface, 0.5, -0.5, 0.5, 1, 1)
AddVertex(Surface, 0.5, -0.5, -0.5, 0, 1)
AddTriangle(Surface, 0, 1, 2)
AddTriangle(Surface, 2, 3, 0)
ScaleMesh(Mesh, SizeX, SizeY, SizeZ)
UpdateNormals(Mesh)
Return Mesh
End Function
Graphics3D(640, 480, 16, 2)
SetBuffer(BackBuffer())
Camera = CreateCamera()
PositionEntity(Camera, 0, 0, -3)
Cube = CreateCube2()
Repeat
TurnEntity(Cube, 1, 1, 1)
RenderWorld()
Flip()
Until KeyDown(1)
End
ЗЫ
Почему так быстро регистрация пропадает? Каждые пять минут приходицца заного логиницца.
|