I would like to achieve a binary compability of pixels on rendered images for the same simple scene in Blender 3D v.2.80, but on different hardware.
Let rendered image is an grayscale, non-compressed PNG (or BMP). And every pixel should have the same byte value (i.e. the same level of grayness) across different hardware platforms for that scene.
The working scene is built from 9 triangles, where coordinates of vertices are variables within -2.55 ; 2.55 range. Please compare attached Blender python script [login to view URL]
For quick byte-by-byte verification of images - you can use attached C file compare.c e.g.:
./compare E5450/[login to view URL] E6420/[login to view URL]
Fast rendering process is prefered (less than 1sec on gtx 1050), so:
- better renderer would be Eevee than Cycles
- working image resolution may be low, e.g. 640x480
A compiled, modified Blender version for linux 64-bit may be good idea for testing on different PC hardware.
The ultimate solution would be a static C library with a function, which takes the coordinates of vertices as an input, and will produce a 640 * 480 = 307200 bytes output stream as a result (and such result could be converted to PNG or BMP format, if necessary). That output stream should be the same for every rendering platform.
Modifications should be proposed via github pull requests on fork of Blender repository.
6 freelancers are bidding on average $538 for this job
Hello. We are 3d professonal team and we can create 3d source code modification. Floating Point issue on different platforms. . You can check our portfolio. Thanks.