Comments, suggestions, users

Topics: General
Mar 6, 2007 at 7:25 PM
Please drop a message here if you'd like to comment on, suggest something for, or in any way discuss the code and projects I'm working on here.

Feel free to use my code as you see fit (per my easy-to-read license) and have a nice day :)
Mar 6, 2007 at 8:11 PM
Just one suggestion: for any new source-code check in, just post the source-code files without the media so as to reduce overall downloading time.

Great importer. ETA for next check in?
Mar 7, 2007 at 3:56 PM
Thanks - I'll remove those extra media files. I added terrain rendering last night, but I didn't check it in because it took 1m:34s to build a 128x128x2 terrain level. I'm hoping to clean it out and get this out tonightish. Obviously this is an after-work on days I'm not doing other things sort of thing :(
Mar 12, 2007 at 12:16 AM
Ultrahead: I've removed all of the extra textures and such that I wasn't using. The download should be a bit speedier now.
Mar 12, 2007 at 3:47 AM
Downloading now ... thanks!
Mar 12, 2007 at 4:19 AM
It works great, however hereunder you'll find a couple of things:
1) maybe this is clarified somewhere in the included folders or text files but, you should warn developers that the shaders make use of anisotropic filtering, which is not always supported or activated (thus, an exception is raised when executing a pass), and
2) Do you know whether the generated lightmaps in 3DWS are saved along with the proprietary map file or only saved when they are exported to third-party formats (like .x)?
Mar 12, 2007 at 4:37 AM
Yes, about the effects: They work on my laptop, but I realize there are quite a few PCs out there that they don't work for. I need to figure out how to get them working on a lower shader profile (3_0 didn't work for DonaldM) and take that ansiotropic stuff out or into a lower qualtity technique.

Lightmaps are saved out, but I'm not sure I want to use them. Deferred shading seems sooo much more appealing that I can't see with modern hardware why we'd investigate it. I did write a bunch of code to load the lightmaps, so I assume at one point I'll get that done anyways. (Beta?) The game/effect portion of this project is really meant to be exhanged with your technology, and for my purposes I'm developing towards my PC and my 360.

In either case, I'll expound upon these issues in the documentation I started today.

Thanks for the criticism!
Mar 12, 2007 at 5:11 AM
My hardware supports SM3, so no problem at all with the filtering, however I had that feature turned off, so it was just a matter of turn it on ... :)

About deferred shading I agree, since it's a great way of rendering several light sources and shadow casting. However, my question was referred to the fact that everytime I save my map after calculating lightmaps I only see the 3DWS file but no textures at all until I choose to export to, say, .x and then the lightmaps textures are saved to files. So, again, where are the textures saved when you calculate lightmaps but you save the 3DWS world in proprietary format?
Mar 12, 2007 at 3:26 PM
I parse the lightmaps from the .3dw file (although the code isn't tested very much so the code in Leadworks14Content that actually loads the lightmap is I believe commented out). There is a section at the end of the 3DWS help file that describes how lightmaps are stored in the .3dw.

I havn't yet put done the processing that would turn them from compressed-form found in Lightmap.cs to a texture. In the end I'm not sure what I'll do with them; I'm very inexperienced with lightmaps and this sort of stuff. One thought I've had is maybe tesselate the brushes and add an ambient property to the vertices. I'm not sure if sampling a texture exceeds the processing time of adding on extra vertices and another vertex element. It certainly would be easier on the memory, however.
Mar 13, 2007 at 4:59 AM
Hey, it would be great if you could get bounding boxes from level primitives. I am planning to implement this feature myself as I need it to implement collisions (I am thinking that the level will have a "Collision" method to check if a bounding box would intersect wall geometry.
Mar 13, 2007 at 2:52 PM
I plan on adding a BoundingBox to the Primitive class, for frustum culling during render, but I haven't done that yet because I still need to get some sort of visibility tree working. Right now there is only one primitive per surface file - so the bounding boxes are pretty big.

On the collision detection side, I'm thinking that this code isn't the best place for it, although it would certainly work. There are already a number of 3D collision engines working in XNA, and I thought I might create a seperate .3dw to Collada processor so that I could use Bullet for my collision stuff. I figure that project is way more advanced that I can get, and it allows a Level object to be rendering-optimized (lots of vertices per leaf) and a seperate collision object to be collision-optimized (fewer vertices per leaf).

Either way, I won't be done with the collision portion by July 2, so good luck!
Mar 13, 2007 at 7:04 PM
"There are already a number of 3D collision engines working in XNA ..."

Which ones do you think are the best?

"... I could use Bullet for my collision stuff. I figure that project is way more advanced that I can get, and it allows ..."

Do you mean this "Bullet":
Mar 14, 2007 at 2:43 AM
Yes, as ported by these folks over here:
Mar 14, 2007 at 3:28 AM
Good to know since 3DWS 6 will have a built-in exporter for Collada files. However, I don't know the ETA for version 6 ...