mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-10 01:34:01 +00:00
[NO GBP] Fixes black character previews (#91616)
This commit is contained in:
@@ -59,15 +59,17 @@
|
||||
#define EMISSIVE_SPACE_LAYER 3
|
||||
#define EMISSIVE_WALL_LAYER 4
|
||||
|
||||
#define EMISSIVE_BLOOM_PLATE 15
|
||||
#define EMISSIVE_BLOOM_MASK_PLATE 15
|
||||
#define EMISSIVE_BLOOM_MASK_TARGET "*EMISSIVE_BLOOM_MASK_PLATE"
|
||||
#define EMISSIVE_BLOOM_PLATE 16
|
||||
|
||||
//-------------------- Game plane assembly ---------------------
|
||||
|
||||
#define RENDER_PLANE_GAME 16
|
||||
#define RENDER_PLANE_GAME 17
|
||||
/// If fov is enabled we'll draw game to this and do shit to it
|
||||
#define RENDER_PLANE_GAME_MASKED 17
|
||||
#define RENDER_PLANE_GAME_MASKED 18
|
||||
/// The bit of the game plane that is let alone is sent here
|
||||
#define RENDER_PLANE_GAME_UNMASKED 18
|
||||
#define RENDER_PLANE_GAME_UNMASKED 19
|
||||
|
||||
//-------------------- Lighting ---------------------
|
||||
|
||||
|
||||
@@ -345,7 +345,8 @@
|
||||
add_relay_to(GET_NEW_PLANE(EMISSIVE_RENDER_PLATE, offset), relay_color = list(1,1,1,0, 1,1,1,0, 1,1,1,0, 0,0,0,1, 0,0,0,0))
|
||||
/// But for the bloom plate we convert only the red color into full white, this way we can have emissives in green channel unaffected by bloom
|
||||
/// which allows us to selectively bloom only a part of our emissives
|
||||
add_relay_to(GET_NEW_PLANE(EMISSIVE_BLOOM_PLATE, offset), relay_color = list(1,1,1,0, 0,0,0,0, 0,0,0,0, 0,0,0,1, 0,0,0,0))
|
||||
add_relay_to(GET_NEW_PLANE(EMISSIVE_BLOOM_PLATE, offset), relay_color = list(255,255,255,0, 0,0,0,0, 0,0,0,0, 0,0,0,1, 0,0,0,0))
|
||||
add_relay_to(GET_NEW_PLANE(EMISSIVE_BLOOM_MASK_PLATE, offset), relay_color = list(1,1,1,1, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0))
|
||||
|
||||
/atom/movable/screen/plane_master/pipecrawl
|
||||
name = "Pipecrawl"
|
||||
|
||||
@@ -376,12 +376,20 @@
|
||||
plane = RENDER_PLANE_NON_GAME
|
||||
render_relay_planes = list(RENDER_PLANE_MASTER)
|
||||
|
||||
/atom/movable/screen/plane_master/rendering_plate/emissive_bloom_mask
|
||||
name = "Emissive bloom mask plate"
|
||||
documentation = "A holder plate used purely as a way to full-white bloom emissives before applying them as a mask onto the emissive bloom plate."
|
||||
plane = EMISSIVE_BLOOM_MASK_PLATE
|
||||
appearance_flags = PLANE_MASTER|NO_CLIENT_COLOR
|
||||
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
|
||||
render_relay_planes = list()
|
||||
render_target = EMISSIVE_BLOOM_MASK_TARGET
|
||||
critical = PLANE_CRITICAL_DISPLAY
|
||||
|
||||
/atom/movable/screen/plane_master/rendering_plate/emissive_bloom
|
||||
name = "Emissive bloom plate"
|
||||
documentation = "Plate used to bloom emissives before adding them onto the overlay lighting plane. This relies on game rendering plate,\
|
||||
which assembles all in-world planes affected by lighting, is above the emissive plane - which allows us to bypass having to fullbright\
|
||||
the emissive plane on a separate plate before alpha masking the rendering plate copy via multiplying fullbright emissive created here\
|
||||
with the game plate, which technically achieves the same effect. Odd, but it works, and is significantly graphically cheaper."
|
||||
documentation = "Plate used to bloom emissives before adding them onto the overlay lighting plane. We do this by multiplying the game plate\
|
||||
onto a fullbright emissive, then alpha masking it by emissive's color to solve the problem of blockers, both alone and covered by emissives."
|
||||
plane = EMISSIVE_BLOOM_PLATE
|
||||
appearance_flags = PLANE_MASTER|NO_CLIENT_COLOR
|
||||
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
|
||||
@@ -391,7 +399,8 @@
|
||||
|
||||
/atom/movable/screen/plane_master/rendering_plate/emissive_bloom/Initialize(mapload, datum/hud/hud_owner, datum/plane_master_group/home, offset)
|
||||
. = ..()
|
||||
add_filter("emissive_bloom", 1, bloom_filter(threshold = COLOR_BLACK, size = 2, offset = 1))
|
||||
add_filter("emissive_mask", 1, alpha_mask_filter(render_source = OFFSET_RENDER_TARGET(EMISSIVE_BLOOM_MASK_TARGET, offset)))
|
||||
add_filter("emissive_bloom", 2, bloom_filter(threshold = COLOR_BLACK, size = 2, offset = 1))
|
||||
|
||||
/atom/movable/screen/plane_master/rendering_plate/turf_lighting
|
||||
name = "Turf lighting post-processing plate"
|
||||
|
||||
Reference in New Issue
Block a user