-
Notifications
You must be signed in to change notification settings - Fork 810
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Blender Cycles Fidelity Test #4492
Conversation
Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). View this failed invocation of the CLA check for more information. For the most up to date status, view the checks section at the bottom of the pull request. |
@vis-prime amazing! I'll try it out now. I think you need to side the Google CLA as mentioned above! It is super simple to do. :). I think it should use whatever Blender you have installed, so just the default Blender path I think is sufficient. |
It may be useful to have a README.md that describes how to set this up? Are you using Blender directly, I guess you modify PYTHONPATH to point to somewhere inside of Blender, or are you compiling Blender as a Python Module? I assume as well you have to match the local Python version to Blender's python version, or are you using their python build directly? This would help me reproduce. |
alright! CLA done, will do a readme rehearsal here
So in my case with windows and blender 3.6
extras |
Looking good! Mind signing our CLA and resolving the conflicts? Once these new goldens are uploaded we can look at merging this. Looking at CesiumMan and BrainStem it appears Blender is rendering these at their first animation frame instead of their resting pose - can you fix that in the python? |
I believe the sphere is a test, probably of unreferenced meshes and whether they get accidentally displayed or not. Since it loads as "hidden in viewport", it sounds like Blender is doing the right thing, so I think we can go ahead and use that as a sign to hide it in the Python render as well. |
which one of these is correct ?
or
|
Hmm, I'm not sure about "correctness" if they both work, but
makes me think that the second one is better, since the first might use your random system version of Python? |
I haven't been able to test it with the
I've been just loading the @bhouston can you give it a go ? |
@vis-prime I will have a look! |
I just fixed the sphere issue. KhronosGroup/glTF-Blender-IO@fc2a7ae The sphere is used for bone/joint shape, and should neither been seen in render |
The second method seems the most reasonable, run blender and give it a python script seems simplest. I may have suggested the first approach, but I think I was wrong earlier. |
Yeah, fully executing the code directly via blender sounds good. Just have to make sure that all the file paths are still valid. (relative paths might not work) Questions :
|
|
Some crucial changes are coming to GLTF & Principled v2 logic in the coming weeks (blender 4.0 releases in November) Right now there are some material issues with using the 4.0 daily builds (KhronosGroup/glTF-Blender-IO#2014 (comment)) Is it better to wait for 4.0 release ? |
I'll defer to @bhouston since he's paying for the work, but since I don't see any particular time rush, I think it might be easier to wait for the 4.0 release. |
Changed are made. You should be able to get good render with 4.0 beta now. |
awesome, looking good now! I managed to get WSL2 working, there are still some puppeteer related errors when I run npm commands , |
Looking great! I can already see some bugs it's catching in Blender. You'll probably want to wait for some more of @bhouston's PRs to land so that you're updating the right scenarios. |
Is this ready for review? It's still marked as draft. |
blender 4.0 is out ! Tried wsl2 , no luck Only thing i wanted to confirm was to check if blender was getting the full paths as arg and not the relative paths (as blender's python env might not have access to it) The error i got while testing with wsl2
|
I'm not sure, but I'll let @bhouston guide this one. |
Installed npm packages with WSL2 and after fixing the relative path issue by doing a some path surgery , it still shows the error message but the render output is created correctly ! (another note : none of the python print statements,render progress messages or error messages show up on the terminal when running the update-screenshot command ) (in the video i'm using 12 samples to get the file quickly) 2023-11-23.13-19-18.mp4 |
Sorry, I kind of lost track of this one. Should I go ahead and merge it? Appears to be complete now? |
I'll just run/test the command in the latest blender version and let you know.. Can merge after that Edit : should be okay to merge now |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you!
* add cycles config * fix comments & typo * resolve conflict * armature `REST` pose and dont render hidden meshes * Readme & config update * config update , spread args with comma * remove icosphere hiding logic * images * convert relative to absolute paths * add new configs * blender add factory startup to prevent user interference from user addons/settings * update readme
Fixes / Photos here : #4482
This script renders a
exr
file to the output directory.Opens it & uses PILLOW to do ACES tonemaping.
Saves the final png & deletes the exr file.
The command :
Command breakdown
-b
is for background mode-P
runs the python scripttest/renderers/blender-cycles/render.py
is the path to the python filesys.argv[5]
)Current settings
128
samples (default: 4096 )GPU
(default: CPU)Importance sampling/Adaptive Sampling/Noise Threshold
enabled (default: Enabled)OpenImage Denoiser
Enabled (default: Enabled)Standard
(default: 'AgX' in 4.X & "Filmic" in 3.X)"temp.exr
(32bit ZIP codec) to the output dirWSL on my windows system does not work on my old system, so npm install didn't work :-(
So I've replicated the changes from the V-Ray commit :-)
and to get outputs, I am running the script directly using the
config.json