For a current project I am doing, I would need a way to render an ocean from low to high altitudes. Therefore, I would like to contribute to Blender by creating a node that could be use in Cycle (and maybe EEVEE) Materials. This node would simulate the ocean, and output three things: the actual displacement vector, the normals, and a roughness value, (maybe an anisotropic value as well). Those three values would then be use depending on the distance of the pixel to render.
Would this kind of contribution be accepted in the main branch of blender?
As this would be my first time working with the blender code, I do not really know what are the steps to add a new node. I saw that there are several files to create, or add to, in order to have a new node. Is there a “receipe” to know exactly what I need to add?