Closed sadexcavator closed 1 year ago
By the way, i can make the code work by changing the call of RasterizeGLContext() to RasterizeCudaContext() as you said in your project page https://nvlabs.github.io/nvdiffrast/#rasterizing-with-cuda-vs-opengl-new. However I still want to know how to fix this by installing the OpenGL, does it need to be a root user to do this? because I wish to execute the rasterization operation using OpenGL like before, as you say 'For complex meshes and high resolutions OpenGL will most likely outperform the CUDA rasterizer'. Appreciate your help.
You can find a number of already closed issues by searching for the same term, see here. The problem is most likely related to missing graphics drivers on the host operating system, and to install those you will need root access and a reboot.
Regarding performance, the CUDA rasterizer is probably as fast or faster than OpenGL until the mesh has tens of thousands of triangles, and the performance differences are fairly small even after that. Thus, if your rasterization step constitutes a small portion of overall iteration time, as is usually the case, it's unlikely that you would notice any difference in performance.
thanks for your help
Hello, i've got this problem when I running a nvdiffrec demo which uses your code base, my environment: ubuntu 16.04, cuda 11.3 , NVIDIA GeForce 3090ti, here is my error log:
Traceback (most recent call last): File "/home/wsr/workspace/nvdiffrec-main/train.py", line 557, in
glctx = dr.RasterizeGLContext()
File "/home/wsr/anaconda3/envs/dmodel/lib/python3.9/site-packages/nvdiffrast/torch/ops.py", line 160, in init
self.cpp_wrapper = _get_plugin().RasterizeGLStateWrapper(output_db, mode == 'automatic', cuda_device_idx)
RuntimeError: OpenGL 4.4 or later is required
could you please tell me how to fix this? (FYI i am not the root user) thanks for your time, appreciate it!