Page 2 of 3

Posted: Sat Dec 22, 2007 11:59 am
by dlangdev
by the way, i just saw your screenshots over at frecle dot com, it looks pretty good.

though i probably would not be able to help you in rendering lightmaps. i don't want to spend buying gile[s], i'm ok with blender at the moment, it can output baked texture, ambient occlusion and normals. enough for me to experiment with shaders.

what i could do is simply make mesh models with no textures. then you can put the textures and bake them in gile[s].

i'll just post these mesh files on my sourceforge account for free.

here's another screen shot taken from a realtime render. i had to pick-up my jaw after seeing this running in realtime.

Image

Image

Image

Posted: Sat Dec 22, 2007 7:37 pm
by christianclavet
You could perhaps bake the global illumination. Shadows should be baked too. Since I'm using about 50-60 lights in there for all the level. Perhaps you could take the exterior part with the park (1 light), put your pavillon somewhere in the park, bake the Global Illumination So it look the same. If the global illumination could be baked as a separate map, then it could be used as a lightmap.

Another thing that you could do. Take IRRedit and use the global illumination from there. It should generate you the Lightmaps needed. An IRRedit is free.

Posted: Sat Dec 22, 2007 11:59 pm
by plotti
Strange problem encountered:

I encountered a strange problem with the terrain of this level:

If I use opengl it is rendered with a texture, if i use directx it comes without:

The Code I am using is the tutorial example, to make sure its not coming from somewhere else:


See this:
Image
Image

Code: Select all

/*
Since version 1.1, Irrlicht is able to save and load
the full scene graph into an .irr file, an xml based
format. There is an editor available to edit
those files, named irrEdit on http://www.ambiera.com/irredit,
which can also be used as world and particle editor.
This tutorial shows how to use .irr files.

Lets start: Create an Irrlicht device and setup the window.
*/

#include <irrlicht.h>
#include <iostream>
using namespace irr;

#pragma comment(lib, "Irrlicht.lib")

int main()
{
	// ask user for driver

	video::E_DRIVER_TYPE driverType;

	printf("Please select the driver you want for this example:\n"\
		" (a) Direct3D 9.0c\n (b) Direct3D 8.1\n (c) OpenGL 1.5\n"\
		" (d) Software Renderer\n (e) Burning's Software Renderer\n"\
		" (f) NullDevice\n (otherKey) exit\n\n");

	char i;
	std::cin >> i;

	switch(i)
	{
		case 'a': driverType = video::EDT_DIRECT3D9;break;
		case 'b': driverType = video::EDT_DIRECT3D8;break;
		case 'c': driverType = video::EDT_OPENGL;   break;
		case 'd': driverType = video::EDT_SOFTWARE; break;
		case 'e': driverType = video::EDT_BURNINGSVIDEO;break;
		case 'f': driverType = video::EDT_NULL;     break;
		default: return 1;
	}	

	// create device and exit if creation failed

	IrrlichtDevice* device =
		createDevice(driverType, core::dimension2d<s32>(640, 480));

	if (device == 0)
		return 1; // could not create selected driver.

	device->setWindowCaption(L"Load .irr file example");

	video::IVideoDriver* driver = device->getVideoDriver();
	scene::ISceneManager* smgr = device->getSceneManager();

	/* Now load our .irr file.
	.irr files can store the whole scene graph including animators, materials
	and particle systems. And there is also the possibility to store arbitrary
	user data for every scene node in that file. To keep this 
	example simple, we are simply loading the scene here. See the documentation
	at ISceneManager::loadScene and ISceneManager::saveScene for more information.
	So to load and display a complicated huge scene, we only need a single call
	to loadScene().
	*/

	// load the scene
	// Demo Montreal Level	
    device->getFileSystem()->addZipFileArchive("../../media/Station.pk3"); 
    // Load the scene file from the archive 
    smgr->loadScene("level.irr");


	/* 
	That was it already. Now add a camera and draw the scene
	*/

	// add a user controlled camera

	smgr->addCameraSceneNodeFPS();

	// and draw everything.

	int lastFPS = -1;

	while(device->run())
	if (device->isWindowActive())
	{
		driver->beginScene(true, true, video::SColor(0,200,200,200));
		smgr->drawAll();
		driver->endScene();

		int fps = driver->getFPS();

		if (lastFPS != fps)
		{
		  core::stringw str = L"Load Irrlicht File example - Irrlicht Engine [";
		  str += driver->getName();
		  str += "] FPS:";
		  str += fps;

		  device->setWindowCaption(str.c_str());
		  lastFPS = fps;
		}

	}

	device->drop();
	
	return 0;
}

________
Honda Rc110

Posted: Sun Dec 23, 2007 12:19 am
by dlangdev
here is the first attempt at loading a textured mesh onto irredit.

i'm still figuring out where to put the seams, it will take me while to do a good texture, though.

i'll be needing access to the texture library soon. if you can send me the link to them. thanks.

Image

Posted: Sun Dec 23, 2007 3:16 am
by vermeer
way less powerful, and does not lightmap correctly curved surfaces (cilinders, spheres) , but exports b3d lightmapped and is free:

http://www.melog.ch/slimshady/

I have giles and is kinda powerful.

Posted: Sun Dec 23, 2007 3:21 am
by vermeer
If the global illumination could be baked as a separate map, then it could be used as a lightmap.
in blender? yep can be done. Only at higher res, so to resize to smaller later: AO bakes dont take yet with antialiasing, I think.

If the coder is able to mount the lightmap thingie once in the engine, is only then a matter of artist exporting mesh with its UVs and its base textures, and then mesh with its lightmaps UVs having asigned to it the baked lightmap texture as a standard texture, after was generated.(with not the real textures messing around in that scene)

Posted: Sun Dec 23, 2007 6:59 am
by dlangdev
hi,

i made a level, not sure if this is the kind of level you guys will use, but i made a level that looks like a labyrinth.

basically a cheap knock-off taken from half-life, wherein a story guides the game.

it has locations for switches placed in several that will trigger ladders and doors to open.

here is a link to large image of the level map...

http://farm3.static.flickr.com/2131/213 ... a17f_o.png

a smaller image shown below.

Image

map will be uploaded up on sourceforge later.

http://sourceforge.net/project/showfile ... _id=256545

by the way, this map is only part of the design doc, the actual playable map will be assembled using irredit, i want to test how far irredit can go, though.

Posted: Sun Dec 23, 2007 7:20 am
by christianclavet
plotti Yes. I had the same problem (didnt evaluated OGL in 1.4)
In 1.3.1 it's less apparent.

The ground surface is there, but the lighting is taken differently from DirectX (Darker) and OpenGl(Lighter). Just remove in IRRedit the LIGHTING flag on the surface attribute for theses surfaces. (It's actually activated and looked good in 1.3.1). After you done this, it should look the same in DX and OGL. The lighting seem to be treated a lot different in 1.4 than 1.3.1. There was some changes in there.

I'm really not sure we could consider this a bug.

dlangdev For the seams; search for seamless textures. That's the way I fixed the problem! :wink:

Posted: Sun Dec 23, 2007 8:23 am
by dlangdev
ok, i think i'm getting a feel how seams are likely to be made to prevent nasty looking textures.

the uv unfold shoould be cut the right way, though.

it looks easy but somehow the uv map should be crafted correctly.

thanks for the comment.

Posted: Sun Dec 23, 2007 11:35 am
by plotti
hi christian,

i corrected the lighting works fine now, I would have never guessed that this was causing the error ;)

thanks a lot
________
MARIJUANA INDICA

Posted: Sun Dec 23, 2007 10:00 pm
by Halifax
dlangdev wrote:ok, i think i'm getting a feel how seams are likely to be made to prevent nasty looking textures.

the uv unfold shoould be cut the right way, though.

it looks easy but somehow the uv map should be crafted correctly.

thanks for the comment.
Wow dlangdev, that level looks amazing.

UV mapping isn't all that hard once your figure the greatest feature of Blender's uv-mapping ever...pinning! :)

@christianclavet: By the way, how many polys is your demo level? Because I made need to implement a simple culling system for Summertime since its levels are filled with hallways, and things.

Posted: Sun Dec 23, 2007 10:07 pm
by dlangdev
thanks for the info about pinning, i'm looking into that now.

i'm also experimenting with a pre-fab wall i made with a brick or stone texture, bringing it over to rendermonkey for parallax mapping.

the window frame is a bit hard coz i need to learn how to texture an old glass frame.

with regards to the map, i'm making pre-fab components like walls, door frames, window frames, floor frame, stair frames, etc.

it's going to be bloody for the next few weeks creating content using free tools.

by the way, the map is available, anybody can get it, it's free.

Posted: Mon Dec 24, 2007 12:53 am
by dlangdev
ok, i got the brick wall set up in blender. three cubes with having one texture.

Image

i need to generate the bump map of the texture next. still scratching my head on that one.

Posted: Mon Dec 24, 2007 4:08 am
by Halifax
Personally I recommend normal maps. I don't know how people generated them before the times of high resolution maps, but for some reason my normal maps never seem to look as good as Gears of War. :(

Posted: Mon Dec 24, 2007 5:28 am
by dlangdev
hey, i thought bump/normal maps are hard to do. i was able to do it on a radeon 9550 card, though.

Image

i've got to get that parallax effect going in there. maybe it will run only on the the 3850 card? we'll soon find out.

i mean steep parallax mapping...

http://graphics.cs.brown.edu/games/SteepParallax/