Hello everybody! The moment is finally here!
This alpha comes with a full container ship worth of bug fixes alongside subtle enhancements and improvements that still required bashing my forehead on a keyboard for a long while.
But perhaps the most noticeable change in 0.5.0a is the shift from a console application to a graphical user interface.
Let's dive into the details of this alpha release:

• Introducing RTX Reactor GUI!
This was supposed to arrive with the next update, but hey, the future is now!

Notes:
The "Config File" button currently opens settings.json as a placeholder. This button will be removed as I add dedicated controls and sliders for each option within the UI in future updates.

0.4.0a left RTX Reactor in a pretty good spot, heightmap generation was there alongside normal map generation and both worked well in most scenarios.
This was especially true for heightmap generation which already reacted and tuned itself based on the composition of texture itself, allowing it to yield really excellent results.
Similarly, other algorithms responsible for Normal map and MER generation can be improved to produce better results, and that's what this update and future updates will do, taking things an step further:
• Added an experimental material generation algorithm
Enabled by default, it selectively allows parts of textures to glow. Currently, this feature applies to a select few blocks like furnaces and blast furnaces. While it's mostly hard-coded right now, you can disable it via settings.json if it causes issues with specific packs.
Future updates will provide adjustable parameters for material generation which comes with greater control over this feature as well.
Faithful 32x & Des Bijoux Examples:


• Added an alternative Normal Map generation.
It focuses more on edges. While this method may produce simpler results—such as less rounded stones in a cobblestone texture, by design this method is less sensitive to noise.

By default both types of normal maps are generated and composited, you can control the effectiveness of the new type via settings.json file.

• Added a Deferred Lighting toggle, when enabled it changes various parts of RTX Reactor to better serve results for deferred lighting, it also dumps the deferred lighting related configurations on top of the pack for better visuals.

Note: Enabling this feature may significantly increase conversion times, as RTX Reactor will process items, entities, etc.. in addition to blocks.
This is just the start of Deferred Lighting support in RTX Reactor, and will be expanded in the future to include features like subsurface scattering and other deferred-tailored options.
Since Deferred Lighting is still a technical preview and can change significantly I did not think it wise to go deeper for this update. This was to let you know that I have my eyes set on fully supporting everything for deferred lighting once the time is right--a dedicated altered pipeline for Deferred lighting!
• Added a Fog Multiplier option that can alter air fog density.

• Added a Texture Variation Remover: Enabled by default, this removes texture variations to counter a Minecraft bug that prevents PBR resources from being loaded for texture variations.
• Added support for 1.21 resource packs alongside various other smaller material generation improvements, fixed some blocks using incorrect materials.
• Fixed copper grates appearing black.


• Other Changes and bug fixes include:
- Fixed an issue where glass appeared slightly colored in some packs (e.g., regular glass appearing pink in Faithful 32x).
- Removed the sun azimuth modifier due to upcoming changes in newer previews. Sun azimuth is no longer available in RTX.
- RTX Reactor is now more robust than ever before! This is the culmination of many changes, the most significant one is how files are handled, conversion speed was also improved as a result of cutting many unnecessary file streams.
- Updated RTX Reactor libraries and removed those with vulnerabilities, it now uses fewer dependencies.
- Fixed fallback temporary location for processing packages
- Updated general files for fogs, sun path modifiers, etc., to a newer iteration.
- Placeholder and carried blocks are no longer processed.
- Replaced normal intensity controllers with a simpler normal map intensity reducer (Normals are now always generated at high intensity).
...And much more that I forgot to documented due to the extended development time.
Developer Notes:
It's been a while since the last update, so here’s a rundown of how we got here:
As you might well know Vanilla RTX and its deferred-lighting version have been keeping me busy, but that is far from being the reason behind the longer development time, after all, I have always worked on everything in parallel, bit by bit.
I initially planned to work on 0.5 soon after 0.4 was released back in February of this year.
Then some libraries RTX Reactor relied on had security vulnerabilities, and to be brutally honest, I had no idea how serious these vulnerabilities could be, but just I stopped using them.
Even worse some other libraries like magick.net which RTX Reactor builds some of its core functions on completely broke for my use.
These two left me struggling to make my own solutions to replace third parties, which took a ridiculously long time trying to get right and proved to be insufficient in the end.
A while had passed, so three months ago, I had to replan 0.5.0, since things were having a meltdown, I settled for just get things back to how they were in 0.4.0! (I had gone full circle) alongside some deferred lighting features, add 1.21 support alongside some improvements, and call it a day: 0.4.5 at the same time as Minecraft 1.21 release.
I was on it for a while, but it was getting increasingly hard to keep going after stagnating for so long.
There is a human factor here (i.e. me) that really had to do something slightly different, so I sat down and started having a fun time designing the UI for RTX Reactor.
I effectively stopped all development of RTX Reactor itself and started working on RTX Reactor GUI instead.
Custom UI components which I'll probably release on NuGet and use in RTX Reactor as get to develop it more (I love how it is turning out, I hope others will too!)
Once the UI was complete, I integrated it with RTX Reactor and with some great timing, Magick.NET issues miraculously went away (hail sir dirk) getting us to RTX Reactor 0.5: Fusion Update! It was originally planned for July 13th, 2023—it's been quite a journey.
Looking ahead, RTX Reactor’s modular design makes any man cry, it will be a real pleasure to continue to work on; I initially avoided adding a UI because I feared it would slow down development. The console had its advantages like rapid testing. However, the new UI can provide much more information and functionality for the average user.
It also opens way for a derivative of RTX Reactor I'm planning on called "RTX Creator".
It is similar, except you get to visually design blocks by yourself with a 3D view of how it will turn out, using buttons and sliders, the idea is to rapidly design and toss away blocks how you like them.
Perhaps it could even have a Deferred Lighting mode where you get to create your own deferred lighting packs with 3D views, just imagining it now it can be incredibly fun to work with.
Just to let you know I won't start on it until deferred lighting is finished on Minecraft's side.

Possible issues:
Unexpected Crashes with UI-Modifying Packs: There may be crashes when using packs that modify the UI. This issue might be related to Minecraft itself, as these packs are typically not used with Deferred Lighting or ray tracing. RTX Reactor doesn’t alter UI elements; so it may just be exposing a bug in the game itself.
Alternative Normal Map Generation: The new normal map generation method can produce seams and is set to a low effectiveness by default, you may prefer to continue using the old generation method.
Generation times have significantly increased with this update. At this rate, RTX Reactor will fry your CPU, and I'll have returned to the dirt by the time we get out of alpha—just kidding! Multithreading is on the way in a future update, I don't intend on torturing myself by waiting half an hour just to test a pack. For now, the app is single-threaded.
-------------------------------------------------------------
Options Information:
This section details RTX Reactor's settings, similar to the Documentation PDF from 0.4.0a. Default parameters are generally sufficient, so you can skip this section if you don’t plan to adjust settings.
"generate_normals_for_32x": true/false
Enables or disables Normal maps for 32x packs.
"force_normals_globally": true/false
Forces Normal map generation for all textures, ignoring texture resolution.
"normal_intensity_reducer": [Int Range: 0-255]
Adjusts the intensity of Normal maps. Set to 0 for no change and 255 for fully flat Normal maps.
"normal_blur_intensity": [Float Range: 0-infinite]
Controls the blur intensity of Normal maps. Higher values result in more blur.
"alternative_normal_effectiveness": [Int Range 0-255]
Sets the effectiveness of the second Normal map overlay. Higher values reduce noise.
"alternative_normal_overlay_effectiveness": [Int Range 0-255]
Similar to the previous option, but higher values result in more intense edges.
"advanced_material_generation_features": true/false
Disables features allowing furnace fronts to glow if set to false..
"fog_deployment": true/false
Determines whether fog-related files are deployed or not.
"fog_density_multiplier" [Float Range: 0.0-Infinite]
Multiplies the density of fog configurations. Set to 0.0 with fog deployment enabled to remove air fog while keeping water fog. Higher values increase fog density.
"deferred_mode": true/false
Enables deferred-lighting features and related files. Only activate when intending to use the output with deferred lighting.
"remove_texture_variations": true/false
Removes texture variations, which can cause issues with PBR textures. It is recommended to keep this enabled.
"pick_random_variation": true/false
Selects a random texture variation if enabled, useful if no weight is defined.
"developer_mode": true/false
Enables developer mode. This option is primarily for debugging. You can enable it and export the content log by double clicking its box, providing a convenient way to report issues to me.
Other options pertain to the GUI and core functionality of RTX Reactor.
Important note:
This version of the setup is password-protected!
To obtain the password, connect your Discord account to Patreon and join the Vanilla RTX Discord at https://discord.gg/A4wv4wwYud. The password is pinned in the #rtx-reactor channel.
Here’s a direct link to the message:
https://discord.com/channels/721377277480402985/871755222693847101/1273762907192295534
I sincerely apologize for any inconvenience this may cause. This measure is necessary to protect my work from theft and misuse, based on recent experiences.
If you don't have a Discord account or don't like to create one, I've left the same password in Community Chats here on Patreon, at the beginning of RTX Reactor chat, this is also the place where I will be sharing some development news and updates from time to time.
As always, if you encounter any issues, message me directly, we'll figure something out!
CubeIR
2024-08-16 08:45:14 +0000 UTCPork Sandwichson
2024-08-16 00:46:28 +0000 UTCPork Sandwichson
2024-08-16 00:45:10 +0000 UTC