novelrt / NovelRT

A cross-platform 2D game engine accompanied by a strong toolset for visual novels.
MIT License
183 stars 43 forks source link

GraphicsPipelineBlendFactor needs reworking. #391

Open RubyNova opened 2 years ago

RubyNova commented 2 years ago

This issue is an offshoot of imperfections from #376 .

I have introduced a new enum for handling blend modes, however it is just a direct copy of Vulkan currently. We need to make a superset of the different blend modes between D3D12 and Vulkan, and probably metal as well, however we mostly care about Vulkan and D3D12.

The D3D documentation and the Vulkan documentation will list the relevant enums that need to be compared for the creation of our superset enum. In the event of the two stacks using different names for the same blend factor, please do call it our in the PR so maintainers such as myself and @tannergooding can review the chosen name. Alternatively, feel free to ask about the name either on this issue, on your PR, or on our discord.

RyadaProductions commented 1 year ago

I have created the PR for this, there was no need to create a superset as both D3D12 and Vulkan support the same blend operations according to their docs. D3D12_BLEND docs VkBlendFactor docs MtmlBlendFactor docs