Box Projected Cube Environment Mapping demo (Shiny!)

Wow!!! Dude… i still can’t believe!!!

thanks!

I love you, Truely beautiful work

http://img189.imageshack.us/img189/1769/1112221.jpg

floor2
const vec3 EnvBoxMax = vec3(5.500,21.794,3.500);
const vec3 EnvBoxMin = vec3(-5.500,-2.945,0.000);
const vec3 EnvBoxPos = vec3(0.0,7.589,1.750);
wall2
const vec3 EnvBoxMax = vec3(5.500,21.780,3.500);
const vec3 EnvBoxMin = vec3(-5.500,-2.982,0.000);
const vec3 EnvBoxPos = vec3(0.0,7.589,1.750);

floor1
const vec3 EnvBoxMax = vec3(5.500,21.780,3.500);
const vec3 EnvBoxMin = vec3(-5.500,-2.982,0.000);
const vec3 EnvBoxPos = vec3(0.0,7.589,1.750);

http://img189.imageshack.us/img189/1769/1112221.jpg

floor2

const vec3 EnvBoxMax = vec3(5.500,21.794,3.500);
const vec3 EnvBoxMin = vec3(-5.500,-2.945,0.000);
const vec3 EnvBoxPos = vec3(0.0,7.589,1.750);

wall2

const vec3 EnvBoxMax = vec3(5.500,21.780,3.500);
const vec3 EnvBoxMin = vec3(-5.500,-2.982,0.000);
const vec3 EnvBoxPos = vec3(0.0,7.589,1.750);

floor1

const vec3 EnvBoxMax = vec3(5.500,21.780,3.500);
const vec3 EnvBoxMin = vec3(-5.500,-2.982,0.000);
const vec3 EnvBoxPos = vec3(0.0,7.589,1.750);

Blender is now taking over Frosbite 2 :smiley:
JUST AWESOME!!!

Awesome!
I do have a question:
Can’t a video to texture system be used to have realtime reflections? The cube map would be updated by a or a set of cameras then used as cube map. Since here the map is limited to a size, the texture update can be made as the size limit is about to be reached.
…it’s just an idea…

this should be standard in the blender material settings one day!

i can’t download it D: safari sucks

@mayhem - Try right-clicking and selecting “Save Link As…” or an equivalent option.

would be cool if some people got together and started making an “open FPS game” with BGE
most Common is WWII, or maybe make it like Counter-Strike(that is still very popular)

I would also like to know if someone manage to use this technique in their own projects? I am really interested in using this for ArchViz, there is nothing like it, not even UDK or Cryengine can manage reflections like this.

Aha! I saw this a couple months back on youtube while trawling through BGE vids. It amazed me then and it amazes me now, however now I know the author, I’m not surprised it blows me away :wink:

If you were to make your own full game the visuals would rival the best out there!

So… any pro here feels so strong like trying to offer us a tutorial of how to develop maps with this technique? Maybe steps? Hints? Tips? :slight_smile:

I am still trying to do something with this .blend but I don’t know where I’m failing :frowning:

Reminds me alot of Mirror’s Edge.
Good work.

I asked on the Crydev forum some time ago if they would / could implement a feature like this, and now they have suddenly. Without giving me any response or feedback all this time. Is it maybe a sensitive thing that a big company adopts a feature developed in the open-source / creative commons community, and thats why they do not want to make a big deal out of it? :wink:

My original post at crydev started in june with test from todays release of Cryengine 3 FreeSDK: http://www.crydev.net/viewtopic.php?f=355&t=92953

Announcement with logs for the new release today, the entry stating that they introduced BPCEM is in the first release log: http://www.crydev.net/viewtopic.php?f=355&t=101977

Anyhow, in the Cryengine 3 engine you can now place environment probes that can create cubemaps and they also have options for the box projection. This way you can place them and arrange them as you will, which is what I want for Blender, an object that you can easily place and defines your box projection for you.

The method here by martins has the disadvantages:

  • You have to hardcode the boundaries of the projection boxes, and I am uncertain how you would go about having them arranged hap-hazardly. (Which is no problem in cryengine)
  • You have to add python code for every object affected by the cubemaps, and repeat info about your cubemaps for every object.

So the question is, will BPCEM become more integrated into blender in the future perhaps? Could this be done in Blender Candy for example?

Happly Blending everyone! :wink:

Well, this seems a bit stupid from their side… UDK also “adopted” a cool technique based on another development and included it in UE4, but at least they invented a different name for the same technology, so it seems that they developed that technology on their own… But Crydev, they just go and use the same name that appears in the open-source community… LoL :yes:

Dunno, just wondering, but if they just wanted to “steal” it, they could have called it something like “Enhanced light mapping” or similar, so it doesn’t seem so cheeky xD

Btw, answering to your question: Yes, they probably saw it and copy/pasted to their engine. It is free cash for them, they will earn money from something they didn’t invest a buck/minute of research :rolleyes:

At least this still helps to improve overall quality of graphics products :slight_smile:

Doh, you updated post before I answered :smiley:

Anyway, I think it seems that it is planned to include cubemapping in the future:

Well, I do not think that they do anything wrong implementing the feature in their engine. There is no license or such hindering them. Although, since it is a feature developed in open source / creative commons circles, it would be nice if they not only used the technique but actually when using it contributing to where it came from, as martinsh has been doing, sharing their further development and refining the feature (if it has to be refined at all ;/ )

Anyhow I think its good that it is being put into use (since I am using it :wink: ), it will also give blender a push seeing how useful it actually will be in cryengine, and hopefully it will make way for it to be implemented in blender in the same way.

I will be sharing my tests with Cryengine here to, to show how flexible this feature can be :wink:

Or you can produce the same effect with textured arealigts.

The advantage would be that you are not confined to a box, but you can do any geometry, as long as your surfaces are squared or rectangles. Although with a texture that has black parts you can actually simulate any sort of clipping. Have not tried if alpha works with arealights.

The only problem I find is that when you are using textured arealights only for Specular there is no falloff to the reflection. If you also use Diffuse there is a nice falloff and you do not see that far off reflection in the opposite surface as clearly, but then you get lights in the corners of the box. Hmmm… Maybe martinsh can fix that :wink:

Also in my example the reflection textures does not match what you see, it is because I haven’t bothered baking the shadows and such, but as you can see, it would be the same as using the textures for the projected cubemap.


Blend: http://www.pasteall.org/blend/17537

You need the arealigts Candy Branch build, you’ll find it here: http://devlog-martinsh.blogspot.com.es/2012/11/bge-candy-area-lights.html

I am doing some general blender BGE tests, and I discovered that BGE runs slower than expected in full-screen. Something like 1920x1050 resolution (due to the menu on top).

I tried the BPCEM scene and even with this scene, with SSAO and AA, Blender tells me 60 FPS, but I get the feeling its rather 20 FPS, it is not smooth as I would expect, any thoughts?