DB/LightData

From wowdev
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Contains information of LightIntBand.dbc and LightFloatBand.dbc

The number of lines depends on the precision of the Time Values

≥ Mists


Column 	        Description                                     Notes
1 		ID 
2 		Sky ID                                        This is a ref to LightParams.dbc
3 		Time values 
4 		Global diffuse light 
5 		Global ambient light 
6 		Sky color 0 (top)
7 		Sky color 1 (middle)
8 		Sky color 2 (middle to horizon)
9 	 	Sky color 3 (above horizon)
10 		Sky color 4 (horizon)
11 		Fog color / background mountains color
12 	 	Sun color + sun halo color
13 		Sun larger halo color 
14 	 	Cloud color
15 	 	?                                             This is the same value as the 11th row of LightIntBand
16 		?                                             This is the same value as the 13th row of LightIntBand
17 		?                                             This is the same value as the 14th row of LightIntBand
18 	 	Water color [dark]
19 		Water color [light] 
20 		Shadow color 
21 		?                                             This is the same value as the 8th row of LightIntBand
22 		Fog distance multiplied by 36 
23 	 	Fog multiplier?
24 		?                                             This is the same value as the 4th row of LightFloatBand

Official definitions from Blizzard (found in client 2.5 EnumeratedString table):

0	Direct Color
1	Ambient Color
2	Sky Top Color
3	Sky Middle Color
4	Sky Band 1 Color
5	Sky Band 2 Color
6	Sky Smog Color
7	Sky Fog Color
8	Sun Color
9	Cloud Sun Color
10	Cloud Emissive Color
11	Cloud Layer 1 Ambient Color
12	Cloud Layer 2 Ambient Color
13	Ocean Close Color
14	Ocean Far Color
15	River Close Color
16	River Far Color
17	Shadow Opacity
18	Fog
19	Fog (obsolete 1)
20	Cloud Density
21	Fog (obsolete 2)
22	Color Gradient
23	Horizon Ambient Color
24	Ground Ambient Color
25	Fog End Color
26	Sun Fog Color
27	Fog Height Color

6.0.1.18179

struct LightDataRec {
  uint32_t m_ID;
  uint32_t m_lightParamID;
  uint32_t m_time;
  uint32_t m_directColor;
  uint32_t m_ambientColor;
  uint32_t m_skyTopColor;
  uint32_t m_skyMiddleColor;
  uint32_t m_skyBand1Color;
  uint32_t m_skyBand2Color;
  uint32_t m_skySmogColor;
  uint32_t m_skyFogColor;
  uint32_t m_sunColor;
  uint32_t m_cloudSunColor;
  uint32_t m_cloudEmissiveColor;
  uint32_t m_cloudLayer1AmbientColor;
  uint32_t m_cloudLayer2AmbientColor;
  uint32_t m_oceanCloseColor;
  uint32_t m_oceanFarColor;
  uint32_t m_riverCloseColor;
  uint32_t m_riverFarColor;
  uint32_t m_shadowOpacity;
  float m_fogEnd;
  float m_fogScaler;
  float m_cloudDensity;
  float m_fogDensity;
};

7.0.1.?

color grading added, new column listing colorgrading blp. falls back to fid 1140733 (identity). apparently having more than 32 color graded skies on one map will hit a hardcoded limit. apparently two entries (night, day) at least.

#version 420

layout(location = 1) in vec2 in_tc0;
layout(location = 0) out vec4 out_result;

uniform sampler2D pt_screenTex;            // original color
uniform sampler2D pt_mapping;              // 1024 * 32px color mapping

#define dim 32.0

void main()
{
  vec4 original_color = texture(pt_screenTex, in_tc0);

  float u = original_color.r * (dim - 1.0);
  float v = original_color.g * (dim - 1.0);
  float w = original_color.b * (dim - 1.0);

  float leftSlice = floor(w);
  float rightSlice = leftSlice + 1.0;

  float u1 = u + leftSlice * dim;
  float u2 = u + rightSlice * dim;

  vec4 c1 = texture(pt_mapping, vec2(u1 + 0.5, v + 0.5) / vec2 (dim * dim, dim));
  vec4 c2 = texture(pt_mapping, vec2(u2 + 0.5, v + 0.5) / vec2 (dim * dim, dim));

  out_result = vec4(mix(c1, c2, vec4(fract(w))).rgb, original_color.a);
}