mirror of
https://github.com/facebookresearch/pytorch3d.git
synced 2025-08-02 03:42:50 +08:00
MeshRasterizerOpenGL import fixes
Summary: Only import it if you ask for it. Reviewed By: kjchalup Differential Revision: D38327167 fbshipit-source-id: 3f05231f26eda582a63afc71b669996342b0c6f9
This commit is contained in:
parent
5bf6d532f7
commit
3b7ab22d10
@ -7,7 +7,6 @@
|
||||
import contextlib
|
||||
import logging
|
||||
import re
|
||||
from typing import List
|
||||
|
||||
|
||||
@contextlib.contextmanager
|
||||
|
@ -65,11 +65,6 @@ from .mesh import (
|
||||
TexturesVertex,
|
||||
)
|
||||
|
||||
try:
|
||||
from .opengl import EGLContext, global_device_context_store, MeshRasterizerOpenGL
|
||||
except (ImportError, ModuleNotFoundError):
|
||||
pass # opengl or pycuda.gl not available, or pytorch3_opengl not in TARGETS.
|
||||
|
||||
from .points import (
|
||||
AlphaCompositor,
|
||||
NormWeightedCompositor,
|
||||
|
@ -10,8 +10,6 @@ import torch
|
||||
import torch.nn as nn
|
||||
|
||||
from ...structures.meshes import Meshes
|
||||
from .rasterizer import MeshRasterizer
|
||||
|
||||
|
||||
# A renderer class should be initialized with a
|
||||
# function for rasterization and a function for shading.
|
||||
@ -32,11 +30,11 @@ from .rasterizer import MeshRasterizer
|
||||
class MeshRenderer(nn.Module):
|
||||
"""
|
||||
A class for rendering a batch of heterogeneous meshes. The class should
|
||||
be initialized with a rasterizer and shader class which each have a forward
|
||||
function.
|
||||
be initialized with a rasterizer (a MeshRasterizer or a MeshRasterizerOpenGL)
|
||||
and shader class which each have a forward function.
|
||||
"""
|
||||
|
||||
def __init__(self, rasterizer: MeshRasterizer, shader) -> None:
|
||||
def __init__(self, rasterizer, shader) -> None:
|
||||
super().__init__()
|
||||
self.rasterizer = rasterizer
|
||||
self.shader = shader
|
||||
@ -69,8 +67,8 @@ class MeshRenderer(nn.Module):
|
||||
class MeshRendererWithFragments(nn.Module):
|
||||
"""
|
||||
A class for rendering a batch of heterogeneous meshes. The class should
|
||||
be initialized with a rasterizer and shader class which each have a forward
|
||||
function.
|
||||
be initialized with a rasterizer (a MeshRasterizer or a MeshRasterizerOpenGL)
|
||||
and shader class which each have a forward function.
|
||||
|
||||
In the forward pass this class returns the `fragments` from which intermediate
|
||||
values such as the depth map can be easily extracted e.g.
|
||||
@ -80,7 +78,7 @@ class MeshRendererWithFragments(nn.Module):
|
||||
depth = fragments.zbuf
|
||||
"""
|
||||
|
||||
def __init__(self, rasterizer: MeshRasterizer, shader) -> None:
|
||||
def __init__(self, rasterizer, shader) -> None:
|
||||
super().__init__()
|
||||
self.rasterizer = rasterizer
|
||||
self.shader = shader
|
||||
|
@ -130,8 +130,9 @@ class MeshRasterizerOpenGL(nn.Module):
|
||||
|
||||
Fragments output by MeshRasterizerOpenGL and MeshRasterizer should have near
|
||||
identical pix_to_face, bary_coords and zbuf. However, MeshRasterizerOpenGL does not
|
||||
return Fragments.dists which is only relevant to SoftPhongShader which doesn't work
|
||||
with MeshRasterizerOpenGL (because it is not differentiable).
|
||||
return Fragments.dists which is only relevant to SoftPhongShader and
|
||||
SoftSilhouetteShader. These do not work with MeshRasterizerOpenGL (because it is
|
||||
not differentiable).
|
||||
"""
|
||||
|
||||
def __init__(
|
||||
|
@ -17,7 +17,6 @@ from pytorch3d.renderer import (
|
||||
look_at_view_transform,
|
||||
Materials,
|
||||
MeshRasterizer,
|
||||
MeshRasterizerOpenGL,
|
||||
MeshRenderer,
|
||||
PointLights,
|
||||
RasterizationSettings,
|
||||
@ -30,6 +29,7 @@ from pytorch3d.renderer.mesh.rasterize_meshes import (
|
||||
rasterize_meshes_python,
|
||||
)
|
||||
from pytorch3d.renderer.mesh.rasterizer import Fragments
|
||||
from pytorch3d.renderer.opengl import MeshRasterizerOpenGL
|
||||
from pytorch3d.renderer.points import (
|
||||
AlphaCompositor,
|
||||
PointsRasterizationSettings,
|
||||
|
@ -15,7 +15,6 @@ from pytorch3d.renderer import (
|
||||
FoVPerspectiveCameras,
|
||||
look_at_view_transform,
|
||||
MeshRasterizer,
|
||||
MeshRasterizerOpenGL,
|
||||
OrthographicCameras,
|
||||
PerspectiveCameras,
|
||||
PointsRasterizationSettings,
|
||||
@ -27,6 +26,7 @@ from pytorch3d.renderer.opengl.rasterizer_opengl import (
|
||||
_check_raster_settings,
|
||||
_convert_meshes_to_gl_ndc,
|
||||
_parse_and_verify_image_size,
|
||||
MeshRasterizerOpenGL,
|
||||
)
|
||||
from pytorch3d.structures import Pointclouds
|
||||
from pytorch3d.structures.meshes import Meshes
|
||||
|
@ -23,7 +23,6 @@ from pytorch3d.renderer import (
|
||||
look_at_view_transform,
|
||||
Materials,
|
||||
MeshRasterizer,
|
||||
MeshRasterizerOpenGL,
|
||||
MeshRenderer,
|
||||
MeshRendererWithFragments,
|
||||
OrthographicCameras,
|
||||
@ -44,6 +43,7 @@ from pytorch3d.renderer.mesh.shader import (
|
||||
SplatterPhongShader,
|
||||
TexturedSoftPhongShader,
|
||||
)
|
||||
from pytorch3d.renderer.opengl import MeshRasterizerOpenGL
|
||||
from pytorch3d.structures.meshes import (
|
||||
join_meshes_as_batch,
|
||||
join_meshes_as_scene,
|
||||
|
@ -14,7 +14,6 @@ from pytorch3d.renderer import (
|
||||
HardGouraudShader,
|
||||
Materials,
|
||||
MeshRasterizer,
|
||||
MeshRasterizerOpenGL,
|
||||
MeshRenderer,
|
||||
PointLights,
|
||||
PointsRasterizationSettings,
|
||||
@ -26,6 +25,7 @@ from pytorch3d.renderer import (
|
||||
TexturesVertex,
|
||||
)
|
||||
from pytorch3d.renderer.cameras import FoVPerspectiveCameras, look_at_view_transform
|
||||
from pytorch3d.renderer.opengl import MeshRasterizerOpenGL
|
||||
from pytorch3d.structures import Meshes, Pointclouds
|
||||
from pytorch3d.utils.ico_sphere import ico_sphere
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user