Post Your Irrlicht Screenshots / Render Here.

Post your questions, suggestions and experiences regarding to Image manipulation, 3d modeling and level editing for the Irrlicht engine here.
Mel
Competition winner
Posts: 2292
Joined: Wed May 07, 2008 11:40 am
Location: Granada, Spain

Re: Post Your Irrlicht Screenshots / Render Here.

Post by Mel »

Some Constructive Geometry Operation: Clipping convex brushes by planes (i hope the links work...)

Image

Image

Next: Brushes intersections... That shouldn't provide much of a challenge, but things get interesting when those brushes move... :)
"There is nothing truly useless, it always serves as a bad example". Arthur A. Schmitt
CuteAlien
Admin
Posts: 9734
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Re: Post Your Irrlicht Screenshots / Render Here.

Post by CuteAlien »

@Mel: Nice. Are you working on an editor?
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
christianclavet
Posts: 1638
Joined: Mon Apr 30, 2007 3:24 am
Location: Montreal, CANADA
Contact:

Re: Post Your Irrlicht Screenshots / Render Here.

Post by christianclavet »

Nice work Mel! Do you plan to use this to do convex decomposition?
Mel
Competition winner
Posts: 2292
Joined: Wed May 07, 2008 11:40 am
Location: Granada, Spain

Re: Post Your Irrlicht Screenshots / Render Here.

Post by Mel »

Converting arbitrary meshes into convex spaces isn't implemented, or perhaps, the conversion wouldn't happen in real time. My system represents the spaces as sets of planes defining closed spaces (i.e. you don't have access to its vertices and faces, only to the planes), so the simplest (though not the fastest) way would be to convert an arbitrary mesh into a BSP, and cut through it and converting the split BSP back into a regular mesh. That, in a nutshell.

My intention is to have both a procedural tool to build shapes and a way to handle closed spaces more eficient than triangle lists. An editor isn't in my projects list as of now, but it is clear that to get the most of these objects, it is better to have one.

Working intersections... Now i have to stress test it...

Image
"There is nothing truly useless, it always serves as a bad example". Arthur A. Schmitt
Mel
Competition winner
Posts: 2292
Joined: Wed May 07, 2008 11:40 am
Location: Granada, Spain

Re: Post Your Irrlicht Screenshots / Render Here.

Post by Mel »

Finally, renderable meshes :)

Actually it isn't anything really special, the polygons get triangulated into lists (so far, irrlicht doesn't support triangle fans MBs, though those i guess that have a catch... how to tell when a triangle fan ends and when a triangle fan starts?...) and are all added into a single meshbuffer (if i wanted to add more polygons into the meshbuffer, it would be perfectly possible)

The mapping coordinates are done within Irrlicht, so check the doc about it, although i want to implement on a per polygon basis a mapping coordinates reference for the triangulation, so each polygon can have its own set of texture coordinates and tangent space generation, for normal mapping and all that.

All the shapes that generate the last object
Image
https://pbs.twimg.com/media/CpAmTh8XYAA6dYG.jpg

the object itself
Image
https://pbs.twimg.com/media/CpAmTiBWgAED37O.jpg
"There is nothing truly useless, it always serves as a bad example". Arthur A. Schmitt
chronologicaldot
Competition winner
Posts: 688
Joined: Mon Sep 10, 2012 8:51 am

Re: Post Your Irrlicht Screenshots / Render Here.

Post by chronologicaldot »

Excellent, Mel!
Vectrotek
Competition winner
Posts: 1087
Joined: Sat May 02, 2015 5:05 pm

Re: Post Your Irrlicht Screenshots / Render Here.

Post by Vectrotek »

Nice! I think this CSG stuff should make in into the engine.
Keep going on the BSP, it is the one thing Irrlicht can do with!
Nice!
Mel
Competition winner
Posts: 2292
Joined: Wed May 07, 2008 11:40 am
Location: Granada, Spain

Re: Post Your Irrlicht Screenshots / Render Here.

Post by Mel »

Definitively Irrlicht could use some convex body manipulation :)
"There is nothing truly useless, it always serves as a bad example". Arthur A. Schmitt
hendu
Posts: 2600
Joined: Sat Dec 18, 2010 12:53 pm

Re: Post Your Irrlicht Screenshots / Render Here.

Post by hendu »

Kinky ;)
Mel
Competition winner
Posts: 2292
Joined: Wed May 07, 2008 11:40 am
Location: Granada, Spain

Re: Post Your Irrlicht Screenshots / Render Here.

Post by Mel »

BSP are easy, they're useful as access acceleration structures, the point is implementing something out of them, perhaps, using convex areas you can organize a complex scene so a convex area can have some other convex areas as neighbours, forming a graph. Using a BSP you may find quickly where you are and enable only that area to render, or perhaps that area and the inmediate neighbours, or other schemes, even dynamic visibility calculations using occlusion queries (you query the the covered pixels of the convex area), creating an efective management system for complex scenes. If we add in the ability to render octrees, the potential is huge.

Which is the kinikiest part you find? The Convex, the Body or the Manipulation? :D
"There is nothing truly useless, it always serves as a bad example". Arthur A. Schmitt
Vectrotek
Competition winner
Posts: 1087
Joined: Sat May 02, 2015 5:05 pm

Re: Post Your Irrlicht Screenshots / Render Here.

Post by Vectrotek »

I reckon they're all kinky! I'd love to see this tech applied on something
like a Quake 3 level which currently only uses Octrees for optimization (I think)..
Or even kinkier would be to load a large "*.obj" and apply BSP on that!

Good work Mel! 8)
Mel
Competition winner
Posts: 2292
Joined: Wed May 07, 2008 11:40 am
Location: Granada, Spain

Re: Post Your Irrlicht Screenshots / Render Here.

Post by Mel »

Quake 3 curved surfaces are MA B*TCH*S! LOL I can now use them as primitives for mesh creation :D While the trouble saving irr scenes solved, i moved on and implemented these. I could implement the LOD control, but at this rate, that is better done on a geometry shader, so makes not much sense, but as "source" primitives, they provide a nice starting point. So far, i can control their U and V tesellation factor and their U and V tile repeat.

Image
These are 3 all together. The similar normals provide their seamlessly interconnection.
Image

Things are getting kinkier as time goes by :lol:
"There is nothing truly useless, it always serves as a bad example". Arthur A. Schmitt
hendu
Posts: 2600
Joined: Sat Dec 18, 2010 12:53 pm

Re: Post Your Irrlicht Screenshots / Render Here.

Post by hendu »

Is that bound to the Q3 loader, or just standalone?
Mel
Competition winner
Posts: 2292
Joined: Wed May 07, 2008 11:40 am
Location: Granada, Spain

Re: Post Your Irrlicht Screenshots / Render Here.

Post by Mel »

Standalone. I've used irr vectors to interpolate the patches because they already implement the quadratic interpolation. Each patch is a single entity which can be modified on its own, and then, they are stored into a structure that builds the mesh. I've not implemented any LOD though, but each patch can have its own amount of detail independently of the others
"There is nothing truly useless, it always serves as a bad example". Arthur A. Schmitt
Mel
Competition winner
Posts: 2292
Joined: Wed May 07, 2008 11:40 am
Location: Granada, Spain

Re: Post Your Irrlicht Screenshots / Render Here.

Post by Mel »

I jump back and forth on these projects, now, i finally have multiple texture coordinates and materials per shape, including a hollow material to exclude polygons that we don't want to render. And Octahedrons, next, hopefully, extruded primitives, and maybe, extruded primitives along a series of segments to create complex figures quickly.

Image
"There is nothing truly useless, it always serves as a bad example". Arthur A. Schmitt
Post Reply