Mojira Archive
MCM-1501

Usage of beacon_beam_transparent material in Space Mountain no longer works and causes asserts

Partner Rank:

3

Partner Team Reporting:

Everbloom Games

Verification builds:

RENDERDRAGON 1.18.10.03 (outermost cube works)

DX11 has ALWAYS had all cubes EXCEPT the outermost work even at launch.

Build Group Prime (referred to in this bug, all verified) RENDERDRAGON: 1.18.0.25, 1.18.0.27, 1.18.0.02, 1.18.1.02, 1.18.2.03, 1.18.10.26, and 1.18.20.21 (none of the cubes work) 

Summary:

We used a reference to the vanilla material "beacon_beam_transparent" in Space Mountain in WDW Magic Kingdom Adventure for the entities "sm_ride_rocket_l" and "sm_ride_rocket_r." The result of this was allowing us to have multiple planes of differing opacity overlapping to create nested cubes making things appear darker the further out from the camera they were. This used to work at launch. In 1.18.10.03 we get constant asserts and the planes no longer appear. Instead, only the outermost giant cube of total opaqueness is visible in RENDERDRAGON, while in DX11 all of them are visible EXCEPT that one.

Impact:

Space Mountain is no longer as dark as it should be, and the result is less realistic. In addition, you can see what is coming ruining the effect of the ride.

Repro Steps:

  1. Open WDW Magic Kingdom Adventure and enable cheats
  2. Run the command: 
    /summon fw:sm_ride_rocket_l ~ ~ ~
  1. Run the command: 
    /replaceitem entity @e[type=fw:sm_ride_rocket_l,c=1] slot.weapon.offhand 0 nautilus_shell
  1. Observe the asserts.
  2. Now relaunch your game and turn OFF asserts so you can see the behavior.
  3. Go back into the game with the same setup you just did and stand in the center of the ride rocket entity.
  4. Observe Screenshot_A behavior for the unexpected result in RENDERDRAGON 1.18.10.03, this shows that ONLY the outermost fully opaque cube (extremely large, intended). In DX11 1.18.10.03, all of the cubes work EXCEPT the outermost one as seen in Screenshot_D (also we don't get asserts here). In addition, the behavior is ALSO incorrect but even worse in Build Group Prime where not even the outermost cube is visible as seen in Screenshot_B.

Expected:

Demonstrated in attached Screenshot_C. It should appear as though objects further away are darker until it is pitch black. There are multiple cubes nested inside of each other. Each cube becoming more and more opaque as you expand outward.

Observed:

In addition to constant asserts, in RENDERDRAGON 1.18.10.03 only the outermost large cube which is fully black opaque is visible.

In DX11, even at launch all cubes worked but not the outermost one. However, we do not get asserts in DX11 on any build.

In addition to constant asserts, in Build Group Prime none of the black cubes are visible.

Asserts:
 

---------------------------
Assert Failure - ctrl+C to copy this message to the clipboard!
---------------------------
Assertion failed: InputMap must have a position0! @ mce::framebuilder::bgfxbridge::vertexutils::translateInputMapToVertexFormat
Function: in D:\a\_work\2\s\handheld\src-deps\MinecraftRenderer\src\framebuilder\bgfxbridge\VertexUtils.h @ 101
 
---------------------------
OK
---------------------------
---------------------------
Assert Failure - ctrl+C to copy this message to the clipboard!
---------------------------
Assertion failed: Invalid handle unwrap - resource is null @ mce::AssertServerSideResourceHandler::invalidUnwrapResourceIsNullptr
Function: in D:\a\_work\2\s\handheld\src-deps\Core\include\Core\Resource\AssertServerSideResourceHandler.h @ 11
 
---------------------------
OK
---------------------------
---------------------------
Assert Failure - ctrl+C to copy this message to the clipboard!
---------------------------
Assertion failed: InputMap must have a position0! @ mce::framebuilder::bgfxbridge::vertexutils::translateInputMapToVertexFormat
Function: in D:\a\_work\2\s\handheld\src-deps\MinecraftRenderer\src\framebuilder\bgfxbridge\VertexUtils.h @ 101
 
---------------------------
OK
---------------------------
---------------------------
Assert Failure - ctrl+C to copy this message to the clipboard!
---------------------------
Assertion failed: Invalid handle unwrap - resource is null @ mce::AssertServerSideResourceHandler::invalidUnwrapResourceIsNullptr
Function: in D:\a\_work\2\s\handheld\src-deps\Core\include\Core\Resource\AssertServerSideResourceHandler.h @ 11
 
---------------------------
OK
---------------------------
---------------------------
Assert Failure - ctrl+C to copy this message to the clipboard!
---------------------------
Assertion failed: InputMap must have a position0! @ mce::framebuilder::bgfxbridge::vertexutils::translateInputMapToVertexFormat
Function: in D:\a\_work\2\s\handheld\src-deps\MinecraftRenderer\src\framebuilder\bgfxbridge\VertexUtils.h @ 101
 
---------------------------
OK
---------------------------
---------------------------
Assert Failure - ctrl+C to copy this message to the clipboard!
---------------------------
Assertion failed: Invalid handle unwrap - resource is null @ mce::AssertServerSideResourceHandler::invalidUnwrapResourceIsNullptr
Function: in D:\a\_work\2\s\handheld\src-deps\Core\include\Core\Resource\AssertServerSideResourceHandler.h @ 11
 
---------------------------
OK
---------------------------
---------------------------
Assert Failure - ctrl+C to copy this message to the clipboard!
---------------------------
Assertion failed: InputMap must have a position0! @ mce::framebuilder::bgfxbridge::vertexutils::translateInputMapToVertexFormat
Function: in D:\a\_work\2\s\handheld\src-deps\MinecraftRenderer\src\framebuilder\bgfxbridge\VertexUtils.h @ 101
 
---------------------------
OK
---------------------------
---------------------------
Assert Failure - ctrl+C to copy this message to the clipboard!
---------------------------
Assertion failed: Invalid handle unwrap - resource is null @ mce::AssertServerSideResourceHandler::invalidUnwrapResourceIsNullptr
Function: in D:\a\_work\2\s\handheld\src-deps\Core\include\Core\Resource\AssertServerSideResourceHandler.h @ 11
 
---------------------------
OK
---------------------------
 

 
 
 
 
 
 
Screenshots/Videos attached:

Yes

Screenshot_A is unintended behavior in 1.18.10.03. Screenshot_B is unintended behavior in "Build Group Prime." Screenshot_C is the intended behavior.

Screenshot_A (1.18.10.03, only outermost opaque cube visible):

Screenshot_B (Build Group Prime behavior, no cubes at all): 

Screenshot_C: (intended behavior in RENDERDRAGON 1.18.0.24_RC1 and prior)

Screenshot_D: (all work EXCEPT for outermost cube in DX11 1.18.10.03)

Regression Builds:

This last worked in 1.18.0.24 which means that the first build where it broke was 1.18.0.27 (the next one we got) or 1.18.0.25. This is only for Renderdragon. In DX11, the behavior has ALWAYS been that all the cubes work except the outermost one and that is still the case today. While it would be nice to have that fixed, the more important thing is to have it work at all in RenderDragon again.

 

Notes

Note that all verifications and tests were done using RenderDragon builds on Windows 10.

NOTE: The reason we used beacon_beam_transparent here is because this is the ONLY material in the game that would allow us to have planes of differing opacities multiply together when occluding each other as well as make these planes visible from the inside of the cart.

Additionally, while investigating this, you should be aware that we have made it so that the "nested cube model" is not visible when more than 6 blocks away from the entity. That is intentional.

Unresolved

TRS

2022-02-02, 07:52 PM

2022-02-03, 07:41 PM

0

1

Future Release

-