Commit 578e2b40 authored by D-AIRY's avatar D-AIRY

Merge branch 'branchX' into 'master'

Version X.7.0

See merge request !6
parents 315fc9ba 54df4fb9
......@@ -210,6 +210,7 @@ build/gamesource/*
/build/gamesource/shaders/cache/*
!shaders/
!gui/
!editor_gui/
docs/html/*
!docs/html/material_editor/
!docs/html/particles_editor/
......
......@@ -21,8 +21,9 @@ pp_motionblur_coef 0.01
pssm_4or3 true
pssm_q 1.0
lsm_q 1.0
r_pssm_quality 2.0
r_psm_quality 1.0
r_lsm_quality 1.0
grass_frec 100
green_lod0 50
......
[tp_combineglass001a]
type = 0
is_unlit = 0
physmaterial = 0
vs = mtrlgeom_base.vs
ps = mtrltp_base.ps
alpha_test = 0
texture = tp_combineglass001a.dds
mask = 0
mirco_diff_r = 0
mirco_diff_g = 0
mirco_diff_b = 0
mirco_diff_a = 0
detail_r = 0
detail_g = 0
detail_b = 0
detail_a = 0
param_ligth = 0
roughness = 0.3
f0 = 0.4
thickness = 0.500000
penetration = 0.000000
hit_chance = 1.000000
shader = Transparent
tex.txBase = tp_combineglass001a.dds
prop.pbr_roughness = 0.3
prop.pbr_metallness = 0.4
prop.pbr_thickness = 0.500000
density = 1500.000000
transparent = 1
vs_world = 1
vs_view = 0
vs_projection = 0
vs_worldview = 0
vs_worldviewprojection = 1
vs_poscam = 0
vs_timedelta = 0
vs_winsize = 0
vs_userdata = 0
vs_userdata_value_x = 0.000000
vs_userdata_value_y = 0.000000
vs_userdata_value_z = 0.000000
vs_userdata_value_w = 0.000000
vs_userdata_trans_in_ps = 0
ps_world = 0
ps_view = 0
ps_projection = 0
ps_worldview = 0
ps_worldviewprojection = 0
ps_poscam = 0
ps_timedelta = 0
ps_winsize = 0
ps_userdata = 0
ps_userdata_value_x = 0.000000
ps_userdata_value_y = 0.000000
ps_userdata_value_z = 0.000000
ps_userdata_value_w = 0.000000
ps_userdata_trans_in_vs = 0
type_reflect = 0
[tp_gate_door_glass]
type = 0
is_unlit = 0
physmaterial = 0
vs = mtrlgeom_base.vs
ps = mtrltp_base.ps
alpha_test = 0
texture = tp_gate_door_glass.dds
mask = 0
mirco_diff_r = 0
mirco_diff_g = 0
mirco_diff_b = 0
mirco_diff_a = 0
detail_r = 0
detail_g = 0
detail_b = 0
detail_a = 0
param_ligth = 0
roughness = 0.3
f0 = 0.4
thickness = 0.500000
penetration = 0.000000
hit_chance = 1.000000
shader = Transparent
tex.txBase = tp_gate_door_glass.dds
prop.pbr_roughness = 0.3
prop.pbr_metallness = 0.4
prop.pbr_thickness = 0.500000
density = 1500.000000
transparent = 1
vs_world = 1
vs_view = 0
vs_projection = 0
vs_worldview = 0
vs_worldviewprojection = 1
vs_poscam = 0
vs_timedelta = 0
vs_winsize = 0
vs_userdata = 0
vs_userdata_value_x = 0.000000
vs_userdata_value_y = 0.000000
vs_userdata_value_z = 0.000000
vs_userdata_value_w = 0.000000
vs_userdata_trans_in_ps = 0
ps_world = 0
ps_view = 0
ps_projection = 0
ps_worldview = 0
ps_worldviewprojection = 0
ps_poscam = 0
ps_timedelta = 0
ps_winsize = 0
ps_userdata = 0
ps_userdata_value_x = 0.000000
ps_userdata_value_y = 0.000000
ps_userdata_value_z = 0.000000
ps_userdata_value_w = 0.000000
ps_userdata_trans_in_vs = 0
type_reflect = 0
[tp_glasswindowbreak070a]
type = 0
is_unlit = 0
physmaterial = 0
vs = mtrlgeom_base.vs
ps = mtrltp_base.ps
alpha_test = 0
texture = tp_glasswindowbreak070a.dds
mask = 0
mirco_diff_r = 0
mirco_diff_g = 0
mirco_diff_b = 0
mirco_diff_a = 0
detail_r = 0
detail_g = 0
detail_b = 0
detail_a = 0
param_ligth = 0
roughness = 0.3
f0 = 0.4
thickness = 0.500000
penetration = 0.000000
hit_chance = 1.000000
density = 1500.000000
transparent = 1
vs_world = 1
vs_view = 0
vs_projection = 0
vs_worldview = 0
vs_worldviewprojection = 1
vs_poscam = 0
vs_timedelta = 0
vs_winsize = 0
vs_userdata = 0
vs_userdata_value_x = 0.000000
vs_userdata_value_y = 0.000000
vs_userdata_value_z = 0.000000
vs_userdata_value_w = 0.000000
vs_userdata_trans_in_ps = 0
ps_world = 0
ps_view = 0
ps_projection = 0
ps_worldview = 0
ps_worldviewprojection = 0
ps_poscam = 0
ps_timedelta = 0
ps_winsize = 0
ps_userdata = 0
ps_userdata_value_x = 0.000000
ps_userdata_value_y = 0.000000
ps_userdata_value_z = 0.000000
ps_userdata_value_w = 0.000000
ps_userdata_trans_in_vs = 0
type_reflect = 0
shader = Transparent
tex.txBase = tp_glasswindowbreak070a.dds
prop.pbr_roughness = 0.3
prop.pbr_metallness = 0.4
prop.pbr_thickness = 0.500000
density = 1500.000000
[tp_sga_window_center_up]
type = 0
is_unlit = 0
physmaterial = 0
vs = mtrlgeom_base.vs
ps = mtrltp_base.ps
ps = mtrltp_refract.ps
alpha_test = 0
texture = tp_sga_window_center_up.dds
mask = 0
mirco_diff_r = 0
mirco_diff_g = 0
mirco_diff_b = 0
mirco_diff_a = 0
detail_r = tp_sga_window_center_up_dudv.dds
detail_g = 0
detail_b = 0
detail_a = 0
param_ligth = 0
roughness = 0.3
f0 = 0.4
thickness = 0.500000
penetration = 0.000000
hit_chance = 1.000000
density = 1500.000000
transparent = 1
refractive = 1
vs_world = 1
vs_view = 0
vs_projection = 0
vs_worldview = 0
vs_worldviewprojection = 1
vs_poscam = 0
vs_timedelta = 0
vs_winsize = 0
vs_userdata = 0
vs_userdata_value_x = 0.000000
vs_userdata_value_y = 0.000000
vs_userdata_value_z = 0.000000
vs_userdata_value_w = 0.000000
vs_userdata_trans_in_ps = 0
ps_world = 0
ps_view = 0
ps_projection = 0
ps_worldview = 0
ps_worldviewprojection = 0
ps_poscam = 0
ps_timedelta = 0
ps_winsize = 0
ps_userdata = 0
ps_userdata_value_x = 0.000000
ps_userdata_value_y = 0.000000
ps_userdata_value_z = 0.000000
ps_userdata_value_w = 0.000000
ps_userdata_trans_in_vs = 0
type_reflect = 0
shader = Transparent
tex.txBase = tp_sga_window_center_up.dds
tex.txNormals = tp_sga_window_center_up_dudv.dds
flag.refractive = 1
prop.pbr_roughness = 0.3
prop.pbr_metallness = 0.4
prop.pbr_thickness = 0.500000
prop.nm_weight = 0.3
density = 1500.000000
[dev_floor]
model = 0
lighted = 0
physmaterial = 0
vs = mtrlgeom_base.vs
ps = mtrlgeom_mr.ps
alphatest = 0
texture = dev_floor.dds
shader = Default
tex.txBase = dev_floor.dds
tex.txNormals = dev_floor_normal.dds
mask = 0
microrelief_r = dev_floor_normal.dds
microrelief_g = 0
microrelief_b = 0
microrelief_a = 0
detail_r = 0
detail_g = 0
detail_b = 0
detail_a = 0
prop.pbr_roughness = 0.98
prop.pbr_metallness = 0.59
prop.pbr_thickness = 1
vs_world = 1
vs_view = 0
vs_projection = 0
vs_worldview = 0
vs_worldviewprojection = 1
vs_poscam = 0
vs_timedelta = 0
vs_winsize = 0
vs_userdata = 0
vs_userdata_x = 0.000000
vs_userdata_y = 0.000000
vs_userdata_z = 0.000000
vs_userdata_w = 0.000000
vs_userdata_trans_ps = 0
ps_world = 0
ps_view = 0
ps_projection = 0
ps_worldview = 0
ps_worldviewprojection = 0
ps_poscam = 0
ps_timedelta = 0
ps_winsize = 0
ps_userdata = 1
ps_userdata_x = 0.000000
ps_userdata_y = 0.000000
ps_userdata_z = -1.000000
ps_userdata_w = 0.000000
ps_userdata_trans_vs = 0
use_texparamlight = 0
texparamligth = 0
roughness = 0.980000
f0 = 0.590000
thickness = 1.000000
durability = 10.000000
hit_chance = 1.000000
density = 1000.000000
transparent = 0
reflection = 0
[dev_wall]
model = 0
lighted = 0
physmaterial = 0
vs = mtrlgeom_base.vs
ps = mtrlgeom_mr.ps
alphatest = 0
texture = dev_wall.dds
shader = Default
tex.txBase = dev_wall.dds
tex.txNormals = dev_wall_normal.dds
mask = 0
microrelief_r = dev_wall_normal.dds
microrelief_g = 0
microrelief_b = 0
microrelief_a = 0
detail_r = 0
detail_g = 0
detail_b = 0
detail_a = 0
prop.pbr_roughness = 0.98
prop.pbr_metallness = 0.59
prop.pbr_thickness = 1
vs_world = 1
vs_view = 0
vs_projection = 0
vs_worldview = 0
vs_worldviewprojection = 1
vs_poscam = 0
vs_timedelta = 0
vs_winsize = 0
vs_userdata = 0
vs_userdata_x = 0.000000
vs_userdata_y = 0.000000
vs_userdata_z = 0.000000
vs_userdata_w = 0.000000
vs_userdata_trans_ps = 0
ps_world = 0
ps_view = 0
ps_projection = 0
ps_worldview = 0
ps_worldviewprojection = 0
ps_poscam = 0
ps_timedelta = 0
ps_winsize = 0
ps_userdata = 1
ps_userdata_x = 0.000000
ps_userdata_y = 0.000000
ps_userdata_z = -1.000000
ps_userdata_w = 0.000000
ps_userdata_trans_vs = 0
use_texparamlight = 0
texparamligth = 0
roughness = 0.980000
f0 = 0.570000
thickness = 1.000000
durability = 10.000000
hit_chance = 1.000000
density = 1000.000000
transparent = 0
reflection = 0
[sky_hdr_hl2]
shader = Sky
tex.txBase = sky_hdr_hl2.dds
/*
mtrlskin_base.vs
Базовый рендер анимационных моделей
*/
#include "../struct.h"
#include "../skin.h"
#include "../const.h"
//##########################################################################
VSO_SceneCommon main(VSI_Animation IN)
{
// трансформация позиции и нормали вершины
VSO_SceneCommon OUT = SkinAllTransform(IN);
// OUT.vPosition = mul(OUT.vPosition, g_mWVP);
OUT.vPosition = mul(OUT.vPosition, g_mW);
OUT.vPosition = mul(OUT.vPosition, g_mVP);
OUT.vNormal = mul(OUT.vNormal, g_mW);
OUT.vTexUV = IN.vTexUV;
OUT.vPos = OUT.vPosition;
return(OUT);
}
/*
pp_res_pos.vs
Восстановление позиции по глубине
*/
#include "../struct.h"
//##########################################################################
cbuffer perFrame: register(b1)
{
half4x4 g_mVP;
half4x4 g_mViewInv;
half4 g_vNearFar;
half3 g_vParamProj;
};
//##########################################################################
VSO_ResPos main(VSI_PP IN)
{
VSO_ResPos OUT;
OUT.vPosition = half4(IN.vPosition, 1.0);
OUT.vTexUV = IN.vTexUV.xy;
half fTanHalfFOV = tan(g_vParamProj.z * 0.5) ;
half aspectRatio = g_vParamProj.x / g_vParamProj.y;
half fFarY = fTanHalfFOV * g_vNearFar.y;
half fFarX = fFarY * aspectRatio;
OUT.vEyeRay = half3(sign(OUT.vPosition.x) * fFarX, sign(OUT.vPosition.y) * fFarY, g_vNearFar.y);
OUT.vWorldRay = mul(half4(OUT.vEyeRay, 0.0), g_mViewInv).xyz;
return OUT;
}
\ No newline at end of file
/*
skybox.vs
Скайбокс
*/
#include "../struct.h"
#include "../const.h"
//##########################################################################
VSO_SkyBox main(VSI_SkyBox IN)
{
VSO_SkyBox OUT = (VSO_SkyBox)0;
OUT.vPosition = mul(half4(IN.vPosition + g_vPosCam.xyz, 1.f), g_mVP);
OUT.vTexUV = IN.vTexUV;
return OUT;
}
/*
mtrlgeom_base.vs
Базовый рендер геометрии
*/
#include <struct.h>
#include <const.h>
//##########################################################################
VSO_SceneCommon main(VSI_Geometry IN)
{
VSO_SceneCommon OUT = (VSO_SceneCommon)0;
// OUT.vPosition = mul(half4(IN.vPosition, 1.f), g_mWVP);
OUT.vPosition = mul(float4(IN.vPosition, 1.f), g_mW);
OUT.vPosition = mul(OUT.vPosition, g_mVP);
OUT.vNormal = mul(IN.vNormal, g_mW);
OUT.vTexUV = IN.vTexUV;
OUT.vPos = OUT.vPosition;
return OUT;
}
......@@ -38,6 +38,16 @@ cbuffer CDataMaterial: register(b0)
#ifdef XMATERIAL_HAS_CONSTANTS