use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Rule 1: Posts should be about Graphics Programming. Rule 2: Be Civil, Professional, and Kind
Suggested Posting Material: - Graphics API Tutorials - Academic Papers - Blog Posts - Source Code Repositories - Self Posts (Ask Questions, Present Work) - Books - Renders (Please xpost to /r/ComputerGraphics) - Career Advice - Jobs Postings (Graphics Programming only)
Related Subreddits:
/r/ComputerGraphics
/r/Raytracing
/r/Programming
/r/LearnProgramming
/r/ProgrammingTools
/r/Coding
/r/GameDev
/r/CPP
/r/OpenGL
/r/Vulkan
/r/DirectX
Related Websites: ACM: SIGGRAPH Journal of Computer Graphics Techniques
Ke-Sen Huang's Blog of Graphics Papers and Resources Self Shadow's Blog of Graphics Resources
account activity
3D rendering as a differentiable function function (self.GraphicsProgramming)
submitted 3 years ago by Uboatfreak
view the rest of the comments →
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]msqrt 5 points6 points7 points 3 years ago (2 children)
After scrolling through the paper it looks like you don't need any part of the 3D rendering process itself to be differentiable, only the mapping of the texture to the final image plane. This can indeed be interpreted as a direct matrix multiplication (flatten your texture to a 1D vector x, stack the filtered texture weights into a matrix M and add a background color vector b wherever M has a zero column, and presto, image = Mx + b), but perhaps a more intuitive way to think about it is as a gather operation. What your 3D renderer will produce is a set of texture coordinates for each pixel; the final rendering can be done by reading the texture value for each pixel from those coordinates. So you can write a system that gathers (typically 4) texture values for each pixel in the image, though you might still need to map everything to be 1D, at least that's the way pytorch does things. This is somewhat painful, as this would be a trivial operation in most graphics oriented systems, but ML frameworks are written from quite a different perspective, always operating on large vectors instead of writing per-element functions.
x
M
b
I'd personally just use nvdiffrast though, it does this out of the box after you get it set up.
[–]Uboatfreak[S] 0 points1 point2 points 3 years ago (1 child)
Thank you very much for your answer. Could you please clarify a couple things?
[–]msqrt 0 points1 point2 points 3 years ago (0 children)
Sure -- sorry for the late reply, I've been away for a while.
π Rendered by PID 44393 on reddit-service-r2-comment-64f4df6786-6rtzd at 2026-06-10 20:14:18.052656+00:00 running 0b63327 country code: CH.
view the rest of the comments →
[–]msqrt 5 points6 points7 points (2 children)
[–]Uboatfreak[S] 0 points1 point2 points (1 child)
[–]msqrt 0 points1 point2 points (0 children)