Tree Scene Node v2.1
ok i like the idea, but boys lets go next gen..
http://http.developer.nvidia.com/GPUGem ... _ch04.html
http://http.developer.nvidia.com/GPUGem ... _ch04.html
that is far from 1.5 friendly, here's a version that works with 1.5 and svn. thanks a million for this Klasger you tree like no other. http://www.xup.in/dl,10862957/ProceduralTrees.7z
working download compatible with 1.5 Irredit (plugin)
first ... I must thank to all the ppl involved in this develop... its amazing the time and effort and the result of that energy.
I am interested in this plugin for the 1.5 editor (Irredit) ... and like baiqian, the downloads came to an dead end... some one have any working link of this?
Thanks again, later.
I am interested in this plugin for the 1.5 editor (Irredit) ... and like baiqian, the downloads came to an dead end... some one have any working link of this?
Thanks again, later.
Hi all,
I´ve discovered this application and it´s fantastic! I would like to export the generated tree to a file to be imported from irrlicht after.
I´ve tried to use this function in main.cpp
and the variable HighLODMesh is created in the function setup in the file CTreeSceneNode.cpp,
after HighLODMeshBuffer initilization,
with type,
I have uploaded the generated mesh file,
http://www.file-upload.eu/download-1715 ... e.irr.html
Thank you very much for your help!
I´ve discovered this application and it´s fantastic! I would like to export the generated tree to a file to be imported from irrlicht after.
I´ve tried to use this function in main.cpp
Code: Select all
void saveTree ()
{
core::stringc dest;
dest = "tree.irr";
irr::scene::IMeshWriter *writer = manager->createMeshWriter(irr::scene::EMWT_IRR_MESH);
writer->writeMesh(device->getFileSystem()->createAndWriteFile(dest.c_str()), tree->HighLODMesh);
writer->drop();
}
Code: Select all
void CTreeSceneNode::setup( const STreeMesh* highLOD, const STreeMesh* midLOD, video::ITexture* billboardTexture )
after HighLODMeshBuffer initilization,
Code: Select all
HighLODMeshBuffer = highLOD->MeshBuffer;
MidLODMeshBuffer = midLOD->MeshBuffer;
// my two lines code ->
HighLODMesh = new SMesh();
HighLODMesh->addMeshBuffer(HighLODMeshBuffer);
Code: Select all
SMesh* HighLODMesh;
http://www.file-upload.eu/download-1715 ... e.irr.html
Thank you very much for your help!
the 1.4 version works in 1.5 with only very minor edits. basically just changing the SMaterial.textures[0] to SMaterial.GetTexture(0) or something like that (saying this from memory, dont have the code here).
Anyway, I was able to get it working in irredit 1.5 in like 30 mins. Not too big a deal. If and when i have time I will post it someplace, but no guarantees I am REAL lazy y'know.....
Anyway, I was able to get it working in irredit 1.5 in like 30 mins. Not too big a deal. If and when i have time I will post it someplace, but no guarantees I am REAL lazy y'know.....
My irrlicht-based projects have gone underground for now, but if you want, check out my webcomic instead! http://brokenboomerang.net
Procedural Trees on Linux
Hi everyone. I succesfully compiled Ptrees on Debian.
But at run i get a Segfault.
Here's GDB debug output:
----------------------------------------------------------------------
Program received signal SIGSEGV, Segmentation fault.
0x0804bf9c in main () at ../../include/vector3d.h:28
28
Current language: auto; currently c++
(gdb) list
23 vector3d(const vector3d<T>& other) : X(other.X), Y(other.Y), Z(other.Z) {}
24
25 // operators
26
27 vector3d<T> operator-() const { return vector3d<T>(-X, -Y, -Z); }
28
29 vector3d<T>& operator=(const vector3d<T>& other) { X = other.X; Y = other.Y; Z = other.Z; return *this; }
30
31 vector3d<T> operator+(const vector3d<T>& other) const { return vector3d<T>(X + other.X, Y + other.Y, Z + other.Z); }
32 vector3d<T>& operator+=(const vector3d<T>& other) { X+=other.X; Y+=other.Y; Z+=other.Z; return *this; }
--------------------------------------------------------------
Hope someone can help me.
But at run i get a Segfault.
Here's GDB debug output:
----------------------------------------------------------------------
Program received signal SIGSEGV, Segmentation fault.
0x0804bf9c in main () at ../../include/vector3d.h:28
28
Current language: auto; currently c++
(gdb) list
23 vector3d(const vector3d<T>& other) : X(other.X), Y(other.Y), Z(other.Z) {}
24
25 // operators
26
27 vector3d<T> operator-() const { return vector3d<T>(-X, -Y, -Z); }
28
29 vector3d<T>& operator=(const vector3d<T>& other) { X = other.X; Y = other.Y; Z = other.Z; return *this; }
30
31 vector3d<T> operator+(const vector3d<T>& other) const { return vector3d<T>(X + other.X, Y + other.Y, Z + other.Z); }
32 vector3d<T>& operator+=(const vector3d<T>& other) { X+=other.X; Y+=other.Y; Z+=other.Z; return *this; }
--------------------------------------------------------------
Hope someone can help me.
ok. i recompiled without flags: -O3 -ffast-math
now we have this:
----------------------------------------------------------------------------------------------
Program received signal SIGSEGV, Segmentation fault.
0x0804cab3 in irr::IReferenceCounted::drop () at ../../include/SMaterial.h:251
251 //! Sets the i-th texture
Current language: auto; currently c++
----------------------------------------------------------------------------------------------
guess what?
now we have this:
----------------------------------------------------------------------------------------------
Program received signal SIGSEGV, Segmentation fault.
0x0804cab3 in irr::IReferenceCounted::drop () at ../../include/SMaterial.h:251
251 //! Sets the i-th texture
Current language: auto; currently c++
----------------------------------------------------------------------------------------------
guess what?