Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > C++

Ответ
 
Опции темы
Старый 19.10.2006, 18:45   #1
jimon
 
Сообщений: n/a
быстрый FAQ : Создание динамического trianglemesh в physx

надо коекому кинуть было ну и другим мож понадобится

#define NOMINMAX 

#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <fstream>
#include <string>
#include <sstream>
#include <wchar.h>
#include <math.h>

extern unsigned int		BUNNY_NBVERTICES;
extern unsigned int		BUNNY_NBFACES;
extern float			gBunnyVertices[];
extern int				gBunnyTriangles[];
NxTriangleMesh	* bunnyTriangleMesh;

NxPhysicsSDK*	gPhysicsSDK = NULL;
NxScene*			gScene = NULL;

NxActor * blablablabunny;

void CreateBunny(const NxVec3 & pos)
{

	//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
	//генерация PMAP ФАЙЛА
	//выдрано из jimon framework 2 :)

	NxPMap q3mapPMap;
	q3mapPMap.dataSize	= 0;
	q3mapPMap.data		= NULL;

	NxTriangleMeshDesc bunnyDesc;
	bunnyDesc.numVertices				= BUNNY_NBVERTICES;
	bunnyDesc.numTriangles				= BUNNY_NBFACES;
	bunnyDesc.pointStrideBytes			= sizeof(NxVec3);
	bunnyDesc.triangleStrideBytes		= 3*sizeof(NxU32);
	bunnyDesc.points					= gBunnyVertices;
	bunnyDesc.triangles					= gBunnyTriangles;							
	bunnyDesc.flags						= 0;

	MemoryWriteBuffer buf;
	NxCookTriangleMesh(bunnyDesc, buf);
	MemoryReadBuffer readBuffer(buf.data);
	NxTriangleMesh *q3mapTriangleMesh = gPhysicsSDK->createTriangleMesh(readBuffer);

	char * file_name = "bunny.pmap";

	std::fstream file(file_name,std::ios::in|std::ios::binary|std::ios::ate);
	if (!file.good()) // if the file doesn't exist
	{
		file.close();
		file.clear();

		file.open(file_name,std::ios::out|std::ios::binary|std::ios::trunc);
		if(NxCreatePMap(q3mapPMap, *q3mapTriangleMesh, 64))
		{
			// The pmap has successfully been created, save it to disk for later use
			if (file.good())
			{
				file.write((char*)q3mapPMap.data, q3mapPMap.dataSize);
			}

			//assign pmap to mesh
			q3mapTriangleMesh->loadPMap(q3mapPMap);

			// sdk created data => sdk deletes it
			NxReleasePMap(q3mapPMap);
		}

		file.close();
	}
	else
	{
		// Found pmap file
		q3mapPMap.dataSize	= file.tellg(); //getFileSize("q3map.pmap");
		file.seekg(0,std::ios::beg);
		q3mapPMap.data		= new NxU8[q3mapPMap.dataSize];
		file.read((char*)q3mapPMap.data, q3mapPMap.dataSize);//fread(q3mapPMap.data, q3mapPMap.dataSize, 1, fp);
		file.close();

		q3mapTriangleMesh->loadPMap(q3mapPMap);
		delete [] q3mapPMap.data;
	}


	// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
	//	создание самого обьекта

	//create triangle mesh instance
	NxTriangleMeshShapeDesc bunnyShapeDesc;
	bunnyShapeDesc.meshData	= q3mapTriangleMesh;
	bunnyShapeDesc.localPose.t.set(0,0.65f,0);

	// Create body
	NxBodyDesc BodyDesc;
	BodyDesc.angularDamping	= 0.5f;
	BodyDesc.maxAngularVelocity	= 10.0f;

	NxActorDesc ActorDesc;
	ActorDesc.shapes.pushBack(&bunnyShapeDesc);
	ActorDesc.body			= &BodyDesc;
	ActorDesc.density		= 1.0f;
	ActorDesc.globalPose.t  =  pos;
	NxActor* newActor = gScene->createActor(ActorDesc);

	blablablabunny = newActor;

}
код работает на PhysX SDK 2.5.1
для работы надо еще NxBunnyData.cpp приложить в проект
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Приём заявок для творческого коллектива... viper86 Blitz3D 33 22.08.2009 22:53
Создание динамического массива объектов класса Aceton C++ 10 29.03.2009 19:01
Создан самый быстрый SSD накопитель HolyDel Болтовня 8 14.03.2009 00:01
Синтез человеческого голоса Prof. BiG BanG Создание звукового оформления 12 05.11.2007 03:20
PhysX ? бесплатно и для комерческого использования.... jimon C++ 8 11.11.2006 16:59


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com