Перейти к контенту

KD87

Рекомендуемые сообщения

У меня тут снова появился вопрос по мультиплеерной сборке 2r0006 macron-а. Я путем сравнения файлов шейдеров для статики отобрал те, что отличаются от оригинала и копировал их в свою сборку. Провел мелкий рефракторинг. Сейчас, с учетом нескольких добавленных файлов (правки glow, отображения секторов на дистанции и шейдеров невидимости для кровососа - bloodinv) список таков:

0249810001473970182.jpg

Есть ли среди них ненужные\временные\тестовые файлы?

Насколько я помню, в HLSL комментарии помечаются только символами //, а как игра реагирует на подобное:

 

 

local tex_base                = "water\\water_water"
local tex_nmap                = "water\\water_normal"
local tex_dist                = "water\\water_dudv"
local tex_env0                = "$user$sky0"
local tex_env1                = "$user$sky1"
local tex_leaves              = "water\\water_foam"

function normal			(shader, t_base, t_second, t_detail)
  shader:begin			("water_soft","water_soft")
        : sorting		(2, false)
        : blend			(true,blend.srcalpha,blend.invsrcalpha)
        : zb			(true,false)
        : distort		(true)
        : fog			(true)
  shader:sampler        ("s_base")       :texture  (tex_base)
  shader:sampler        ("s_nmap")       :texture  (tex_nmap)
  shader:sampler        ("s_env0")       :texture  (tex_env0)   : clamp()
  shader:sampler        ("s_env1")       :texture  (tex_env1)   : clamp()
  shader:sampler        ("s_position")   :texture  ("$user$position")
  shader:sampler        ("s_leaves")     :texture  (tex_leaves) : wrap()	:f_anisotropic()

end

--[[
function l_special        (shader, t_base, t_second, t_detail)
  shader:begin            ("waterd_soft","waterd")
        : sorting		(2, true)
        : blend                (true,blend.srcalpha,blend.invsrcalpha)
        : zb                (true,false)
        : fog                (false)
        : distort        (true)
  shader:sampler        ("s_base")       :texture  (tex_base)
  shader:sampler        ("s_distort")    :texture  (tex_dist)
  shader:sampler        ("s_position")       :texture  ("$user$position")
end
]]

--[[
function normal                (shader, t_base, t_second, t_detail)
  shader:begin                ("waterd","waterd")
        : sorting        (2, true)
        : blend                (true,blend.srcalpha,blend.invsrcalpha)
        : zb                (true,false)
        : fog                (false)
        : distort        (true)
  shader:sampler        ("s_base")       :texture  (tex_base)
  shader:sampler        ("s_distort")    :texture  (tex_dist)
end
]]   

 

 

Нижняя часть считается комментарием? Ее можно удалять?

 

Чего падает с руганью на порталы?
error is (11): error X3004: undeclared identifier 's_tonemap'

Can't compile shader portal
Их правку брал, если память не изменяет, из темы шейдеров gameru.net От себя ничего не добавлял.


А если удалить все шейдеры portal, вываливается это:

! error:  (16): error X3018: invalid subscript 'P'
stack trace:
0023:01C9000E xrCore.dll
0023:01B5CD45 xrCore.dll, xrDebug::error()
0023:0048DC1A xr_3da.exe, CBlender_Compile::r_Pass()
Изменено пользователем Silver Raven

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

Поделиться этим сообщением


Ссылка на сообщение

@Anonim, содеримое, portal-ов: 

 

.s

 

 

function normal		(shader, t_base, t_second, t_detail)
	shader	:begin		("portal","portal")
			:fog		(true)
			:zb 		(true,false)
			:sorting	(3, true)
			:blend		(true,blend.srcalpha,blend.invsrcalpha)
	shader	:sampler	("s_tonemap")   :texture	("$user$tonemap")
end 

 

 

.ps

 

 

#include "common.h"

half4  main ( half4 C:COLOR0 ) : COLOR
{
  half4 result;

#ifdef        USE_VTF
        result.rgb = C;
#else
  half4 high;
        half    scale = tex2D(s_tonemap,half2(.5h,.5h)).x;
  tonemap   (result, high, C, scale);
#endif

result.a = C.a;

return result;
}

 

 

.vs

 

 

#include "common.h"

struct	v_vert
{
	float4 	pos	: POSITION;	// (float,float,float,1)
	float4	color	: COLOR0;	// (r,g,b,dir-occlusion)
};
struct 	vf
{
	float4 hpos	: POSITION;
	float4 c	: COLOR0;
	float  fog	: FOG;
};

vf main (v_vert v)
{
	vf 		o;

	o.hpos 		= mul(m_VP, v.pos);				// xform, input in world coords
	o.c 		= v.color;
	o.fog 		= calc_fogging(v.pos);			// fog, input in world coords
	o.fog 		= saturate(o.fog);
	o.c.rgb 	= lerp(fog_color, o.c, o.fog);
	o.c.a		= o.fog;

#ifdef	USE_VTF
	float scale = tex2Dlod	(s_tonemap,float4(.5,.5,.5,.5)).x ;
	o.c.rgb		= o.c.rgb*scale;      			// copy color, pre-scale by tonemap //float4 ( v.c.rgb*scale*2, v.c.a );
#endif											//	USE_VTF

	return o;
	
}

 

 

 

З.Ы. Так же, ищу правку аналогичную порталам, но для динамических объектов. (пример: аномалия "ржавые волосы" просвечивает чернотой скозь плотный туман)

Изменено пользователем Silver Raven

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

Поделиться этим сообщением


Ссылка на сообщение

@Anonim, насколько бы данный вариант лучей от фонарика не был кривым, он все равно выглядит интереснее, аналога ПЫС. Но я бы желал иметь подобную плюшку в виде отключаемой опции. Надеюсь, у тебя там в новом шейдерпаке все можно максимально кастомизировать под себя?

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...