Class SoConversion

    • Constructor Detail

      • SoConversion

        public SoConversion()
        SoConversion constructor.
    • Method Detail

      • convert

        public int convert​(SoBufferObject sourceBufferObject,
                           SbDataType src_type,
                           SoBufferObject targetBufferObject,
                           SbDataType dst_type,
                           long size)
        Convert the data in a buffer object from one data type to another one.

        Notes: The destination buffer and the source buffers can be same.

        Limitations: This function only supports FLOAT and UNSIGNED_BYTE for dst_type.

        Parameters:
        sourceBufferObject - The source buffer object.

        src_type - The type of the data in the source buffer object.

        targetBufferObject - The destination buffer object.

        dst_type - The destination type.

        size - The number of elements in the source buffer object to convert.

        Returns:
        Returns 0 if there were no errors during the process. Returns 1 if one or more buffers don't have the correct size.

      • convertFloatToRGBA

        public int convertFloatToRGBA​(SoBufferObject sourceBufferObject,
                                      SoBufferObject targetBufferObject,
                                      long size,
                                      float dataMin,
                                      float dataMax)
        Convert FLOAT data stored in a buffer to (grayscale) RGBA data.
        • The source and the target buffers can be the same.
        • The algorithm maps float values between dataMin and dataMax to the range 0..255.
        • The resulting values are clamped to 0..255.

        Parameters:
        sourceBufferObject - The source buffer object containing the FLOAT data.

        targetBufferObject - The target buffer object.

        size - The number of FLOAT values to convert.

        dataMin - The minimum value for the greyscale conversion.

        dataMax - The maximum value for the greyscale conversion.

        Returns:
        Returns 0 if there were no errors during the process. Returns 1 if one or more buffers don't have the correct size.

      • convert

        public int convert​(SoCpuBufferObject sourceBufferObject,
                           SbDataType src_type,
                           SoCpuBufferObject targetBufferObject,
                           SbDataType dst_type,
                           long size)
        Convert the data in a buffer object from one data type to another one.
        Fast implementation for CPU buffers.
      • convertFloatToRGBA

        public int convertFloatToRGBA​(SoCpuBufferObject sourceBufferObject,
                                      SoCpuBufferObject targetBufferObject,
                                      long size,
                                      float dataMin,
                                      float dataMax)
        Convert FLOAT data stored in a buffer to RGBA data. Fast implementation for CPU buffers.