# ShaderNodeTexPointDensity(ShaderNode)

base classes — `bpy_struct`, `Node`, `NodeInternal`, `ShaderNode`

class `bpy.types.``ShaderNodeTexPointDensity`(ShaderNode)
  `color_source`

    Data to derive color results from

    - `PARTICLE_AGE` Particle Age, Lifetime mapped as 0.0 - 1.0 intensity.
    - `PARTICLE_SPEED` Particle Speed, Particle speed (absolute magnitude of velocity) mapped as 0.0-1.0 intensity.
    - `PARTICLE_VELOCITY` Particle Velocity, XYZ velocity mapped to RGB colors.

    Type: | enum in [‘PARTICLE_AGE’, ‘PARTICLE_SPEED’, ‘PARTICLE_VELOCITY’], default ‘PARTICLE_AGE’

  `interpolation`

    Texture interpolation

    - `Closest` Closest, No interpolation (sample closest texel).
    - `Linear` Linear, Linear interpolation.
    - `Cubic` Cubic, Cubic interpolation (CPU only).

    Type: | enum in [‘Closest’, ‘Linear’, ‘Cubic’], default ‘Linear’

  `object`

    Object to take point data from

    Type: | `Object`

  `particle_system`

    Particle System to render as points

    Type: | `ParticleSystem`

  `point_source`

    Point data to use as renderable point density

    - `PARTICLE_SYSTEM` Particle System, Generate point density from a particle system.
    - `OBJECT` Object Vertices, Generate point density from an object’s vertices.

    Type: | enum in [‘PARTICLE_SYSTEM’, ‘OBJECT’], default ‘PARTICLE_SYSTEM’

  `radius`

    Radius from the shaded sample to look for points within

    Type: | float in [0.001, inf], default 0.0

  `resolution`

    Resolution used by the texture holding the point density

    Type: | int in [1, 32768], default 0

  `space`

    Coordinate system to calculate voxels in

    Type: | enum in [‘OBJECT’, ‘WORLD’], default ‘OBJECT’

  classmethod `is_registered_node_type`()

    True if a registered node type

    Returns: | Result
    Return type: | boolean

  classmethod `input_template`(index)

    Input socket template

    Parameters: | index (int in [0, inf]) – Index
    Returns: | result
    Return type: | `NodeInternalSocketTemplate`

  classmethod `output_template`(index)

    Output socket template

    Parameters: | index (int in [0, inf]) – Index
    Returns: | result
    Return type: | `NodeInternalSocketTemplate`

  `calc_point_density`(scene=None, settings='RENDER')

    Calculate point density

    Parameters: | settings (enum in [‘VIEWPORT’, ‘RENDER’], (optional)) – Calculate density for rendering `VIEWPORT` Viewport, Canculate density using viewport settings. `RENDER` Render, Canculate duplis using render settings.
    Returns: | RGBA Values
    Return type: | float array of 1 items in [-inf, inf]

Inherited Properties

`bpy_struct.id_data` `Node.type` `Node.location` `Node.width` `Node.width_hidden` `Node.height` `Node.dimensions` `Node.name` `Node.label` `Node.inputs` `Node.outputs` `Node.internal_links` `Node.parent` `Node.use_custom_color` `Node.color` `Node.select` `Node.show_options` | `Node.show_preview` `Node.hide` `Node.mute` `Node.show_texture` `Node.shading_compatibility` `Node.bl_idname` `Node.bl_label` `Node.bl_description` `Node.bl_icon` `Node.bl_static_type` `Node.bl_width_default` `Node.bl_width_min` `Node.bl_width_max` `Node.bl_height_default` `Node.bl_height_min` `Node.bl_height_max`

Inherited Functions

`bpy_struct.as_pointer` `bpy_struct.driver_add` `bpy_struct.driver_remove` `bpy_struct.get` `bpy_struct.is_property_hidden` `bpy_struct.is_property_readonly` `bpy_struct.is_property_set` `bpy_struct.items` `bpy_struct.keyframe_delete` `bpy_struct.keyframe_insert` `bpy_struct.keys` `bpy_struct.path_from_id` `bpy_struct.path_resolve` `bpy_struct.property_unset` `bpy_struct.type_recast` `bpy_struct.values` `Node.socket_value_update` | `Node.is_registered_node_type` `Node.poll` `Node.poll_instance` `Node.update` `Node.init` `Node.copy` `Node.free` `Node.draw_buttons` `Node.draw_buttons_ext` `Node.draw_label` `Node.poll` `NodeInternal.poll` `NodeInternal.poll_instance` `NodeInternal.update` `NodeInternal.draw_buttons` `NodeInternal.draw_buttons_ext` `ShaderNode.poll`