Class SimpleBumpMapEffect

    • Field Detail

      • m_kLightDirection

        protected Vector3f m_kLightDirection
        The light direction vector for the bump map effect.
    • Constructor Detail

      • SimpleBumpMapEffect

        public SimpleBumpMapEffect()
        Streaming constructor
      • SimpleBumpMapEffect

        public SimpleBumpMapEffect​(java.lang.String acBaseName,
                                   java.lang.String acNormalName,
                                   Vector3f rkLightDirection)
        Creates a new BumpMapEffect.
        Parameters:
        acBaseName - the base texture name
        acNormalName - the normal map texture name
        rkLightDirection - the current light direction vector.
    • Method Detail

      • ComputeLightVectors

        public void ComputeLightVectors​(Triangles pkMesh)
        Computes the LightVectors for the Triangle mesh
        Parameters:
        pkMesh -
      • dispose

        public void dispose()
        Delete data members:
        Overrides:
        dispose in class ShaderEffect
      • GetDiskUsed

        public int GetDiskUsed​(StreamVersion rkVersion)
        Returns the size of this object and it's children on disk for the current StreamVersion parameter.
        Specified by:
        GetDiskUsed in interface StreamInterface
        Overrides:
        GetDiskUsed in class ShaderEffect
        Parameters:
        rkVersion - the current version of the Stream file being created.
        Returns:
        the size of this object on disk.
      • GetLightDirection

        public Vector3f GetLightDirection()
        Returns the light direction vector
        Returns:
        the light direction vector
      • Link

        public void Link​(Stream rkStream,
                         Stream.Link pkLink)
        Copies this objects children objects from the input Stream's HashTable, based on the LinkID of the child stored in the pkLink parameter.
        Specified by:
        Link in interface StreamInterface
        Overrides:
        Link in class ShaderEffect
        Parameters:
        rkStream - the Stream where the child objects are stored.
        pkLink - the Link class from which the child object IDs are read.
      • Load

        public void Load​(Stream rkStream,
                         Stream.Link pkLink)
        Loads this object from the input parameter rkStream, using the input Stream.Link to store the IDs of children objects of this object for linking after all objects are loaded from the Stream.
        Specified by:
        Load in interface StreamInterface
        Overrides:
        Load in class ShaderEffect
        Parameters:
        rkStream - the Stream from which this object is being read.
        pkLink - the Link class for storing the IDs of this object's children objects.
      • Register

        public boolean Register​(Stream rkStream)
        Registers this object with the input Stream parameter. All objects streamed to disk are registered with the Stream so that a unique list of objects is maintained.
        Specified by:
        Register in interface StreamInterface
        Overrides:
        Register in class ShaderEffect
        Parameters:
        rkStream - the Stream where the child objects are stored.
        Returns:
        true if this object is registered, false if the object has already been registered.
      • Save

        public void Save​(Stream rkStream)
        Write this object and all it's children to the Stream.
        Specified by:
        Save in interface StreamInterface
        Overrides:
        Save in class ShaderEffect
        Parameters:
        rkStream - the Stream where the child objects are stored.
      • SaveStrings

        public StringTree SaveStrings​(java.lang.String acTitle)
        Write this object into a StringTree for the scene-graph visualization.
        Specified by:
        SaveStrings in interface StreamInterface
        Overrides:
        SaveStrings in class ShaderEffect
        Parameters:
        acTitle - the header for this object in the StringTree.
        Returns:
        StringTree containing a String-based representation of this object and it's children.
      • SetLightDirection

        public void SetLightDirection​(Vector3f rkLightDirection)
        Sets the light direction
        Parameters:
        rkLightDirection - the light direction vector
      • ComputeTangent

        protected boolean ComputeTangent​(Vector3f rkPos0,
                                         Vector2f rkTCoord0,
                                         Vector3f rkPos1,
                                         Vector2f rkTCoord1,
                                         Vector3f rkPos2,
                                         Vector2f rkTCoord2,
                                         Vector3f rkTangent)
        Compute a tangent at the vertex P0. The triangle is counterclockwise ordered, .
        Parameters:
        rkPos0 - triangle Position 0
        rkTCoord0 - triangle Texture Coordinate 0
        rkPos1 - triangle Position 1
        rkTCoord1 - triangle Texture Coordinate 1
        rkPos2 - triangle Position 2
        rkTCoord2 - triangle Texture Coordinate 2
        rkTangent - the returned tangent vector
        Returns:
        true on sucess, false on failure.