What do YOU want in a BSP compiler?
- DarkSeraph
- Halfling
- Posts: 85
- Joined: Thu Apr 28, 2005 5:42 pm
noob question: will your converter only change the .map made in a specific editor, or will it filter out stuff etc? Actually, since you are using your own way to compile (not Quake3) will it still work easily with an editor? or just 3ds and blender for .scene files? Simply, can you clarify from where should/can a user take their file and put it in your program and have no or minimal errors?
Will this program let the user preview what has been mapped, and then it can be modified for lighting etc? I'm very interested in this program, it sounds like it will make a LOT of lives easier, mine most certainly included.
Will this program let the user preview what has been mapped, and then it can be modified for lighting etc? I'm very interested in this program, it sounds like it will make a LOT of lives easier, mine most certainly included.
- skullfire
- Gremlin
- Posts: 150
- Joined: Sat Mar 19, 2005 7:51 pm
- Location: San Jose, Costa Rica
- Contact:
- DarkSeraph
- Halfling
- Posts: 85
- Joined: Thu Apr 28, 2005 5:42 pm
-
- OGRE Community Helper
- Posts: 198
- Joined: Sat Oct 02, 2004 9:11 am
- Location: San Francisco, California, USA
still in development!
Sorry for the lack of updates! I have final exams right now at my university, or else I'd have made a lot more progress This project is still being worked on, and I hope to have something releasable after another two weeks or so.
- DarkSeraph
- Halfling
- Posts: 85
- Joined: Thu Apr 28, 2005 5:42 pm
Good luck on finals! Most schools are finishing up now, so it will probably become more busy here in a couple weeks.
My question is: will this be limited to the type of .map file? Will it be able to take one from Worldcraft?
More detailed questions is will is do dynamic lighting, or be able to put a model into a map?
Sorry for so many questions, but this program might fit my purpose nicely, so I'm very curious about it!
My question is: will this be limited to the type of .map file? Will it be able to take one from Worldcraft?
More detailed questions is will is do dynamic lighting, or be able to put a model into a map?
Sorry for so many questions, but this program might fit my purpose nicely, so I'm very curious about it!
- DarkSeraph
- Halfling
- Posts: 85
- Joined: Thu Apr 28, 2005 5:42 pm
-
- OGRE Community Helper
- Posts: 198
- Joined: Sat Oct 02, 2004 9:11 am
- Location: San Francisco, California, USA
Yes, open-source of course But don't hold your breath
Fortunately for me, but unfortunately for you, I graduated yesterday with my BS in Comp Sci. I have a fantastic job opportunity in California and I've decided to take it, which means that I am -- at this very moment -- packing all my stuff and preparing to move. I need to find a place to live, buy a new car, go through orientation at work, etc. It may be over a month before I can create a working release out of my test prototypes.
I will see what I can do about releasing a bare-bones version, with no support for lightmapping or geometry optimization. Again, though, no promises -- it may be a few weeks.
Please don't ask me about my job, I can't talk about it here
Fortunately for me, but unfortunately for you, I graduated yesterday with my BS in Comp Sci. I have a fantastic job opportunity in California and I've decided to take it, which means that I am -- at this very moment -- packing all my stuff and preparing to move. I need to find a place to live, buy a new car, go through orientation at work, etc. It may be over a month before I can create a working release out of my test prototypes.
I will see what I can do about releasing a bare-bones version, with no support for lightmapping or geometry optimization. Again, though, no promises -- it may be a few weeks.
Please don't ask me about my job, I can't talk about it here
- DarkSeraph
- Halfling
- Posts: 85
- Joined: Thu Apr 28, 2005 5:42 pm
I live in San Diego, California. If you have any questions or anything about the area, I probably have a good idea. Good luck on the move and your new job I am interested in it, but I'm not asking
as for Map to BSP take your time then, I'll find a way around it, or continue to use Q3 to compile my maps. I suppose it's not that urgent, I just like knowing what tools I'm going to be able to use to complete the job before I really get started, but that's unreasonable, things always change
Good luck!
as for Map to BSP take your time then, I'll find a way around it, or continue to use Q3 to compile my maps. I suppose it's not that urgent, I just like knowing what tools I'm going to be able to use to complete the job before I really get started, but that's unreasonable, things always change
Good luck!
- jacmoe
- OGRE Retired Moderator
- Posts: 20570
- Joined: Thu Jan 22, 2004 10:13 am
- Location: Denmark
- x 179
- Contact:
Congrats, qsilver!
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
-
- Halfling
- Posts: 44
- Joined: Mon May 16, 2005 9:38 am
- jacmoe
- OGRE Retired Moderator
- Posts: 20570
- Joined: Thu Jan 22, 2004 10:13 am
- Location: Denmark
- x 179
- Contact:
If you want a map, you simply compile a level in Hammer -> you get a .map and a .bsp ..
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
-
- Halfling
- Posts: 54
- Joined: Fri Mar 04, 2005 11:25 am
- DarkSeraph
- Halfling
- Posts: 85
- Joined: Thu Apr 28, 2005 5:42 pm
jacmoe, not with a .vmf.
Spudder, if you are doing this for anything that would ever go public, stop. Valve gets quite pissy about their EULA, and Hammer Editor is supposed to be used strictly for Valve Games, and HL2 is far from an exception. If you go to the last version of Worldcraft, 3.3 I believe, you can save it as a .map. I'm pretty sure that their EULA does not extend to any version of Worldcraft, but pretty sure that any version of hammer is out of the question.
and Hammer will not make anything in Q3 BSP format. If I could figure that one out, my life would be much easier. If anyone knows how to make a Q3 BSP through Worldcraft/Hammer please let me know.
For now I'm using QuArK to create the maps, Q3 to compile them, and in the meantime a programmer and I are trying to get dynamic lighting into the BSPSceneManager, along with other entities that Ogre can read.
Spudder, if you are doing this for anything that would ever go public, stop. Valve gets quite pissy about their EULA, and Hammer Editor is supposed to be used strictly for Valve Games, and HL2 is far from an exception. If you go to the last version of Worldcraft, 3.3 I believe, you can save it as a .map. I'm pretty sure that their EULA does not extend to any version of Worldcraft, but pretty sure that any version of hammer is out of the question.
and Hammer will not make anything in Q3 BSP format. If I could figure that one out, my life would be much easier. If anyone knows how to make a Q3 BSP through Worldcraft/Hammer please let me know.
For now I'm using QuArK to create the maps, Q3 to compile them, and in the meantime a programmer and I are trying to get dynamic lighting into the BSPSceneManager, along with other entities that Ogre can read.
- haffax
- OGRE Retired Moderator
- Posts: 4823
- Joined: Fri Jun 18, 2004 1:40 pm
- Location: Berlin, Germany
- x 7
- Contact:
Save your hammer/worldcraft made map. Open this map with a HL radiant. Save it as a Q3 map. Use shaderlab's q3map2 tool to create the bsp. You can get q3map2 from here: http://www.shaderlab.com/
(If it was not the HL radiant it is the Quake3 radiant, but I believe it was the HL radiant.)
(If it was not the HL radiant it is the Quake3 radiant, but I believe it was the HL radiant.)
- Noiprox
- Halfling
- Posts: 64
- Joined: Mon Apr 05, 2004 6:25 am
- Location: North Vancouver, Canada
This may sound silly, but the main thing I want from a BSP compiler is for it to exist. I mean, we don't have anything at all right now, so even if it is a little sparse on the features, just having a working free BSP compiler would be great.
That said, I appreciate the effort you are putting into this and I look forward to the results.
That said, I appreciate the effort you are putting into this and I look forward to the results.
Dieter Buys
"Death, be not proud, though some have called thee mighty and dreadful, for thou art not so." - John Donne
"Death, be not proud, though some have called thee mighty and dreadful, for thou art not so." - John Donne
- jacmoe
- OGRE Retired Moderator
- Posts: 20570
- Joined: Thu Jan 22, 2004 10:13 am
- Location: Denmark
- x 179
- Contact:
.vmf is merely the internal Hammer format - before it gets compiled.DarkSeraph wrote:jacmoe, not with a .vmf.
The best way! You can export from QuArk any way you like.DarkSeraph wrote:For now I'm using QuArK to create the maps, Q3 to compile them, and in the meantime a programmer and I are trying to get dynamic lighting into the BSPSceneManager, along with other entities that Ogre can read.
Anyway, if you are interested in stuff for Half-Life related modding/programming, go and visit this place:
Nem's Tools.
It has, amongst a lot other things, HLLib, a great library which can help with importing HL maps into your program. I used it sometime ago, and the interface is quite nice.
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
- BlasterN
- Gnome
- Posts: 378
- Joined: Thu Mar 24, 2005 1:07 am
- Location: Spain
- Contact:
What I want in a BSP Compiler is oviusly a BSP! I explain.
- A BSP without lightmaps, because ogre has lights, and i want stencil shadows on BspSceneManger.
- A collection of "entities", like doors, ladders, water, lights, etc.. (in BSP it is TEXT you can see it if you open a BSP with notepad, around the eof)
so our BSP file look like this.
- Header
- Geometry
- Entities
------- paranoic time!
I think that the original BSP tree is... old, I think that complex goemetry is quite bad to store in BSP. you lose memory & lose speed.
The best way is to implemente a new BSP i was thinking on it a long time ago and i put here a new format.
you mantain the BSP for low poly & for high poly you don't use it, you have another structure to store it.
Process to frustum
- you go down to BSP
- search high poly that is in the frustum & show it full, not only what you see.
Why this. If you hace for example a pipe like this "¬" & have 15 faces you hace 15 faces for horizontal pipe another 15 for vertical and 30 or more for the curve, so you have aorund 60 leaf in the best way you have a BSP with 6 deep.
For high poly you can use an entity slot named for example high poly-> true|false
so our BSP file look like this.
- Header
- Low Geometry
- High Geometry
- Entities
Everybody that uses ogre want a single thing, OGREMAP FORMAT!
(i expect to express what i want my english is not quite good enough)
- A BSP without lightmaps, because ogre has lights, and i want stencil shadows on BspSceneManger.
- A collection of "entities", like doors, ladders, water, lights, etc.. (in BSP it is TEXT you can see it if you open a BSP with notepad, around the eof)
so our BSP file look like this.
- Header
- Geometry
- Entities
------- paranoic time!
I think that the original BSP tree is... old, I think that complex goemetry is quite bad to store in BSP. you lose memory & lose speed.
The best way is to implemente a new BSP i was thinking on it a long time ago and i put here a new format.
you mantain the BSP for low poly & for high poly you don't use it, you have another structure to store it.
Process to frustum
- you go down to BSP
- search high poly that is in the frustum & show it full, not only what you see.
Why this. If you hace for example a pipe like this "¬" & have 15 faces you hace 15 faces for horizontal pipe another 15 for vertical and 30 or more for the curve, so you have aorund 60 leaf in the best way you have a BSP with 6 deep.
For high poly you can use an entity slot named for example high poly-> true|false
so our BSP file look like this.
- Header
- Low Geometry
- High Geometry
- Entities
Everybody that uses ogre want a single thing, OGREMAP FORMAT!
(i expect to express what i want my english is not quite good enough)
Works:
MapToMesh | Bengine B9 @ www.sourceforge.net/projects/maptoogremesh/
3DWorldStudio exporter@ www.blastern.info
MapToMesh | Bengine B9 @ www.sourceforge.net/projects/maptoogremesh/
3DWorldStudio exporter@ www.blastern.info
- BlasterN
- Gnome
- Posts: 378
- Joined: Thu Mar 24, 2005 1:07 am
- Location: Spain
- Contact:
BSP WEBS!
"A simplified yet complete explanation of BSP trees and their uses"
http://www.planetquake.com/qxx/bsp/
"The Source Engine BSP File Format"
http://www.geocities.com/cofrdrbob/bspformat.html
"VMEX - a HL2 map decompiler"
http://www.geocities.com/cofrdrbob/vmex.html
"Quake 2 BSP File Format"
http://flipcode.com/articles/article_q2bsp.shtml
"jonh Carmack blog"
http://www.armadilloaerospace.com/n.x/j ... %20Updates
"jonh Carmack Old blog" <-- better than new one
http://doom-ed.com/blog/category/doom-ed/john-carmack/
"Quake 2 Source Code "
http://www.planetquake.com/quake2/files.shtml
"BSP Tree Frequently Asked Questions (FAQ)"
http://www.gamedev.net/reference/articl ... cle657.asp
"HLLib" Open-source lib to load BSP WAD etc... all HL formats
http://nemesis.thewavelength.net/index.php?p=35
"BSP in SpecOp"
http://www.gamasutra.com/features/20000 ... way_02.htm
"Introduction to Binary Space Partition Trees"
http://www.geocities.com/SiliconValley/2151/bsp.html
"BSP Tree generation" <-- with code
http://www.cs.wpi.edu/~matt/courses/cs5 ... ument.html
"A simplified yet complete explanation of BSP trees and their uses"
http://www.planetquake.com/qxx/bsp/
"The Source Engine BSP File Format"
http://www.geocities.com/cofrdrbob/bspformat.html
"VMEX - a HL2 map decompiler"
http://www.geocities.com/cofrdrbob/vmex.html
"Quake 2 BSP File Format"
http://flipcode.com/articles/article_q2bsp.shtml
"jonh Carmack blog"
http://www.armadilloaerospace.com/n.x/j ... %20Updates
"jonh Carmack Old blog" <-- better than new one
http://doom-ed.com/blog/category/doom-ed/john-carmack/
"Quake 2 Source Code "
http://www.planetquake.com/quake2/files.shtml
"BSP Tree Frequently Asked Questions (FAQ)"
http://www.gamedev.net/reference/articl ... cle657.asp
"HLLib" Open-source lib to load BSP WAD etc... all HL formats
http://nemesis.thewavelength.net/index.php?p=35
"BSP in SpecOp"
http://www.gamasutra.com/features/20000 ... way_02.htm
"Introduction to Binary Space Partition Trees"
http://www.geocities.com/SiliconValley/2151/bsp.html
"BSP Tree generation" <-- with code
http://www.cs.wpi.edu/~matt/courses/cs5 ... ument.html
Works:
MapToMesh | Bengine B9 @ www.sourceforge.net/projects/maptoogremesh/
3DWorldStudio exporter@ www.blastern.info
MapToMesh | Bengine B9 @ www.sourceforge.net/projects/maptoogremesh/
3DWorldStudio exporter@ www.blastern.info
- jacmoe
- OGRE Retired Moderator
- Posts: 20570
- Joined: Thu Jan 22, 2004 10:13 am
- Location: Denmark
- x 179
- Contact:
I know HLLib - it's a good library.
Nem's HL tools are also quite nice.
Nem's HL tools are also quite nice.
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
- DarkSeraph
- Halfling
- Posts: 85
- Joined: Thu Apr 28, 2005 5:42 pm
jacmoe, since you seem to have experience, how well does Ogre read HL BSPs? For some reason I was under the impression that Ogre would only read the BSPs that Q3 can read.
I think we, as the Ogre community, should try to build a tutorial or something on the best way to make BSPs, and perhaps some basic modifications to the BSPSceneManager to add in support for a few entities, like the ones that BlaterN suggested, even though most of them e.g. ladders etc are going to have to be put in by the game developers, because it will be handled differently by each game. But I think lights, water, and possibly even the ability to apply cubemaps to surfaces (oooh reflective floor!) would be very cool.
So what do you guys think? And where would be a good place to start?
I think we, as the Ogre community, should try to build a tutorial or something on the best way to make BSPs, and perhaps some basic modifications to the BSPSceneManager to add in support for a few entities, like the ones that BlaterN suggested, even though most of them e.g. ladders etc are going to have to be put in by the game developers, because it will be handled differently by each game. But I think lights, water, and possibly even the ability to apply cubemaps to surfaces (oooh reflective floor!) would be very cool.
So what do you guys think? And where would be a good place to start?
- jacmoe
- OGRE Retired Moderator
- Posts: 20570
- Joined: Thu Jan 22, 2004 10:13 am
- Location: Denmark
- x 179
- Contact:
The Ogre BspSceneManager is more or less an early technology demo to test the design of the scenemanager interface. (And showcase Ogre in the process)
It only deals with Quake3 bsp's and has only rudimentary support for q3-shaders.
What would be cool, was to merge in some of the many, many entity parsers, so that we could have something like Hammer has: a .fgd file which defines func_player_start and other entities.
Player_start is IIRC the only entity related info which Ogre BSP has..
I have a half-finished attempt at making a Half-Life (1) bsp manager, but a much better aproach would be to contact the guy who are writing a scenemanager for OpenBSP.
It only deals with Quake3 bsp's and has only rudimentary support for q3-shaders.
What would be cool, was to merge in some of the many, many entity parsers, so that we could have something like Hammer has: a .fgd file which defines func_player_start and other entities.
Player_start is IIRC the only entity related info which Ogre BSP has..
I have a half-finished attempt at making a Half-Life (1) bsp manager, but a much better aproach would be to contact the guy who are writing a scenemanager for OpenBSP.
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
- jacmoe
- OGRE Retired Moderator
- Posts: 20570
- Joined: Thu Jan 22, 2004 10:13 am
- Location: Denmark
- x 179
- Contact:
Here it is: OpenBSP Scene Manager
You have to get hold of that Keith guy, though. He holds the code.
You have to get hold of that Keith guy, though. He holds the code.
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
-
- Google Summer of Code Mentor
- Posts: 295
- Joined: Fri Aug 06, 2004 10:25 pm
BSP is too old technology for todays GPUS, its that old that now its not a speedup or some good geometry optimization, but a bottleneck in the graphics pipeline
For example, now you can throw a general Q3 lelvel geometry in the engine and render it without using BSP algorithm and still get playable fps
BSP was made when software renderers or primitive hardware acceleration existed, so an extra poly face, made a difference in the fps
But now the gpus are hungry for polygons, a batch beasts like Sinbad said (if i remember well).
What can affect the geometry performance are the render state changes, and the screen pixel resolution for the fragments
Its still good for collision detection or level lights optimization, but in this case a low resolution bsp version in better
There are much efficient culling algorithms now, even convex/portal kd-trees can easily beat bsps, and the memory use is good
Lioric
For example, now you can throw a general Q3 lelvel geometry in the engine and render it without using BSP algorithm and still get playable fps
BSP was made when software renderers or primitive hardware acceleration existed, so an extra poly face, made a difference in the fps
But now the gpus are hungry for polygons, a batch beasts like Sinbad said (if i remember well).
What can affect the geometry performance are the render state changes, and the screen pixel resolution for the fragments
Its still good for collision detection or level lights optimization, but in this case a low resolution bsp version in better
There are much efficient culling algorithms now, even convex/portal kd-trees can easily beat bsps, and the memory use is good
Lioric
- DarkSeraph
- Halfling
- Posts: 85
- Joined: Thu Apr 28, 2005 5:42 pm
jacmoe, I have gotten the equivalent of an fgd into QuArK, hence I could specify my own entities within the map. That part I can do, but the actual writing of the SceneManager is where I fall short. I don't understand it that well, and my coding skill is not that strong.
OpenBSP doesn't seem to be that much better than using Q3 to compile, if not worse, if you have a complex map, like the ones I have planned in my head. No VIS? You can't imagine how bad HL2 would be if there was no VIS. I've created rooms in HL that people would be pissed off if I published because there were 25k polys, and that's with VIS. And I am not convinced that lightmaps are the way to go, it seems to me that dynamic lighting might be a bit more rough on a system, require a bit more real-time processing, but it's better than creating the same texture 50 different times because it has a different lightmap applied to it. Again, let me know what you think, but I don't think OpenBSP, as it is, is a very good idea.
OpenBSP doesn't seem to be that much better than using Q3 to compile, if not worse, if you have a complex map, like the ones I have planned in my head. No VIS? You can't imagine how bad HL2 would be if there was no VIS. I've created rooms in HL that people would be pissed off if I published because there were 25k polys, and that's with VIS. And I am not convinced that lightmaps are the way to go, it seems to me that dynamic lighting might be a bit more rough on a system, require a bit more real-time processing, but it's better than creating the same texture 50 different times because it has a different lightmap applied to it. Again, let me know what you think, but I don't think OpenBSP, as it is, is a very good idea.