Page 5 of 10

Posted: Sat Oct 15, 2005 1:26 am
by Guest
So I wrote the texture cleanup code and exported it to OBJ. Here's what it looks like in Blender:
Image

The thing I'm most concerned with at the moment is that I don't actually think that all the triangles that should be combined in the texture space are getting combined. So things that should end up as larger complex polygons are actually completely seperate triangles. This doesn't use texture space as efficiently, and is more prone to problems with visible seams. I'm not sure why it's not working better.

And my lighting calculation is still really dumb and simple (you can see -- no shadows).

BUT, you can see that everything is working more or less correctly.

My next steps are to figure out why the poly-combining isn't working better, and probably just to do a rewrite and clean everything up a bit (the code is very messy at the moment!)...

Posted: Sat Oct 15, 2005 8:07 pm
by vermeer
looking very cool :)

Sorry, i'll write more tomorrow.

I have practically finished a level.

Ehm..not really a finished game level(some parts are really simple, some very complex), but will serve very well in testing weird surfaces to lightmap ;)

Tomorrow I'll put some lights with Blender...

Can you grab the lighs from blender?(via vrml2 or directly by python? )

Ehmm...there are some structures...a bit..hi poly, and geometry can have some errors, for speed.. but nothing non convex, I think. :)

Posted: Sun Oct 16, 2005 12:52 am
by Murphy
I got the problem with some faces not getting combined fixed. That leaves the only "mechanics" things left are finishing support for multiple lightmap textures (which is mostly done) and finishing support for packing polygons inside of hollow polygons in the lightmap textures (which it works without anyways).

All I really have left at this point is actually making the lighting wortwhile. :P

And, of course, there's a lot of optimization to do, a lot of bad math to fix, and a lot of cleanup to be done, but that's life. :) I don't think that optimizing the existing part is really that vital, though. It's the lighting itself that's really going to slow it down.


As for lights, yeah, I can probably grab them from Blender somehow.
More important than point lights, though... if you wanted to make some "surface" lights, that'd be even more useful. Just make some cubes/spheres/rectangles that you want to emit light. A small cube will cast a sharper shadow than a big one, so you might try having some different sizes.

Posted: Sun Oct 16, 2005 8:20 am
by puh
Wow!

Last screen looking very realistic! I mean it's so close to the other lightmappers (for example giles if i switch off the shadows).

Concerning optimizations: well, at this stage it's not important at all... I think any c++ compiler could optimize any code enough for todays computers :)

The only one thing you could try to implement - threadings, as i heard that any radiosity algorhithm could be easily be parallelling (dunno is it right word?)

BTW, about emitting surfaces - how is it possible to emulate sun with it? When i try to add an emitting tri in the "sky" shadows are looking ok, but how can i then hide this tri? Maybe you can ignore thouse faces which have no textures when exporting to MIM format? Just a thought...

P.S. Murphy, do you still need my house model in MIM?

Posted: Sun Oct 16, 2005 9:40 am
by vermeer
I agree, the smoothness of that lighting says that is going really well :)

Just woke up now, gonna mount the props I made for the level, position/clone them, I mean. The level itself is not uber complex, but has some complex geometry inside :)

Blender....will let me make the lighting. I'll try to export in several methods, ase, vrml2, in case some of it is easier for you...what i don't know is if enough values are put into vrml. But I guess your aim is to directly grab from the blender scene, so I'll send you the blend, too.

But really, I rather prefer that idea from you of grabbing the geometry as OBJ in another file, only take the lights info from the blender file. Is really terrible not having my hard edges preserves as I do them in Wings or any other package, and splitting the edges in Blender (Ykey) is at least time consuming...

BTW, I banged a quick stone dragon head (so quick am embarrased to use in the level, lol...but wanted to use a very complex sample of geometry..is like 4,000 triangles...)

Please, none here judge my modelling based on that(nor anything on the...*cough*..."level")...it's also very disordered mesh....I guess I just should have remove the dust from my zbrush, while I don't like it for othe rthan modeling, for a quick dragon head would have been faster...hmmm...no...polygons would have gone really high...

Well, a mesh to really have all the usual ways that a noob will put into a mesh, and that would bring errors probably if the lightmapper would have not considered the modeler guy's newbieness... ;)

Also, is composed of several meshes, exported "attached"...is th emost usual and easy way to build a level, so I guess it'd be more universal as a test. Tru that I have avoided -I think- open meshes, single sided polygons, inverted faces, as usually is the evil when someone says me "only convex geometry"...usually means putting none of those things.


Puh, I think the answer is yes, as the more geometry samples he may have, the better :)
Even better as I guess we both use different modelers. Hey, di you do smoothing groups or smoothing normals (hard edges in wings, or autosmooth) ? It is important to see how it will work in the lightmapper.

Posted: Sun Oct 16, 2005 1:06 pm
by vermeer
well, here you have the dirty geometry ;)

I think there's a lot of chances to do neat effects with lighting, included several surface occluding meshes.

Don't worry, i'll do the lighting. Just passing you the OBJ with its -rawly done- hard egdes...(smoothing normals) ...

Is like 40,000 tris, but for every time a camera captures, usually never more than 10,000


It's not actually a level, but a mesh to go and try the lighting over several kind of situations.

The speed on making it, may have forced on some weird geometry, but surely not a problem. I think I didn't do non convex geometry, if I understood what it is...

Expect the lighting add a lot to it, but as I said, I am not doing it for achieve a professional game level, but a field for experimentation for the lightmapper.Indeed, often depending on the engine, you must do all much more carefully when moedlling. But I think it will offer no problems. If it does, is logical it gives em ;)

Will be here during 14 days, I think..is a free uploading service...

EDIT: remember that it will say "the link will appear in 15 seconds" ...and after those, there will appear a world globe icon and the download link just bellow it.

http://www.sendmefile.com/00119205

like a bit less than 1MB , 4 megs uncompressed.

No material, no textures done, no uv mapping.

Posted: Sun Oct 16, 2005 6:47 pm
by vermeer
and here's teh lights file.


beware. the blender render wont look nothing close to what is gonna show the lightmapper in real time. For past experience, it just don't understand it the same. So I have not cared on doing it for good renders in blender. Even more, they look really weird what i expect to look very nice in for example, irrlicht. :)

http://www.sendmefile.com/00119504


Hope u can extract th elights from there...

3 values mainly...

intensity...
radius...
color...

Of course, position of each light does a lot...sadly the too-near-to-walls seems to often oclude the lights in blender more than it should... Maybe that's why I didin't force it too much...

they're positioned so that cones, projections, and othe rtricks are used..

Have little to no idea how it'll actually look in the engine, or if there'll be parts even totally dark, lol...


OOPSs...

didn't put anyone in the outside (didn't make roofs, either, it's opened in the ceiling) so, you wont see the stairs...lol...

well, u can put one out yourself if wish so...


the meshes are really fast modeled, no one should expect any wonder...just many experiments with lights positions, projections, curved surfaces, hard egdes (smoothing normals) , etc.

Posted: Sun Oct 16, 2005 10:20 pm
by Murphy
puh wrote:Wow!

Last screen looking very realistic! I mean it's so close to the other lightmappers (for example giles if i switch off the shadows).
That's good news. :)
The only one thing you could try to implement - threadings, as i heard that any radiosity algorhithm could be easily be parallelling (dunno is it right word?)
At least my first good lighting implementation is going to use OpenGL For acceleration, and I think the threads would probably be fighting over OpenGL. So making it multithreaded probably wouldn't be much of a win.
BTW, about emitting surfaces - how is it possible to emulate sun with it? When i try to add an emitting tri in the "sky" shadows are looking ok, but how can i then hide this tri? Maybe you can ignore thouse faces which have no textures when exporting to MIM format? Just a thought...
I'm actually planning to have the "world" mesh and "lighting" mesh be completely seperate at this stage. So the lighting polys won't ever show up in the results.
P.S. Murphy, do you still need my house model in MIM?
That'd be cool if you wanted me to try to track down the problem...


Vermeer, thanks for the model. :) Downloading it now.


Here's the lightmap using my adjusted packer. You can see that lots of faces that weren't getting connected before are now connected. You can also see that it's wasting a lot of space because "hollow" areas aren't getting items packed in them. I'll be fixing that as soon as I have the time.
Image

Posted: Mon Oct 17, 2005 12:56 pm
by vermeer
that's looking much better....

hey, remember: it's two files: first the obj with actual geometry, as the second, the blender file, is only for the lights, the mesh is wrecked there, and no smoothing. Just the obj for mesh....

Posted: Mon Oct 17, 2005 8:38 pm
by puh
Good stuff, Murphy! Just have sent you the mail with all i got now.

Vermeer:
Hey, di you do smoothing groups or smoothing normals (hard edges in wings, or autosmooth) ?
Well, i didn't use any smoothing tools, coz i working with another app and just export from there. But seems it's smooth as i can see smooth shadow on the terrasse which has a cylinder-shape...

Posted: Fri Oct 21, 2005 9:33 am
by Murphy
So it still needs some tweaking, but it's conceptually sound -- the packer can now pack pieces inside pieces. There's still some optimizations that could be made, but I may well not ever make them, as I think it's really pretty much good enough now.

Here's the same model as last time at the same lightmap density:
Image
It's pretty easy to see how much space is left over! Those two biggish blocks in the lower right are about 34,000 pixels worth! So I could have turned up the density.

It's also way faster -- it finishes this pretty much instantly.

Pretty soon here I'm going to have to stop putting off working on the lighting. ;)

Unfortunately, I've been pretty slammed with work and exams. Hopefully by next weekend I'll have some more time to devote again.

Posted: Mon Oct 31, 2005 10:29 pm
by puh
Hey, Murphy! How is your lightmapper :?:

Posted: Tue Nov 01, 2005 1:16 am
by Murphy
Well, last week and the week before were pretty crazy with work and midterms. And this week I've got a lot of catching up to do and probably another paper due next week. So progress is a bit slow. Over the weekend, I put in around half an hour of work on actually implementing a real lighting algorithm.

The results weren't exactly what I was expecting, but don't have enough implemented to be sure that the results weren't right and that my expectations were off. I'm going to have to make myself a simpler scene to test with. I'm also going to have to do a bit of improvement to the baby 3D engine that I've been using for preview and plan to use for the visibility/shadowing... I'm considering switching to Irrlicht for it. Among other things, Irrlicht would be far faster. But I'm not sure it'd actually save time in getting it working.

So, nothing huge to report at the moment. Hopefully I'll get another chance to play with it this week. I'll let you know. :)

Posted: Tue Nov 01, 2005 8:09 am
by vermeer
Don't feel hurried even in a remote way...You know well your stuff and one half an hour of yours is really valid.Besides, a hobby, is a hobby. One does it when he cans :)

You'll get it done, sooner or later, and the kind of tool bein done is rather much more useful than tools like windsoft free one. Don't get me wrong, that tool is good(probably the free one to use for those with no money...till Murphy release his tool), but Murphy is adding an fsrad like algorythm that kills dramatically level editing times. Uv mapping for lightmaping is SUCH a pain in...well, a pain. That was main advantage of fsrad. And not even Max does an automatic thing as well as fsrad kind of stuff. What I have seen in the shots and read already, is better than comercial packages pretend to do in this very specific question.

One note, Murphy. the level I did for you is CRAZY. That is, I know little to no engines that would it that flawlessly...It's done so because I thought you'd prefer a problmatic mesh besides a more usual one like the house someone else gave you.
Curved surfaces, huge polygon count in some objects, I did not even revised if there was some weird geometry for a real time 3d engine...Because I wanted to provide a sample that many un-experienced users will try to force the tool to eat...


But..maybe for making the first code, you may need a cornel box like scene, 4 walls, a donut (curved surface) , an sphere, a polyhedra of some type, and a cube, with their lights and projected shadows.

If so, tell me, I can bang that in no time.
Anyway, imho there's no hurry when such a good tool is in the works. :)

Posted: Thu Nov 03, 2005 2:16 am
by Murphy
vermeer wrote:One note, Murphy. the level I did for you is CRAZY. That is, I know little to no engines that would it that flawlessly...It's done so because I thought you'd prefer a problmatic mesh besides a more usual one like the house someone else gave you.
Curved surfaces, huge polygon count in some objects, I did not even revised if there was some weird geometry for a real time 3d engine...Because I wanted to provide a sample that many un-experienced users will try to force the tool to eat...
I think this is a good idea. :) It's the acid test. Will also serve as a bit of a performance benchmark.
But..maybe for making the first code, you may need a cornel box like scene, 4 walls, a donut (curved surface) , an sphere, a polyhedra of some type, and a cube, with their lights and projected shadows.
But, yes, this might be good especially for me to sort out the visibility stuff. I think the ideal model would be a fairly simple room -- something you could imagine yourself standing in (unlike the Cornell Box). But perhaps with a column or two in it, and a box or two on the floor. For the moment, don't worry about curved surfaces. Or maybe make a version that has a sphere on top of the box or something simple like that.

My main point here (and the main reason for initial exclusion of the curved surfaces) is that having a smaller number of vertices and having no weird normals will make my initial work with the visibility stuff easier. So rectangular stuff is best.


I also had an idea over the past couple days about why my weekend results may not have been what I was immediately expecting, so I've got something else to try out next time I get the chance. Unfortunately, I've got another exam next week, so it might be a while until I can get to playing with it again. Ah well!