Ambiera Forum

Discussions, Help and Support.

Ambiera Forum > CopperCube > CopperCube Open discussion
How can I improve the picture quality of my game?

Registered User
2023-08-10 10:41:29

It's a great engine But?I feel that the visual expression of CopperCube might be a bit outdated.So?How can I improve the picture quality of my game?

Registered User
2023-08-11 02:56:47

Hello there may I make a suggestion, that the greatest visual strength in coppercube in my opinion are the diffuse maps. So I bake or incorporate most of the detail in the diffuse textures. Here are my KODM game video references of my recent game release using coppercube. 99% diffuse maps.

Temporary HD Trailer Video

Production Walk-through Video

2023-08-11 14:01:06

A LOT of manual work and working around the limitations of CC's renderer, which mostly just boil down to not having any PBR available out of the box (Just_In_Case's shader exists, yes, but it's a bit cumbersome to set up).

As laguni demonstrates, faking this detail, like baking the normal maps onto the textures (Robo has a video showing this in Gimp) on top of using lightmaps and shadow meshes, and some post-processing with Reshade... You can get extremely pretty, vibrant visuals far beyond what ANY of the engine demos would indicate!

2023-08-13 03:36:41

I have compared older CC style DX9 graphics with more modern versions like DX11 and DX12 and one of the main things it seems to me is how DX9 tends to over shade meshes while 11 and 12 only apply a very light shading so you don't get such harsh cut-offs in brightness to darkness and thus looks a bit more realistic (most times).

Its got to do with the default DX9 shader code that applies the shading in both the Fixed function shader and HLSL shader code.

The HLSL file 'CSceneManagerShaders.h' has the HLSL code for shadows around line 100 - the distanceFact variable calculation seems to be the main culprit here:

float distance = length( vertexToLight );
float distanceFact = 1.0 / (arrLightPositions[i].w * distance);
vertexToLight = normalize(vertexToLight);
float angle = max(0.0, dot(normal, vertexToLight));
float intensity = angle * distanceFact * m4factor.x;

I was intending to adjust this and see how it looks (yet to do) as I expect an improvement in this area and able to get it to look more like modern Direct X versions. (the m4factor.x could also be adjusted perhaps).

Some modern Dx versions almost dont seem to apply shading at all sometimes and just rely on ambient brightness and ambient occlusion maps to give shading effects needed...that's also possible to cut down on calculations....not sure.

Anyone else that want to take a look at the source code and experiment please do....and share here what you find would be great...

2023-08-27 12:47:50

This video shows a lot clearer how badly the harsh cut-offs of the light shading looks - CopperCube as being based directly off Irrlicht is a good example.

If a very light amount of shading existed would look so much better.

Then you would just need to maybe see how the colours look and if anything can be done with them as DX9 tends to darken the colours and often are too saturated so might need some work in that also...

Create reply:

Posted by: (you are not logged in)

Enter the missing letter in: "In?ernational" (you are not logged in)




Possible Codes

Feature Code
Link [url] [/url]
Bold [b]bold text[/b]
Image [img][/img]
Quote [quote]quoted text[/quote]
Code [code]source code[/code]



Copyright© Ambiera e.U. all rights reserved.
Privacy Policy | Terms and Conditions | Imprint | Contact