class_docstr: Raw Point Collection
  
  This collection provides very fast points. Output quality is ugly so it
  must be used at small size only (2/3 pixels). You've been warned.
docstr: Initialize the collection.
  
  Parameters
  ----------
  user_dtype: list
      The base dtype can be completed (appended) by the used_dtype. It
      only make sense if user also provide vertex and/or fragment shaders
  
  transform : Transform instance
      Used to define the transform(vec4) function
  
  vertex: string
      Vertex shader code
  
  fragment: string
      Fragment  shader code
  
  color : string
      'local', 'shared' or 'global'
code: def __init__(
      self,
      user_dtype=None,
      transform=None,
      vertex=None,
      fragment=None,
      **kwargs,
  ):
      """
      Initialize the collection.
  
      Parameters
      ----------
      user_dtype: list
          The base dtype can be completed (appended) by the used_dtype. It
          only make sense if user also provide vertex and/or fragment shaders
  
      transform : Transform instance
          Used to define the transform(vec4) function
  
      vertex: string
          Vertex shader code
  
      fragment: string
          Fragment  shader code
  
      color : string
          'local', 'shared' or 'global'
      """
      base_dtype = [
          ("position", (np.float32, 3), "!local", (0, 0, 0)),
          ("size", (np.float32, 1), "global", 3.0),
          ("color", (np.float32, 4), "global", (0, 0, 0, 1)),
      ]
  
      dtype = base_dtype
      if user_dtype:
          dtype.extend(user_dtype)
  
      if vertex is None:
          vertex = glsl.get("collections/raw-point.vert")
      if transform is None:
          transform = NullTransform()
      self.transform = transform
      if fragment is None:
          fragment = glsl.get("collections/raw-point.frag")
  
      Collection.__init__(
          self,
          dtype=dtype,
          itype=None,
          mode="points",
          vertex=vertex,
          fragment=fragment,
          **kwargs,
      )
  
      # Set hooks if necessary
      program = self._programs[0]
      program.vert["transform"] = self.transform
  
file_path: vispy/vispy/visuals/collections/raw_point_collection.py
imports: from __future__ import division
  import numpy
  from ...None import glsl
  from .collection import Collection
  from ..transforms import NullTransform
label_desc: Use image node_id 1 to create a new RawPointCollection object from inherited base classes: Collection with example: obj = RawPointCollection(user_dtype, transform, vertex, fragment)