[Feature Proposal] Major Enhancements: Matrix-driven Rendering, Multi-channel Export, Expanded Camera Paths
Hi maximeraafat,
First of all, thank you for creating and maintaining BlenderNeRF. It's an incredibly useful tool for the community.
I'm a university student and have been using the plugin for my research projects. While working with it, I've developed a set of significant enhancements on my local fork to support more advanced and flexible data generation pipelines. I believe these features could be a valuable addition to the official version.
Before opening a formal Pull Request, I wanted to propose these changes to see if they align with the project's direction and if you would be open to reviewing them.
Here is a summary of the new features:
1. Matrix-Driven Camera Mode
- This new mode allows rendering a dataset (
train/test) directly from atransforms.jsonfile with same format in your original implementation. - It automatically restores camera poses and intrinsics, making it possible to re-render scenes from existing camera trajectories.
2. Multi-Channel Data Export
- The rendering pipeline has been re-engineered to simultaneously export multiple data channels.
- Users can now enable checkboxes in the UI to export:
- RGB (
.png) - Instance Mask (
.png) - Depth (
.pngand.exr) - Normals (
.pngand.exr)
- RGB (
3. Expanded Camera Paths for COS Mode
- The "Circle on Sphere" (COS) mode has been extended with more camera path options:
- Spherical Spiral Trajectory: Smoothly covers both the upper and lower hemispheres.
- Multi-Level Horizontal Orbits: Allows capturing images at several distinct height levels, simulating common drone capture patterns.
4. Workflow & Quality-of-Life Improvements
- Test Set Consistency: The
transforms_test.jsongenerated by SOF/TTC/COS modes can now reuse an existing matrix file, ensuring consistent test sets across different training data acquisitions. - Enhanced Logging: Log files now include the full camera intrinsic matrix for easier debugging.
- Optional Dataset Compression: Users can choose to automatically compress the dataset into a
.zipfile and delete the raw image folders upon completion.
I have already implemented and tested these features. I'm prepared to submit a Pull Request.
Please let me know if you are interested in this contribution. I am happy to provide more details or make any adjustments based on your feedback.
Thank you for your time and consideration.
Best regards, Asnly
Hi @Asnly1,
Thank you for the detailed proposal and for taking the time to implement these features — I’m really glad to hear that BlenderNeRF has been helpful for your research! Your additions all sound very useful and would be a great addition to the project. You’re welcome to submit a Pull Request.
That said, I do want to ensure the codebase maintains a certain level of quality, consistency, and modularity. This means I’ll need to review the PR carefully and may make minor adjustments depending on the code style and structure.
I also want to set expectations: I unfortunately can’t commit to a timeline for this review, as my current priorities are elsewhere and BlenderNeRF is not at the top of the list. I’d be happy to review the PR, but it may take some time before I can get to it.
Thanks again for your effort and contribution!
Hi @maximeraafat
My apologies for the delayed response. I am very happy these enhancements sound useful to you.
I have now submitted the Pull Request: #53
I fully welcome your review to ensure the contribution meets the project's standards for quality, consistency, and modularity.
I also completely understand your point about the timeline and other priorities. Please take your time for the review. There is absolutely no rush.
Thank you again for creating and maintaining this great project.