1
Fork 0

First MariENB 3 attempt for Skyrim Special Edition

This commit is contained in:
Marisa the Magician 2019-04-07 17:12:47 +02:00
commit 1b38c717bd
32 changed files with 7182 additions and 2056 deletions

View file

@ -1,24 +1,36 @@
/*
menbglobaldefs.fx : MariENB 3 global shared code.
(C)2015 Marisa Kirisame, UnSX Team.
Part of MariENB 3, the personal ENB of Marisa for Fallout 4.
menbglobaldefs.fx : MariENB3 global shared code.
(C)2016 Marisa Kirisame, UnSX Team.
Part of MariENB3, the personal ENB of Marisa for Fallout 4.
Released under the GNU GPLv3 (or later).
*/
/*
TODO time of day interpolation
guessed formula, not used yet since it's a lot of work to make separate
variables for now.
*/
//#define tod(x) (x##_dw*TimeOfDay1.x+x##_sr*TimeOfDay1.y+x##_dy*TimeOfDay1.z\
// +x##_ss*TimeOfDay1.w+x##_ds*TimeOfDay2.x+x##_nt*TimeOfDay2.y)
#define tod(x) x
/* weather macros */
/* are we running on skyrim special edition or on fallout 4? */
#define SKYRIMSE
/* time of day and interior interpolation */
#define ndfact clamp(0.5+(TimeOfDay1.z+(TimeOfDay1.y+TimeOfDay1.w)*0.5)*0.5\
-(TimeOfDay2.y+(TimeOfDay1.x+TimeOfDay2.x)*0.5)*0.5,0.0,1.0)
#define tod_ind(a) lerp(lerp(a##_n,a##_d,ndfact),a##_i,EInteriorFactor)
#define todx_ind(a) lerp(a##_dw*TimeOfDay1.x+a##_sr*TimeOfDay1.y+a##_dy\
*TimeOfDay1.z+a##_ss*TimeOfDay1.w+a##_ds*TimeOfDay2.x+a##_nt\
*TimeOfDay2.y,a##_i,EInteriorFactor)
/* weather macros (not very useful yet) */
#define WT_TEMPERATE 0.0
#define WT_HOT 1.0
#define WT_COLD 2.0
#define weatherfactor(id) ((Weather.x==id)?(Weather.y==id)\
?(1.0):(Weather.z):(Weather.y==id)\
?(1.0-Weather.z):(0.0))
#define weatherfactor(id) ((Weather.x==id)?(Weather.y==id)?(1.0):(Weather.z)\
:(Weather.y==id)?(1.0-Weather.z):(0.0))
/*
Explanation of macro, because some of the people reading this likely don't
know what a ternary conditional is:
(WeatherAndTime.x==id) -> transitioning to wanted weather?
?(WeatherAndTime.y==id) -> coming from wanted weather?
?(1.0) -> if so, always 1
:(WeatherAndTime.z) -> if not, return transition
:(WeatherAndTime.y==id) -> not transitioning but coming from wanted weather?
?(1.0-WeatherAndTime.z) -> return inverse transition
:(0.0) -> otherwise return 0
*/
/* asset definitions */
/* ascii art font */
#define FONT_WIDTH 8
@ -31,7 +43,7 @@
uncommented : the textures are 1:1 and must be corrected
commented : the textures are 16:9 or whatever ratio you use
*/
#define ASPECT_LENSDIRT
//#define ASPECT_LENSDIRT
/* texture sizes */
#define NOISESIZE 256.0
#define HEATSIZE 1024.0
@ -42,9 +54,6 @@
#define LUTMODE_64
/* some textures can be provided as DDS rather than PNG to save space */
//#define HEAT_DDS
#define LENSDIRT_DDS
//#define LENSDIRT_DDS
//#define FROST_DDS
//#define FROSTBUMP_DDS
/* experimental features (TODO) */
//#define USE_BOKEH
//#define MULTIPASS_RMAO