Open skies in GtkRadiant

If you are a new Irrlicht Engine user, and have a newbie-question, this is the forum for you. You may also post general programming questions here.
Post Reply
Wendy

Open skies in GtkRadiant

Post by Wendy »

I've been using GtkRadiant to do my map design, and it requires the map to be fully closed. Is there any way I can use this program to make maps that will let me have an open sky on top? Or do I need to stick my map in a huge box and try to put some kind of sky texture on this?

Also, I have been having trouble trying to make a shader to use in GtkRadiant for glass. I don't have Quake installed, and it doesn't seem to like my shader script--while it will get the partial transparency correct, it can't seem to find the texture I want to use. Does anyone know where I need to put it?
magicat
Posts: 19
Joined: Sun Apr 09, 2006 6:52 am

Post by magicat »

Usually maps are fully enclosed in a skybox if they're outdoor. So yeah, giving the box a sky texture would probably be your best bet. Not sure about the glass shader stuff.
RapchikProgrammer
Posts: 279
Joined: Fri Dec 24, 2004 6:37 pm

Post by RapchikProgrammer »

The same answer as magicat! Make a box around your map and then make it hollow! You can apply texture directly on the box but that wont look as good as making a sky box in irrlicht after that!
afecelis
Admin
Posts: 3075
Joined: Sun Feb 22, 2004 10:44 pm
Location: Colombia
Contact:

Post by afecelis »

Irrlicht won't recognize your material shaders nor sky shaders but...
You can create your sky in Gtkradiant using any of Q3 sky shaders; this will generate some interesting lighting in your level (remember to compile your level into a bsp); then when loading your level in Irrlicht simply add an Irrlicht skybox:

Code: Select all

// create sky box
	scene::ISceneNode* skyboxNode = 0;
	skyboxNode = smgr->addSkyBoxSceneNode( 
	driver->getTexture("./data/bleakness_up.jpg"),
	driver->getTexture("./data/bleakness_dn.jpg"),
	driver->getTexture("./data/bleakness_lf.jpg"),
	driver->getTexture("./data/bleakness_rt.jpg"),
	driver->getTexture("./data/bleakness_ft.jpg"),
	driver->getTexture("./data/bleakness_bk.jpg"));
You'll still get missing shaders and textures errors in the console, your original Quake3 skybox won't be loaded but you'll have an Irrlicht skybox instead and you'll get the nice shadows generated by the sky shader as lightmaps! :wink:
Originally, levels in Quake 3 must be sealed to avoid any leaks so the skybox or some faces closing your level with the sky texture are necesary.
Wendy

Post by Wendy »

Thanks for the replies everyone!

About making a skybox in irrlicht, do I have to somehow position it between my "actual level" and the box I stick around it?

Also, if Irrlicht ignores my shaders, how can I get a glass effect for windows?
afecelis
Admin
Posts: 3075
Joined: Sun Feb 22, 2004 10:44 pm
Location: Colombia
Contact:

Post by afecelis »

With Quake3 bsps it's gonna be a bit complicated since transparency in it is done by shaders and (as you already know) Irrlicht won't read this info. But....
1. you could create a separate layer of meshes in 3ds for your glass-windows and mix them with your bsp level in Irrlicht. The complicated part would be how to match their 3d position with one another.
2. create level with windows in gtkradiant, erase your level info leaving only the windows and import it as a second mesh (bsp). Make its material transparent via Irrlicht (this way you'll get a perfect match).
3. use My3d format which respects all your materials created in 3dsmax or Giles.

:wink:
Post Reply