Comments (5)
@jbohnslav Yes, after looking at the code again I figured it out.
For each face, the texture tensor contains a discretized set of samples (in barycentric coordinates) of linear combinations of the colors for each vertex; during rasterization these sampled colors are re-sampled to generate the actual colors of faces. The texture_size controls the number of color pre-samples per face.
More concretely, suppose texture_size = T. Then textures has shape (N, F, T, T, T, 3), with the following semantics (up to a possible permutation of vertices):
textures[n, f, T - 1, 0, 0] is the RGB color of vertex 0 for face f
textures[n, f, 0, T - 1, 0] is the RGB color of vertex 1 for face f
textures[n, f, 0, 0, T - 1] is the RGB color of vertex 2 for face f
Other elements of the textures matrix give linear combinations of the colors at vertices, so for example:
textures[n, f, 0, 0, 0] is 0
textures[n, f, T - 1, T - 1, T - 1] is the sum of the colors at the three vertices for f
textures[n, f, T / 3, T / 3, T / 3] is equal to color1 / 3 + color2 / 3 + color3 / 3 (with T % 3 == 0)
textures[n, f, T / 2, T / 2, 0] is equal to color1 / 2 + color2 / 2 (with T % 2 == 0)
from neural_renderer.
Hi Justin, my CUDA kernel is the same as the original CUDA code in the Chainer inplementation by the authors. I am not an expert in Computer Graphics and I don't to give you an incorrect answer, so I think it will be better to ask the original authors. Please let me know if you have any additional questions.
from neural_renderer.
Thanks! I'll ask over at the original repo.
from neural_renderer.
Did you ever figure this out? I looked on the issues page of the original implementation, and didn't find your question.
from neural_renderer.
Thanks so much!
from neural_renderer.
Related Issues (20)
- Obtaining silhouettes of multiple objects
- i get an error when i try to save obj with textures HOT 3
- ValueError: not enough values to unpack (expected 3, got 1) HOT 3
- cuda10.2 torch1.7.1 install fail
- problem about 'python setup.py install' HOT 1
- it haves some error in cuda11.4 HOT 3
- The variable of camera_up is not defined
- cannot run renderer on any other GPU other than GPU 0 HOT 1
- ImportError: /data/user/anconda3/envs/neural_test/lib/python3.7/site-packages/neural_renderer/cuda/load_textures.cpython-37m-x86_64-linux-gnu.so: undefined symbol: _ZN6caffe28TypeMeta21_typeMetaDataInstanceIdEEPKNS_6detail12TypeMetaDataEv HOT 3
- Error in forward_face_index_map_1: invalid device function Error in forward_face_index_map_2: invalid device function Error in forward_texture_sampling: invalid device function HOT 2
- Render Silhouette For A Trimesh Object
- Render 2D Silhouette For an Input Image
- Support for macOS Apple chip HOT 1
- fails to build on Google Colab with CUDA 10.2
- RuntimeError: Error compiling objects for extension even after changing the ``AT_CHECK`` HOT 5
- The problem of python setup.py install HOT 3
- For those who are new to the installation errors HOT 4
- unknown setup problem, RTX 3090 + cuda 11.1, already convert AT_CHECK to TROCH_CHECK HOT 2
- ValueError: mode should be one of None, 'silhouettes' or 'depth' HOT 1
- pip install neural_renderer_pytorch ERROR: Could not build wheels for neural_renderer_pytorch, which is required to install pyproject.toml-based projects HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from neural_renderer.