class_docstr: Per pixel lighting - the lighting model is applied using the interpolated
  coordinates and normals for each pixel. The blending function returns the
  color aggregated using splats from surrounding pixels (see [0]).
  
  To use the default values, simply initialize the shader with the desired
  device e.g.
  
  .. code-block::
  
      shader = SplatterPhongShader(device=torch.device("cuda:0"))
  
  [0] Cole, F. et al., "Differentiable Surface Rendering via Non-differentiable
      Sampling".
class_docstr_tok: ["Per","pixel","lighting","-","the","lighting","model","is","applied","using","the","interpolated","coordinates","and","normals","for","each","pixel",".","The","blending","function","returns","the","color","aggregated","using","splats","from","surrounding","pixels","(","see","[","0","]",")",".","To","use","the","default","values",",","simply","initialize","the","shader","with","the","desired","device","e.g",".","..","code-block",":",":","shader","=","SplatterPhongShader","(","device=torch.device","(","``","cuda:0","''",")",")","[","0","]","Cole",",","F.","et","al.",",","``","Differentiable","Surface","Rendering","via","Non-differentiable","Sampling","''","."]
code: def check_blend_params(self, blend_params):
      if blend_params.sigma != 0.5:
          warnings.warn(
              f"SplatterPhongShader received sigma={blend_params.sigma}. sigma is "
              "defined in pixel units, and any value other than 0.5 is highly "
              "unexpected. Only use other values if you know what you are doing. "
          )
  
imports: import warnings
  from typing import Optional
  import torch
  import torch.nn
  from ...common.datatypes import Device
  from ...structures.meshes import Meshes
  from ..blending import BlendParams, hard_rgb_blend, sigmoid_alpha_blend, softmax_rgb_blend
  from ..lighting import PointLights
  from ..materials import Materials
  from ..splatter_blend import SplatterBlender
  from ..utils import TensorProperties
  from .rasterizer import Fragments
  from .shading import _phong_shading_with_pixels, flat_shading, gouraud_shading, phong_shading
label_desc: Use image node_id 4 for calling the SplatterPhongShader obj's underlying member method code with example usage: obj.check_blend_params(blend_params) without return types