0
$\begingroup$

I have designed my graphics pipeline, actually similar to what exists now, you know, vertex shader, then rasterizer, interpolation, fragment shader and so on. But, some stuff are changed in my pipeline. Like the rasterization stage. Currently, as I have understood from Computer Graphics From Scratch book ( which I really recommend ) is that, rasterizer interpolates pixel coords, UVs, depth, Normals and etc. on (almost) every pixel. But I want to change that, I want to define how the rasterizer should act and how it should interpolate, but I have no idea how to. Some people on the web said it's impossible unless you are a driver programmer, then you might have a chance. I want to make sure that it is possible to distort that code, and maybe edit the whole code of current pipeline.

$\endgroup$
5
  • $\begingroup$ Are you asking for interpolation methods? Therefore take a look at barycentric coordinates and barycentric interpolation. $\endgroup$
    – Thomas
    Sep 3 at 7:56
  • $\begingroup$ @Thomas No, actually. I want to know how can I change the method for interpolation and interpolate using my algorithm. It looks like rasterization stage is immutable according to some graphics APIs like OpenGL and Vulkan. $\endgroup$
    – maziar
    Sep 3 at 8:52
  • $\begingroup$ Why would you want to do this ? We should avoid an XY problem. $\endgroup$
    – user1703
    Sep 7 at 17:43
  • $\begingroup$ @YvesDaoust it may sound funny, but I think if I could implement my algorithm, that would be a lot more efficient that the current algorithm. The difference is like rendering a whole object normally, and only rendering the object as wire frame. A LOT of pixels will be discarded, while the rest contain information that will be used to generate the final image, $\endgroup$
    – maziar
    Sep 8 at 8:59
  • $\begingroup$ Rendering a wireframe is possible, of course. If you mean "I have a way better algorithm than the classical ones", I can't believe you. $\endgroup$
    – user1703
    Sep 8 at 13:51

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Browse other questions tagged or ask your own question.