Facepunch / sbox-issues

176 stars 12 forks source link

Rename "self illum" shader property to "emissive" or "emission" for clarity #3037

Open DoctorGurke opened 1 year ago

DoctorGurke commented 1 year ago

For?

S&Box

What can't you do?

Currently in sbox/source 2, the shader property "self illum" is used to describe emissive surfaces. However, this term is outdated, coming from earlier source 1 days, and can cause confusion for new users who are more familiar with the modern rendering technique, which refers to this feature as "emission" or "emissive." As a result, there is currently no straightforward way for users to identify the property that controls emissive surfaces, which can cause frustration and slow down the development process.

How would you like it to work?

I propose renaming the "self illum" property to "emissive" or "emission" to make it more intuitive for users who are new to the engine. This would not only help reduce confusion and streamline the development process, but also align sbox with modern rendering techniques and workflows.

It's important to note that renaming the property would potentially break existing assets, which may require developers to update their projects. However, I believe that making this change now, while we are still in active dev-preview, would ultimately save time and effort in the long run.

What have you tried?

I have reviewed the current documentation and spoken with users who have encountered issues with the "self illum" property on the discord before. I have also researched modern rendering techniques and found that "emission" or "emissive" are the preferred terms to describe emissive surfaces. I believe that renaming the property would be the most effective solution to address this issue.

Additional context

S&Box is still in active development, so now is a good time to make changes that will improve usability and align with modern rendering techniques

Material API changes have already caused assets to break over the past 2 years, not like this isn't something we aren't already used to. While renaming the property may break existing assets, there are ways to mitigate the impact of this change, such as providing tools to help developers update their projects, or some sort of auto update systems.

kristiker commented 1 year ago

auto update systems

This would be cool. For this particular case it should be possible to upconvert even compiled asset party materials, losing 0 assets.