Class NVPointSprite

java.lang.Object
org.lwjgl.opengl.NVPointSprite

public class NVPointSprite extends Object
Native bindings to the NV_point_sprite extension.

Applications such as particle systems usually must use OpenGL quads rather than points to render their geometry, since they would like to use a custom-drawn texture for each particle, rather than the traditional OpenGL round antialiased points, and each fragment in a point has the same texture coordinates as every other fragment.

Unfortunately, specifying the geometry for these quads can be quite expensive, since it quadruples the amount of geometry required, and it may also require the application to do extra processing to compute the location of each vertex.

The goal of this extension is to allow such apps to use points rather than quads. When POINT_SPRITE_NV is enabled, the state of point antialiasing is ignored. For each texture unit, the app can then specify whether to replace the existing texture coordinates with point sprite texture coordinates, which are interpolated across the point. Finally, the app can set a global parameter for the way to generate the R coordinate for point sprites; the R coordinate can either be zero, the input S coordinate, or the input R coordinate. This allows applications to use a 3D texture to represent a point sprite that goes through an animation, with filtering between frames, for example.

Requires EXT_point_parameters.

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    When the target parameter of TexEnvf, TexEnvfv, TexEnvi, TexEnviv, GetTexEnvfv, or GetTexEnviv is POINT_SPRITE_NV, then the value of pname may be.
    static final int
    Accepted by the cap parameter of Enable, Disable, and IsEnabled, by the pname parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev, and by the target parameter of TexEnvi, TexEnviv, TexEnvf, TexEnvfv, GetTexEnviv, and GetTexEnvfv.
    static final int
    Accepted by the pname parameter of PointParameteriNV, PointParameterfEXT, PointParameterivNV, PointParameterfvEXT, GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.
  • Method Summary

    Modifier and Type
    Method
    Description
    static void
    glPointParameteriNV(int pname, int param)
     
    static void
    glPointParameterivNV(int pname, int[] params)
    Array version of: PointParameterivNV
    static void
    glPointParameterivNV(int pname, IntBuffer params)
     
    static void
    nglPointParameterivNV(int pname, long params)
     

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • GL_POINT_SPRITE_NV

      public static final int GL_POINT_SPRITE_NV
      Accepted by the cap parameter of Enable, Disable, and IsEnabled, by the pname parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev, and by the target parameter of TexEnvi, TexEnviv, TexEnvf, TexEnvfv, GetTexEnviv, and GetTexEnvfv.
      See Also:
    • GL_COORD_REPLACE_NV

      public static final int GL_COORD_REPLACE_NV
      When the target parameter of TexEnvf, TexEnvfv, TexEnvi, TexEnviv, GetTexEnvfv, or GetTexEnviv is POINT_SPRITE_NV, then the value of pname may be.
      See Also:
    • GL_POINT_SPRITE_R_MODE_NV

      public static final int GL_POINT_SPRITE_R_MODE_NV
      Accepted by the pname parameter of PointParameteriNV, PointParameterfEXT, PointParameterivNV, PointParameterfvEXT, GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.
      See Also:
  • Method Details

    • glPointParameteriNV

      public static void glPointParameteriNV(int pname, int param)
    • nglPointParameterivNV

      public static void nglPointParameterivNV(int pname, long params)
    • glPointParameterivNV

      public static void glPointParameterivNV(int pname, IntBuffer params)
    • glPointParameterivNV

      public static void glPointParameterivNV(int pname, int[] params)
      Array version of: PointParameterivNV