mirror of
https://gitea.wildfiregames.com/0ad/0ad.git
synced 2026-07-24 18:13:08 +00:00
# New territory border rendering.
Add textured line overlay rendering. Change terrain height calculations to be triangulation-dependent for improved accuracy. Add triangulation-dependent terrain normal function. Support separate S/T wrap modes for textures. Rename CVector2D_Maths since it no longer conflicts with simulation CVector2D. Coalesce freed chunks in vertex buffers, to avoid excessive fragmentation. Add some things to help debug vertex buffer allocation a little. This was SVN commit r9929.
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TerritoryManager>
|
||||
<ImpassableCost>4</ImpassableCost>
|
||||
<BorderThickness>0.5</BorderThickness>
|
||||
<BorderSeparation>0.55</BorderSeparation>
|
||||
</TerritoryManager>
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Textures>
|
||||
<File pattern="territory_border.png" format="rgba"/>
|
||||
</Textures>
|
||||
@@ -0,0 +1,20 @@
|
||||
!!ARBfp1.0
|
||||
PARAM objectColor = program.local[0];
|
||||
TEMP base;
|
||||
TEMP mask;
|
||||
TEMP color;
|
||||
TEMP los;
|
||||
|
||||
// Combine base texture and color, using mask texture
|
||||
TEX base, fragment.texcoord[0], texture[0], 2D;
|
||||
TEX mask, fragment.texcoord[0], texture[1], 2D;
|
||||
LRP color.rgb, mask, objectColor, base;
|
||||
|
||||
// Multiply by LOS texture
|
||||
TEX los, fragment.texcoord[1], texture[2], 2D;
|
||||
MUL result.color.rgb, color, los.a;
|
||||
|
||||
// Use alpha from base texture
|
||||
MOV result.color.a, base.a;
|
||||
|
||||
END
|
||||
@@ -0,0 +1,15 @@
|
||||
!!ARBvp1.0
|
||||
PARAM losTransform = program.local[0];
|
||||
ATTRIB position = vertex.position;
|
||||
|
||||
DP4 result.position.x, state.matrix.mvp.row[0], position;
|
||||
DP4 result.position.y, state.matrix.mvp.row[1], position;
|
||||
DP4 result.position.z, state.matrix.mvp.row[2], position;
|
||||
DP4 result.position.w, state.matrix.mvp.row[3], position;
|
||||
|
||||
MOV result.texcoord[0], vertex.texcoord[0];
|
||||
MAD result.texcoord[1], position.xzzz, losTransform.x, losTransform.y;
|
||||
|
||||
MOV result.color, vertex.color;
|
||||
|
||||
END
|
||||
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<program type="arb">
|
||||
|
||||
<vertex file="overlayline.vp">
|
||||
<stream name="pos"/>
|
||||
<stream name="uv0"/>
|
||||
<uniform name="losTransform" loc="0" type="vec2"/>
|
||||
</vertex>
|
||||
|
||||
<fragment file="overlayline.fp">
|
||||
<uniform name="baseTex" loc="0" type="sampler2D"/>
|
||||
<uniform name="maskTex" loc="1" type="sampler2D"/>
|
||||
<uniform name="losTex" loc="2" type="sampler2D"/>
|
||||
<uniform name="objectColor" loc="0" type="vec3"/>
|
||||
</fragment>
|
||||
|
||||
</program>
|
||||
@@ -5,14 +5,12 @@
|
||||
<uniform name="sunColor" loc="0" type="vec3"/>
|
||||
<uniform name="losTransform" loc="1" type="vec2"/>
|
||||
<uniform name="shadowTransform" loc="2" type="mat4"/>
|
||||
<uniform name="territoryTransform" loc="6" type="vec2"/>
|
||||
</vertex>
|
||||
|
||||
<fragment file="terrain_common.fp">
|
||||
<uniform name="baseTex" loc="0" type="sampler2D"/>
|
||||
<uniform name="shadowTex" loc="2" type="sampler2DShadow"/>
|
||||
<uniform name="losTex" loc="3" type="sampler2D"/>
|
||||
<uniform name="territoryTex" loc="4" type="sampler2D"/>
|
||||
|
||||
<uniform name="ambient" loc="0" type="vec3"/>
|
||||
<uniform name="shadowOffsets1" loc="2" type="vec4"/>
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
<uniform name="sunColor" loc="0" type="vec3"/>
|
||||
<uniform name="losTransform" loc="1" type="vec2"/>
|
||||
<uniform name="shadowTransform" loc="2" type="mat4"/>
|
||||
<uniform name="territoryTransform" loc="6" type="vec2"/>
|
||||
</vertex>
|
||||
|
||||
<fragment file="terrain_common.fp">
|
||||
@@ -15,7 +14,6 @@
|
||||
<uniform name="blendTex" loc="1" type="sampler2D"/>
|
||||
<uniform name="shadowTex" loc="2" type="sampler2DShadow"/>
|
||||
<uniform name="losTex" loc="3" type="sampler2D"/>
|
||||
<uniform name="territoryTex" loc="4" type="sampler2D"/>
|
||||
|
||||
<uniform name="ambient" loc="0" type="vec3"/>
|
||||
<uniform name="shadowOffsets1" loc="2" type="vec4"/>
|
||||
|
||||
@@ -81,10 +81,6 @@ TEX color, fragment.texcoord[0], texture[0], 2D;
|
||||
MUL color.rgb, color, temp;
|
||||
#endif
|
||||
|
||||
// Blend with the territory boundary texture
|
||||
TEX tex, fragment.texcoord[4], texture[4], 2D;
|
||||
LRP color.rgb, tex.a, tex, color;
|
||||
|
||||
// Multiply everything by the LOS texture
|
||||
TEX tex.a, fragment.texcoord[3], texture[3], 2D;
|
||||
MUL color.rgb, color, tex.a;
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
PARAM sunColor = program.local[0];
|
||||
PARAM losTransform = program.local[1];
|
||||
PARAM shadowTransform[4] = { program.local[2..5] };
|
||||
PARAM territoryTransform = program.local[6];
|
||||
|
||||
TEMP lighting;
|
||||
|
||||
@@ -39,6 +38,5 @@ MOV result.texcoord[0], vertex.texcoord[0];
|
||||
#endif
|
||||
|
||||
MAD result.texcoord[3], position.xzzz, losTransform.x, losTransform.y;
|
||||
MAD result.texcoord[4], position.xzzz, territoryTransform.x, territoryTransform.y;
|
||||
|
||||
END
|
||||
|
||||
@@ -7,14 +7,12 @@
|
||||
<uniform name="sunColor" loc="0" type="vec3"/>
|
||||
<uniform name="losTransform" loc="1" type="vec2"/>
|
||||
<uniform name="shadowTransform" loc="2" type="mat4"/>
|
||||
<uniform name="territoryTransform" loc="6" type="vec2"/>
|
||||
</vertex>
|
||||
|
||||
<fragment file="terrain_common.fp">
|
||||
<uniform name="baseTex" loc="0" type="sampler2D"/>
|
||||
<uniform name="shadowTex" loc="2" type="sampler2DShadow"/>
|
||||
<uniform name="losTex" loc="3" type="sampler2D"/>
|
||||
<uniform name="territoryTex" loc="4" type="sampler2D"/>
|
||||
|
||||
<uniform name="ambient" loc="0" type="vec3"/>
|
||||
<uniform name="shadingColor" loc="1" type="vec3"/>
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
<PassabilityClasses>
|
||||
|
||||
<!-- Unit pathfinding classes: -->
|
||||
<unrestricted/>
|
||||
<default>
|
||||
<MaxWaterDepth>2</MaxWaterDepth>
|
||||
<MaxTerrainSlope>1.0</MaxTerrainSlope>
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TerritoryManager>
|
||||
<ImpassableCost>4</ImpassableCost>
|
||||
<BorderThickness>0.5</BorderThickness>
|
||||
<BorderSeparation>0.55</BorderSeparation>
|
||||
</TerritoryManager>
|
||||
Reference in New Issue
Block a user