Тема: Xors3D
Показать сообщение отдельно
Старый 05.08.2009, 20:11   #189
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Xors3D

А можно функцию BodyCreateHull и BodyCreateMesh с Xors3D дать?
Блитзовые BodyCreateHull и BodyCreateMesh переделываются на ксорс таким образом: в командах движка дописываем x и заменяем нумерацию во всех счётчиках на диапазон от 0 до xCount....()-1.

- Ваш Кэп

Function BodyCreateHull%(mesh%, mass#)
	Local nsurf = CountSurfaces(mesh)
	Local nvert = 0
	For ns = 1 To nsurf
		Local surf = GetSurface(mesh,ns)
		nvert = nvert + CountVertices(surf)
	Next
	     vbank = CreateBank(nvert*4*3)
	nv = 0
	For ns = 1 To nsurf
		surf = GetSurface(mesh,ns)
		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
	Local bbb%= pxBodyCreateHull(vbank, nvert, mass)
	FreeBank vbank
	Return bbb
End Function

Function BodyCreateMesh(mesh%)
	nsurf = xCountSurfaces(mesh)
	nvert = 0
	nface=0
	For ns = 0 To nsurf-1
		Local surf = xGetSurface(mesh,ns)
		nface = nface+xCountTriangles(surf)
		nvert = nvert +xCountVertices(surf)
	Next

	fbank = CreateBank(nface*4*3)
	nf = 0
	vbank = CreateBank(nvert*4*3)
	nv = 0
	For ns = 0 To nsurf-1
		surf = xGetSurface(mesh,ns)
		nfv = xCountTriangles(surf)
		For nfc = 0 To nfv -1
			PokeInt fbank,nf*12+0,xTriangleVertex(surf,nfc,0)
			PokeInt fbank,nf*12+4,xTriangleVertex(surf,nfc,1)
			PokeInt fbank,nf*12+8,xTriangleVertex(surf,nfc,2)
		
			nf=nf+1
		Next

		nvv = xCountVertices(surf)
		For nvc = 0 To nvv - 1
			PokeFloat vbank,nv*12+0,xVertexX(surf,nvc)
			PokeFloat vbank,nv*12+4,xVertexY(surf,nvc)
			PokeFloat vbank,nv*12+8,xVertexZ(surf,nvc)
			nv = nv+1
		Next
	Next
	bbb%=pxCreateTriMesh(vbank, fbank, nvert, nface,0)
	FreeBank vbank
	FreeBank fbank
	Return bbb%
End Function
http://forum.boolean.name/showpost.p...50&postcount=4
Блин ну для кого писал.
Между прочим там дано описание структуры банка, который передаётся в dll, чтобы можно было написать такие функции для любого движка (специально подробно разъяснил) и для загрузки из файла и т.д.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена


Последний раз редактировалось ABTOMAT, 05.08.2009 в 21:41.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
MaxEDn2 (06.08.2009)