Interior Mapping

A place to show off your latest screenshots and for people to comment on them. Only start a new thread here if you have some nice images to show off!
Post Reply
Oogst
OGRE Expert User
OGRE Expert User
Posts: 1067
Joined: Mon Mar 29, 2004 8:49 pm
Location: the Netherlands
x 43
Contact:

Re: I worked on something similar for a game company.

Post by Oogst »

Lee04 wrote:Super great work!

I worked on something similar for a game company.
It also had an "old glass" effect on the windows.

They did a game set in New York, still the TD killed this and said we already have so many materials for the engine (they used Unreal 3 engine) why are you doing this? He asked...

Instead they modeled all windows...

And then they wondered why it was so slow....rendering.
Could you give some more information on what you were doing? The exact same thing?
JRowe47 wrote:How expensive would render to texture be, to show actors moving around inside and so on? That would be awesome, if feasible... silhouettes on shades, an ogre looking out the window from his or her desk... objects in a room?

Really neat, can't wait to read your paper :)
I am going to do that using sprites, so that means pre-rendered animations on planes. The sprites could be done with stuff that is rendered to texture to allow more complex stuff to happen. Interesting idea! I am not going to actually implement it using render to texture, I think, but it is definitely worth mentioning this idea in the paper!
My dev blog
Awesomenauts: platforming MOBA (PC/Mac/Linux/XBox360/X1/PS3/PS4)
Blightbound: coop online dungeon crawler (PC)
Swords & Soldiers: side-scrolling RTS (Switch/PS3/Wii/PC/Mac/Linux/iPhone/iPad/Android)
Proun: abstract racing game (PC)
Cello Fortress: mixing game and live cello performance
The Ageless Gate: cello album
User avatar
Lee04
Minaton
Posts: 945
Joined: Mon Jul 05, 2004 4:06 pm
Location: Sweden
x 1

Post by Lee04 »

Could you give some more information on what you were doing? The exact same thing?
I didn't get as far as you have I got cut off by the TD.

The idea was exactly the same to fake something behind the glass.
Not a ceiling and walls but any content maybe directly by the window.
Curtains and a flower pot perhaps. Think per pixel displacement. a surface parallel to the window but rendered so it slightly behind the window outlining and giving shape to things behind the glass.

I did add old glass effect and stucco details around the houses windows using parallel mapping. That replaces geometry on the fasad of the house. Like it is on older houses.
Ph.D. student in game development
xinteractx
Gnoblar
Posts: 2
Joined: Tue Jan 16, 2007 7:09 am

Post by xinteractx »

I am running this @ 1500 fps.

We are working on a title that includes lots of buildings in a city like environment.

I could defiantly see a use for this type of mapping.

Keep up the good work.
Oogst
OGRE Expert User
OGRE Expert User
Posts: 1067
Joined: Mon Mar 29, 2004 8:49 pm
Location: the Netherlands
x 43
Contact:

Post by Oogst »

So I really should make haste with the paper, before you release your game and claim you are first in the marketing. ;)
My dev blog
Awesomenauts: platforming MOBA (PC/Mac/Linux/XBox360/X1/PS3/PS4)
Blightbound: coop online dungeon crawler (PC)
Swords & Soldiers: side-scrolling RTS (Switch/PS3/Wii/PC/Mac/Linux/iPhone/iPad/Android)
Proun: abstract racing game (PC)
Cello Fortress: mixing game and live cello performance
The Ageless Gate: cello album
User avatar
guilderstein
Halfling
Posts: 66
Joined: Wed Jan 04, 2006 11:48 am
Location: Hungary, Budapest

Post by guilderstein »

Yo man,

really like this stuff :)

Keep it up, this thread is a gem both concept, research, and tech-wise :P
"I go where I please, and I please where I go"
- Duke Nukem
Oogst
OGRE Expert User
OGRE Expert User
Posts: 1067
Joined: Mon Mar 29, 2004 8:49 pm
Location: the Netherlands
x 43
Contact:

Post by Oogst »

OK, my paper on Interior Mapping is almost finished and I added some exciting new options to it (more on that soon), but now I have a little problem that I need to solve first. I am using early z-out, but that gives flickering black noise on my objects under certain camera angles. Which only makes sense, because floating point precision errors would indeed create exactly this behaviour. However, how do I solve it? Currently, I do the early z-out like this:

Code: Select all

material BoxHigh
{
	technique
	{	
		//first fill the z-buffer without calculating the expensive per-pixel effect
		pass
		{
			colour_write off
		}
		
		//now actually render the per-pixel effect
		pass
		{
			vertex_program_ref Cg_BoxHigh_VP
			{
			}
			fragment_program_ref Cg_IM_DiffuseCube_FullyTexturedRooms_FP
			{
				param_named wallFrequencies float3 2.99 6.99 2.99
			}
			texture_unit
			{
				texture Ceiling256.tga
			}
			texture_unit
			{
				texture Floor256.tga
			}
			texture_unit
			{
				texture Stones256.tga
			}
			texture_unit
			{
				texture Stones256.tga
			}
			texture_unit
			{
				texture BricksWithWindows.tga
			}
			texture_unit
			{
				cubic_texture WindowsCubeMap_Dark.tga combinedUVW
			}
		}
	}
}
Ow, by the way, right now I plan to send my paper to Eurographics, deadline this month, and I will also try to abuse your kindness in the coming days by asking you (a.k.a. "the reader") to run my little benchmark program for five minutes and send me the results. But that's for a few days away.
My dev blog
Awesomenauts: platforming MOBA (PC/Mac/Linux/XBox360/X1/PS3/PS4)
Blightbound: coop online dungeon crawler (PC)
Swords & Soldiers: side-scrolling RTS (Switch/PS3/Wii/PC/Mac/Linux/iPhone/iPad/Android)
Proun: abstract racing game (PC)
Cello Fortress: mixing game and live cello performance
The Ageless Gate: cello album
beaugard
OGRE Contributor
OGRE Contributor
Posts: 265
Joined: Sun Mar 25, 2007 1:48 pm
x 2

Post by beaugard »

You get flickering because you are using a shader for the second pass (vp) but normal pipeline for the first. Use exactly the same vp for both passes and it'll be fine.
User avatar
PolyVox
OGRE Contributor
OGRE Contributor
Posts: 1316
Joined: Tue Nov 21, 2006 11:28 am
Location: Groningen, The Netherlands
x 18
Contact:

Post by PolyVox »

Good luck with the paper, there's a chance less people will submit to EuroGraphics this year as they've shifted the deadline forward. Maybe it'll catch people unprepared. I haven't got anything ready at the moment, but if the Volume Graphics symposium is attached I've got an idea for that.

Oh, and I'll be happy to bench mark your program for you.
Oogst
OGRE Expert User
OGRE Expert User
Posts: 1067
Joined: Mon Mar 29, 2004 8:49 pm
Location: the Netherlands
x 43
Contact:

Post by Oogst »

Hmm, instead of for Eurographics, I could also try sending my Interior Mapping-paper to Computer Graphics International Conference in Istanbul. Sending to both is not an option, because my supervisor told me that that is considered to be rude. Now I am wondering whether that other conference is well-known as well, or something small that is not really exciting. Can anyone tell me how well-known and interesting and fitting both are for my project?
My dev blog
Awesomenauts: platforming MOBA (PC/Mac/Linux/XBox360/X1/PS3/PS4)
Blightbound: coop online dungeon crawler (PC)
Swords & Soldiers: side-scrolling RTS (Switch/PS3/Wii/PC/Mac/Linux/iPhone/iPad/Android)
Proun: abstract racing game (PC)
Cello Fortress: mixing game and live cello performance
The Ageless Gate: cello album
User avatar
PolyVox
OGRE Contributor
OGRE Contributor
Posts: 1316
Joined: Tue Nov 21, 2006 11:28 am
Location: Groningen, The Netherlands
x 18
Contact:

Post by PolyVox »

Well I've never been, but EuroGraphics is a well known conference. I've not heard of the other one. Have you seen the conference calendar here?

http://confcal.vrvis.at/

Maybe you can find some other options...
Oogst
OGRE Expert User
OGRE Expert User
Posts: 1067
Joined: Mon Mar 29, 2004 8:49 pm
Location: the Netherlands
x 43
Contact:

Post by Oogst »

Ow, that is an interesting site! Thanks!
My dev blog
Awesomenauts: platforming MOBA (PC/Mac/Linux/XBox360/X1/PS3/PS4)
Blightbound: coop online dungeon crawler (PC)
Swords & Soldiers: side-scrolling RTS (Switch/PS3/Wii/PC/Mac/Linux/iPhone/iPad/Android)
Proun: abstract racing game (PC)
Cello Fortress: mixing game and live cello performance
The Ageless Gate: cello album
Oogst
OGRE Expert User
OGRE Expert User
Posts: 1067
Joined: Mon Mar 29, 2004 8:49 pm
Location: the Netherlands
x 43
Contact:

Post by Oogst »

Ow, interesting, someone just gave me this link:

http://blogs.ign.com/Real_Time_Worlds/2 ... 0/42967/p2

It is from Crackdown from January 10th, 2007, and contains the following text:
Fake window interiors – The technology we're using for windows is the next generation beyond parallax mapping. For every pixel of every window, the shader simulates raytracing through the blinds, through the interior window box, and finally into the room until it hits the floor or ceiling. And after that, the full lighting equation is run.
Sounds more advanced than what I am doing, but I had already analyzed lots of screenshots and gameplay footage from their game and was not able to see actual interiors. But then again, the game has not even been released for Windows, has it?
My dev blog
Awesomenauts: platforming MOBA (PC/Mac/Linux/XBox360/X1/PS3/PS4)
Blightbound: coop online dungeon crawler (PC)
Swords & Soldiers: side-scrolling RTS (Switch/PS3/Wii/PC/Mac/Linux/iPhone/iPad/Android)
Proun: abstract racing game (PC)
Cello Fortress: mixing game and live cello performance
The Ageless Gate: cello album
User avatar
PolyVox
OGRE Contributor
OGRE Contributor
Posts: 1316
Joined: Tue Nov 21, 2006 11:28 am
Location: Groningen, The Netherlands
x 18
Contact:

Post by PolyVox »

Don't panic about it - and never believe anything you read in marketing material :wink: Anyway, it sounds different. They raytrace through the window to show what is inside the room, while you are using a rendering trick to simulate the interior of rooms which aren't really there. Besides, their approach is unpublished so you are fine.
Kerion
Goblin
Posts: 235
Joined: Wed Feb 05, 2003 5:49 am
Contact:

Post by Kerion »

I think the technique would look better if perhaps a reflection map were used, and the interior + reflection map were interpolated. With real windows, you can't generally see right through them to the interior, you will instead get some environment reflection, as well as the interior. I am not sure of a straight linear interpolation would look right though, I think a more advanced algorithm would be needed to make it look realistic. Perhaps something to do with the intensity of the color coming from the interior map (the more intense the color, the more likely it is to be seen through the environmental reflections of the window). Absolutely no math to support this, just a thought.
Oogst
OGRE Expert User
OGRE Expert User
Posts: 1067
Joined: Mon Mar 29, 2004 8:49 pm
Location: the Netherlands
x 43
Contact:

Post by Oogst »

PolyVox wrote:Don't panic about it - and never believe anything you read in marketing material :wink: Anyway, it sounds different. They raytrace through the window to show what is inside the room, while you are using a rendering trick to simulate the interior of rooms which aren't really there. Besides, their approach is unpublished so you are fine.
My "rendering trick" consists of raytracing through the window into the interior of the room. That is what my shader does. What they describe could be exactly what I am doing. It is just that their visual material does not show the effect at all and that they did not publish anything about it.
Kerion wrote:I think the technique would look better if perhaps a reflection map were used, and the interior + reflection map were interpolated. With real windows, you can't generally see right through them to the interior, you will instead get some environment reflection, as well as the interior. I am not sure of a straight linear interpolation would look right though, I think a more advanced algorithm would be needed to make it look realistic. Perhaps something to do with the intensity of the color coming from the interior map (the more intense the color, the more likely it is to be seen through the environmental reflections of the window). Absolutely no math to support this, just a thought.
I am, in fact, already combining this with a reflection map. Only thing is that to show what is happening, I made the reflection map very subtle and the interior effect very strong. For an actual game, the balance would have to be shifted. As for the combination idea: I might give that a try for my demo shots, where I try to really create a nice image. So far you have only seen the tech demo. :)
My dev blog
Awesomenauts: platforming MOBA (PC/Mac/Linux/XBox360/X1/PS3/PS4)
Blightbound: coop online dungeon crawler (PC)
Swords & Soldiers: side-scrolling RTS (Switch/PS3/Wii/PC/Mac/Linux/iPhone/iPad/Android)
Proun: abstract racing game (PC)
Cello Fortress: mixing game and live cello performance
The Ageless Gate: cello album
Oogst
OGRE Expert User
OGRE Expert User
Posts: 1067
Joined: Mon Mar 29, 2004 8:49 pm
Location: the Netherlands
x 43
Contact:

Post by Oogst »

Ok, I have a new version of Interior Mapping online now:

http://ronimo.hku.nl/Joost/InteriorMapp ... chmark.zip

(edit: I am not looking for test-results anymore, because I got enough of them. Thanks, those who participated!)
I am looking for people who would like to run the benchmarking part of my application and send me the results, so that I can make some nice graphs in my paper and base them on more than just my own PC. Benchmarking takes your computer approximately 10 minutes to do and it would really help me out if I got a lot of test results! There is a file "Explanation.txt" in the zip that explains how to do it. Thanks in advance!

This version also contains two totally new features: an alpha plane inside the building that can contain characters and furniture, and a version that varies the distance between walls, so that the whole becomes a bit less repetitive. This is also the first version that I am putting online that allows you to play around with turning the lighting in rooms on and off. Note that these features all have extra parameters that can be manipulated in the test application. Pressing F1 shows all the keys and some keys are extra only for certain materials that use them.

These are some screenshots of the new features, although I have to mention that nice textures still need to be made, because this is not especially good-looking. These are really tech-demo's.

Alpha planes inside the building:
Image

Varying distances between walls:
Image

Turning lights in rooms on and off:
Image

Lots of things to try in the test application:
Image
Last edited by Oogst on Wed Sep 19, 2007 4:05 pm, edited 1 time in total.
My dev blog
Awesomenauts: platforming MOBA (PC/Mac/Linux/XBox360/X1/PS3/PS4)
Blightbound: coop online dungeon crawler (PC)
Swords & Soldiers: side-scrolling RTS (Switch/PS3/Wii/PC/Mac/Linux/iPhone/iPad/Android)
Proun: abstract racing game (PC)
Cello Fortress: mixing game and live cello performance
The Ageless Gate: cello album
User avatar
Fiesch
Gremlin
Posts: 159
Joined: Mon Oct 10, 2005 11:08 am
Location: Bavaria, Germany
Contact:

Post by Fiesch »

tried to run your benchmark, but crashes after video mode selection (i assume 32 bit, you didn't specify that in the txt)

important lines from the log:
WARNING: Box.mesh is an older format ([MeshSerializer_v1.30]); you should upgrade it as soon as possible using the OgreMeshUpgrade tool.
11:08:13: WARNING: material IM_FullyTexturedRooms_AlphaPlane_LightVariation has no supportable Techniques and will be blank. Explanation:
Pass 0: Fragment program Cg_IM_FullyTexturedRooms_AlphaPlane_LightVariation_FP cannot be used - not supported.

11:08:13: OGRE EXCEPTION(2:InvalidParametersException): This params object is not based on a program with named parameters. in GpuProgramParameters::getConstantDefinitionIterator at \Projects\OgreCVS\Branches\Eihort_vc71\ogrenew\OgreMain\src\OgreGpuProgram.cpp (line 844)

and a minor one:
11:07:36: OGRE EXCEPTION(6:FileNotFoundException): 'ogre.cfg' file not found! in ConfigFile::load at \Projects\OgreCVS\Branches\Eihort_vc71\ogrenew\OgreMain\src\OgreConfigFile.cpp (line 84)
just verified - repeatable and same on 16 bit

*Edit- sent you specs and log via email*
Last edited by Fiesch on Tue Sep 18, 2007 10:17 am, edited 1 time in total.
From all the things I've ever lost i miss my mind the most
S.Tyler, Aerosmith
Oogst
OGRE Expert User
OGRE Expert User
Posts: 1067
Joined: Mon Mar 29, 2004 8:49 pm
Location: the Netherlands
x 43
Contact:

Post by Oogst »

Hmm, problematic! What kind of GPU do you have?

32 bit was right, by the way.
My dev blog
Awesomenauts: platforming MOBA (PC/Mac/Linux/XBox360/X1/PS3/PS4)
Blightbound: coop online dungeon crawler (PC)
Swords & Soldiers: side-scrolling RTS (Switch/PS3/Wii/PC/Mac/Linux/iPhone/iPad/Android)
Proun: abstract racing game (PC)
Cello Fortress: mixing game and live cello performance
The Ageless Gate: cello album
User avatar
PolyVox
OGRE Contributor
OGRE Contributor
Posts: 1316
Joined: Tue Nov 21, 2006 11:28 am
Location: Groningen, The Netherlands
x 18
Contact:

Post by PolyVox »

I get the same error if I use the OpenGL renderer - the Direct3D one works fine. Which one did you use, Fiesch?
Oogst
OGRE Expert User
OGRE Expert User
Posts: 1067
Joined: Mon Mar 29, 2004 8:49 pm
Location: the Netherlands
x 43
Contact:

Post by Oogst »

I can see in the ogre.log that Fiesch sent me that he is indeed running D3D9. I think the problem is that some of the shaders are shader model 2.x instead of shader model 2.0. His GPU does not support shader model 2.x. Ogre then makes the material just blank, but my code still assumes that the material has parameters. I think the problem is in this piece of code, but I am still looking at how I can solve that.

Code: Select all

bool Application::hasParameter(const std::string& parameterName) const
{
	Ogre::Pass* pass = getPass();
	if (pass->hasFragmentProgram())
	{
		Ogre::GpuProgramParametersSharedPtr parameters = pass->getFragmentProgramParameters();
		if (!parameters.isNull())
		{
			Ogre::GpuConstantDefinitionMap map = parameters->getConstantDefinitions().map;
			return map.find(parameterName) != map.end();
		}
	}
	return false;
}
My dev blog
Awesomenauts: platforming MOBA (PC/Mac/Linux/XBox360/X1/PS3/PS4)
Blightbound: coop online dungeon crawler (PC)
Swords & Soldiers: side-scrolling RTS (Switch/PS3/Wii/PC/Mac/Linux/iPhone/iPad/Android)
Proun: abstract racing game (PC)
Cello Fortress: mixing game and live cello performance
The Ageless Gate: cello album
User avatar
Fiesch
Gremlin
Posts: 159
Joined: Mon Oct 10, 2005 11:08 am
Location: Bavaria, Germany
Contact:

Post by Fiesch »

I'll have a go at it at my actual workstation when it's done with the current testcase execution, should work there

*edit* hm possibly not, swapped cards "downwards" lately to an old ati - but we'll see

*anotheredit* nope, exact same thing there.
Last edited by Fiesch on Tue Sep 18, 2007 10:52 am, edited 1 time in total.
From all the things I've ever lost i miss my mind the most
S.Tyler, Aerosmith
Oogst
OGRE Expert User
OGRE Expert User
Posts: 1067
Joined: Mon Mar 29, 2004 8:49 pm
Location: the Netherlands
x 43
Contact:

Post by Oogst »

I made an executable that hopefully solves the problem and spews out a lot of debugging information anyway. Could you run that and see whether it fixes it and otherwise send me the application.log with the debugging information? Please not that this version is not fit for benchmarking, because it clutters results by writing to the log on the harddisc way too often (20 times per frame or something like that), but it can help me solve the problem. Thanks in advance!

http://ronimo.hku.nl/Joost/InteriorMapp ... utable.zip

I would really like to see the results on your odd Ati motherboard/gpu mix thingie!
My dev blog
Awesomenauts: platforming MOBA (PC/Mac/Linux/XBox360/X1/PS3/PS4)
Blightbound: coop online dungeon crawler (PC)
Swords & Soldiers: side-scrolling RTS (Switch/PS3/Wii/PC/Mac/Linux/iPhone/iPad/Android)
Proun: abstract racing game (PC)
Cello Fortress: mixing game and live cello performance
The Ageless Gate: cello album
User avatar
PolyVox
OGRE Contributor
OGRE Contributor
Posts: 1316
Joined: Tue Nov 21, 2006 11:28 am
Location: Groningen, The Netherlands
x 18
Contact:

Post by PolyVox »

I've sent you my results, but as I mentioned I don't have Specs.txt. Maybe it's some kind of permission problem so it can't get written? (I'm running Vista).

Also I noticed that some of the materials showed up white - specifically in tests 77,78,82,83 and 84. Is this correct?

Also I have more (older) computers I can test on if you like.
Oogst
OGRE Expert User
OGRE Expert User
Posts: 1067
Joined: Mon Mar 29, 2004 8:49 pm
Location: the Netherlands
x 43
Contact:

Post by Oogst »

PolyVox wrote:I've sent you my results, but as I mentioned I don't have Specs.txt. Maybe it's some kind of permission problem so it can't get written? (I'm running Vista).

Also I noticed that some of the materials showed up white - specifically in tests 77,78,82,83 and 84. Is this correct?

Also I have more (older) computers I can test on if you like.
Thanks!

From the specs.txt I needed some specific information that I think you probably know anyway: what are the brand of your CPU, the ghz's of your CPU, the number of cores of your CPU, the amount of RAM in your computer and the amount of video memory.

Ow, what is funny to see, is that the results on your computer are 5% lower than on mine in most tests, while we both have a 6600GT.

If possible, then I would like to see results of those older computers you have as well, but only if they support at least pixel shader 2.0, because otherwise nothing will run on them anyway.
My dev blog
Awesomenauts: platforming MOBA (PC/Mac/Linux/XBox360/X1/PS3/PS4)
Blightbound: coop online dungeon crawler (PC)
Swords & Soldiers: side-scrolling RTS (Switch/PS3/Wii/PC/Mac/Linux/iPhone/iPad/Android)
Proun: abstract racing game (PC)
Cello Fortress: mixing game and live cello performance
The Ageless Gate: cello album
User avatar
Fiesch
Gremlin
Posts: 159
Joined: Mon Oct 10, 2005 11:08 am
Location: Bavaria, Germany
Contact:

Post by Fiesch »

executed & sent
From all the things I've ever lost i miss my mind the most
S.Tyler, Aerosmith
Post Reply