View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update | 
|---|---|---|---|---|---|
| 0004902 | The Dark Mod | Graphics | public | 28.11.2018 22:35 | 09.12.2022 19:06 | 
| Reporter | VanishedOne | Assigned To | stgatilov | ||
| Priority | normal | Severity | normal | Reproducibility | always | 
| Status | closed | Resolution | unable to reproduce | ||
| Product Version | TDM 2.06 | ||||
| Target Version | TDM 2.11 | Fixed in Version | TDM 2.11 | ||
| Summary | 0004902: Cubic lights create a banding effect on some surfaces | ||||
| Description | See attached screenshot. Book pages seem susceptible to this. Some light textures create a more noticeable effect than others; the screenshot is of lights/ambientcube/skybox_industrial_01_cube  | ||||
| Additional Information | Only the GLSL cubelight implementation seems affected. | ||||
| Tags | No tags attached. | ||||
| Attached Files | |||||
| Steps to repeat / test map? | |
| Okay, a simple test map is attached. | |
| 
	Thanks Can you somehow show where the light center is? E.g. put a light entity there. Can you extend the cubic light so that it interacts with more geometry than just the books (e.g. walls)? Can you add more entities, such as a desk? I suspect that the book surface is orthogonal to light rays and should not be lit at all.  | 
|
| 
	The light volume already extends through the walls. And it's an ambient light (though I don't think the issue is limited to ambient lights). I'll upload a new version with a couple more models, a paler material for the walls/floor/ceiling and a candle flame where the cubic light's origin is. Edit: okay, attached. The staue I added looks good to me, but the top of the desk seems dubious.  | 
|
| 
	Thanks I can see you're using the standard lights/ambientCube/skybox_industrial_01_cube from tdm_cubeLights.mtr I think that light material is out of sync with the current TDM version Basically, it looks broken Let's move discussion into the forum thread for now http://forums.thedarkmod.com/topic/18282-tracker-3881-cubemap-lighting-beta/page-7  | 
|
| http://forums.thedarkmod.com/topic/18282-tracker-3881-cubemap-lighting-beta/page-7 | |
| 
	The newest ambient cubemap light materials use the bakeAmbientDiffuse and bakeAmbientSpecular keywords ( replaces makeIrradiance keyword ) and do not suffer banding  | 
|
| 
	Are you sure they don't suffer banding? Isn't it what you experienced?...  | 
|
| 
	There is still some subtle banding when using the bakeAmbientDiffuse keyword but it cannot be reproduced in this test map. AFAIK, the workaround is to use Irradiance Images made in 3rd party programs: https://forums.thedarkmod.com/index.php?/topic/19803-tutorial-image-based-lighting-workflows-for-tdm/#comment-432186 If tracker 0006090 or 0005239 aren't appropriate to track that, we could use this tracker I guess. The description and test map in this tracker do not properly represent the current state of things ( no do they reflect a proper understanding of the feature) so either adding this to one of the above or creating a new tracker would be better.  | 
|
| 
	VanishedOne I have attached the latest material def from SVN so you can test in 2.11 beta  tdm_cubeLights.mtr (8,727 bytes)   
 
//===============================================================================
// Default Cube Map (Author: Sikkpin)
//===============================================================================
lights/ambientCube/cubeDefault
{	
	ambientLight
	
		// 
		lightAmbientDiffuse bakeAmbientDiffuse(cameraLayout(env/lights/defaultcm))
        lightAmbientSpecular bakeAmbientSpecular(cameraLayout(env/lights/defaultcm))
		
        lightFalloffImage makeintensity( textures/lights/ambientlightnfo)
����
����{
��������
��������map textures/lights/ambientlightnfo_amb
��������colored
��������zeroClamp
��������
����}
			
}
textures/skies/cubeDefault
{	
	noFragment
	noshadows
	noimpact
	forceOpaque		
	qer_editorimage		env/lights/defaultcm_up.tga
	{
		blend			add	
		cameraCubeMap	env/lights/defaultcm
		texgen			skybox
	}
}
//===============================================================================
// TDM Skybox Lights
//===============================================================================
lights/ambientCube/daysky_cube
{	
	ambientLight
	
		
		lightAmbientDiffuse bakeAmbientDiffuse(cameraLayout(env/daysky/daysky))
        lightAmbientSpecular bakeAmbientSpecular(cameraLayout(env/daysky/daysky))
        lightFalloffImage makeintensity( textures/lights/ambientlightnfo)
����
����{
��������
��������map textures/lights/ambientlightnfo_amb
��������colored
��������zeroClamp
��������
����}				
	
}
lights/ambientCube/dm_sqsky_cube
{	
	ambientLight
		
		lightAmbientDiffuse bakeAmbientDiffuse(cameraLayout(env/skyboxes/dm_sqsky/dm_sqsky))
        lightAmbientSpecular bakeAmbientSpecular(cameraLayout(env/skyboxes/dm_sqsky/dm_sqsky))
        lightFalloffImage makeintensity( textures/lights/ambientlightnfo)
����
����{
��������
��������map textures/lights/ambientlightnfo_amb
��������colored
��������zeroClamp
��������
����}				
	
}
lights/ambientCube/skybox_afternoon_01_cube
{	
	ambientLight
		
		lightAmbientDiffuse bakeAmbientDiffuse(cameraLayout(env/skyboxes/skybox_afternoon_01/afternoon_01))
        lightAmbientSpecular bakeAmbientSpecular(cameraLayout(env/skyboxes/skybox_afternoon_01/afternoon_01))
        lightFalloffImage makeintensity( textures/lights/ambientlightnfo)
����
����{
��������
��������map textures/lights/ambientlightnfo_amb
��������colored
��������zeroClamp
��������
����}			
	
}
lights/ambientCube/skybox_afternoon_02_cube
{	
	ambientLight
		 
		lightAmbientDiffuse bakeAmbientDiffuse(cameraLayout(env/skyboxes/skybox_afternoon_02/afternoon_02))
        lightAmbientSpecular bakeAmbientSpecular(cameraLayout(env/skyboxes/skybox_afternoon_02/afternoon_02))
        lightFalloffImage makeintensity( textures/lights/ambientlightnfo)
����
����{
��������
��������map textures/lights/ambientlightnfo_amb
��������colored
��������zeroClamp
��������
����}				
	
}
lights/ambientCube/skybox_darkland_ne_cube
{	
	ambientLight
		
		lightAmbientDiffuse bakeAmbientDiffuse(cameraLayout(env/skyboxes/skybox_darkland_ne/darkland_NE))
		lightAmbientSpecular bakeAmbientSpecular(cameraLayout(env/skyboxes/skybox_darkland_ne/darkland_NE))
        lightFalloffImage makeintensity( textures/lights/ambientlightnfo)
����
����{
��������
��������map textures/lights/ambientlightnfo_amb
��������colored
��������zeroClamp
��������
����}
			
}
lights/ambientCube/skybox_desert_day_cube
{	
	ambientLight
	
		
		lightAmbientDiffuse bakeAmbientDiffuse(cameraLayout(env/skyboxes/skybox_desert_day/desert))
        lightAmbientSpecular bakeAmbientSpecular(cameraLayout(env/skyboxes/skybox_desert_day/desert))
        lightFalloffImage makeintensity( textures/lights/ambientlightnfo)
����
����{
��������
��������map textures/lights/ambientlightnfo_amb
��������colored
��������zeroClamp
��������
����}				
	
}
lights/ambientCube/skybox_fogged_01_cube
{	
	ambientLight
		
		lightAmbientDiffuse bakeAmbientDiffuse(cameraLayout(env/skyboxes/skybox_fogged_01/fogged_01))
        lightAmbientSpecular bakeAmbientSpecular(cameraLayout(env/skyboxes/skybox_fogged_01/fogged_01))
        lightFalloffImage makeintensity( textures/lights/ambientlightnfo)
����
����{
��������
��������map textures/lights/ambientlightnfo_amb
��������colored
��������zeroClamp
��������
����}				
	
}
lights/ambientCube/skybox_industrial_01_cube
{	
	ambientLight
		
		lightAmbientDiffuse bakeAmbientDiffuse(cameraLayout(env/skyboxes/skybox_industrial_01/industrial_01))
        lightAmbientSpecular bakeAmbientSpecular(cameraLayout(env/skyboxes/skybox_industrial_01/industrial_01))
        lightFalloffImage makeintensity( textures/lights/ambientlightnfo)
����
����{
��������
��������map textures/lights/ambientlightnfo_amb
��������colored
��������zeroClamp
��������
����}				
	
}
lights/ambientCube/skybox_mountain_sunset_cube
{	
	ambientLight
	
		
		lightAmbientDiffuse bakeAmbientDiffuse(cameraLayout(env/skyboxes/skybox_mountain_sunset/mountain_sunset))
        lightAmbientSpecular bakeAmbientSpecular(cameraLayout(env/skyboxes/skybox_mountain_sunset/mountain_sunset))
        lightFalloffImage makeintensity( textures/lights/ambientlightnfo)
����
����{
��������
��������map textures/lights/ambientlightnfo_amb
��������colored
��������zeroClamp
��������
����}				
	
}
lights/ambientCube/skybox_ocean_cube
{	
	ambientLight
		 
		lightAmbientDiffuse bakeAmbientDiffuse(cameraLayout(env/skyboxes/skybox_ocean/ocean))
        lightAmbientSpecular bakeAmbientSpecular(cameraLayout(env/skyboxes/skybox_ocean/ocean))
        lightFalloffImage makeintensity( textures/lights/ambientlightnfo)
����
����{
��������
��������map textures/lights/ambientlightnfo_amb
��������colored
��������zeroClamp
��������
����}				
	
}
lights/ambientCube/skybox_ocean_02_cube
{	
	ambientLight
	
		 
		lightAmbientDiffuse bakeAmbientDiffuse(cameraLayout(env/skyboxes/skybox_ocean_02/ocean_02))
        lightAmbientSpecular bakeAmbientSpecular(cameraLayout(env/skyboxes/skybox_ocean_02/ocean_02))
        lightFalloffImage makeintensity( textures/lights/ambientlightnfo)
����
����{
��������
��������map textures/lights/ambientlightnfo_amb
��������colored
��������zeroClamp
��������
����}				
	
}
lights/ambientCube/skybox_ocean_ne_cube
{	
	ambientLight
	
		 
		lightAmbientDiffuse bakeAmbientDiffuse(cameraLayout(env/skyboxes/skybox_ocean_ne/ocean_NE))
        lightAmbientSpecular bakeAmbientSpecular(cameraLayout(env/skyboxes/skybox_ocean_ne/ocean_NE))
        lightFalloffImage makeintensity( textures/lights/ambientlightnfo)
����
����{
��������
��������map textures/lights/ambientlightnfo_amb
��������colored
��������zeroClamp
��������
����}				
	
}
//===============================================================================
// CubeMapGen Cube Maps
//===============================================================================
lights/ambientCube/cubeDome
{	
	ambientLight
	
		 
		lightAmbientDiffuse bakeAmbientDiffuse(cameraLayout(env/lights/dome))
        lightAmbientSpecular bakeAmbientSpecular(cameraLayout(env/lights/dome))
        lightFalloffImage makeintensity( textures/lights/ambientlightnfo)
����
����{
��������
��������map textures/lights/ambientlightnfo_amb
��������colored
��������zeroClamp
��������
����}				
	
}
textures/skies/cubeDome
{	
	noFragment
	noshadows
	noimpact
	forceOpaque		
	qer_editorimage		env/lights/dome_up.tga
	{
		blend			add	
		cameraCubeMap	env/lights/dome
		texgen			skybox
	}
}
lights/ambientCube/cubeSky
{	
	ambientLight
	
		 
		lightAmbientDiffuse bakeAmbientDiffuse(cameraLayout(env/lights/cubesky))
        lightAmbientSpecular bakeAmbientSpecular(cameraLayout(env/lights/cubesky))
        lightFalloffImage makeintensity( textures/lights/ambientlightnfo)
����
����{
��������
��������map textures/lights/ambientlightnfo_amb
��������colored
��������zeroClamp
��������
����}				
	
}
textures/skies/cubeSky
{	
	noFragment
	noshadows
	noimpact
	forceOpaque		
	qer_editorimage		env/lights/cubesky_up.tga
	{
		blend			add	
		cameraCubeMap	env/lights/cubesky
		texgen			skybox
	}
}
//===============================================================================
// Projection Cube Maps
//===============================================================================
lights/cubic/cubegrate6
{	
	cubicLight
	{
		// forceHighQuality
       	cubeMap		env/lights/grate6
		colored
		// zeroClamp
	}
}
lights/cubic/cubelightCube
{	
	cubicLight
	{
		// forceHighQuality
       	cubeMap		env/lights/lightCube
		colored
		zeroClamp
	}
}
lights/cubic/cubegradient
{	
	cubicLight
	{
		// forceHighQuality
       	cubeMap		env/lights/gradient
		colored
		zeroClamp
	}
}
lights/cubic/tdm_lampshade_cubic
{
    cubicLight
    qer_editorimage env/lights/lamp_up
    {
        forceHighQuality
        cameraCubeMap env/lights/lamp
        colored
        zeroClamp
    }
} 
 | 
|
| Date Modified | Username | Field | Change | 
|---|---|---|---|
| 28.11.2018 22:35 | VanishedOne | New Issue | |
| 28.11.2018 22:35 | VanishedOne | File Added: cubelight_banding.png | |
| 05.12.2018 08:57 | duzenko | Note Added: 0010820 | |
| 05.12.2018 20:58 | VanishedOne | File Added: light_on_books.map | |
| 05.12.2018 20:59 | VanishedOne | Note Added: 0010827 | |
| 06.12.2018 16:08 | duzenko | Note Added: 0010837 | |
| 06.12.2018 16:09 | duzenko | Note Edited: 0010837 | |
| 06.12.2018 16:09 | duzenko | Assigned To | => duzenko | 
| 06.12.2018 16:09 | duzenko | Status | new => assigned | 
| 06.12.2018 17:15 | VanishedOne | Note Added: 0010840 | |
| 06.12.2018 17:15 | VanishedOne | File Deleted: light_on_books.map | |
| 06.12.2018 17:16 | VanishedOne | File Added: light_on_books.map | |
| 06.12.2018 17:21 | VanishedOne | Note Edited: 0010840 | |
| 07.12.2018 14:59 | duzenko | Note Added: 0010847 | |
| 07.12.2018 15:00 | duzenko | Note Added: 0010848 | |
| 09.12.2022 04:47 | nbohr1more | Status | assigned => closed | 
| 09.12.2022 04:47 | nbohr1more | Resolution | open => unable to reproduce | 
| 09.12.2022 04:47 | nbohr1more | Fixed in Version | => TDM 2.11 | 
| 09.12.2022 04:47 | nbohr1more | Target Version | => TDM 2.11 | 
| 09.12.2022 04:48 | nbohr1more | Note Added: 0015529 | |
| 09.12.2022 04:49 | nbohr1more | Assigned To | duzenko => stgatilov | 
| 09.12.2022 16:36 | stgatilov | Note Added: 0015541 | |
| 09.12.2022 19:04 | nbohr1more | Note Added: 0015542 | |
| 09.12.2022 19:05 | nbohr1more | Relationship added | related to 0006090 | 
| 09.12.2022 19:06 | nbohr1more | Note Added: 0015543 | |
| 09.12.2022 19:06 | nbohr1more | File Added: tdm_cubeLights.mtr |