mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2025-12-11 18:48:26 +00:00
added option to automatically write the raw obj file Added scene colors to the obj use proper scene colors from hf
34 lines
1.0 KiB
C
34 lines
1.0 KiB
C
#ifndef NICOLOR_H
|
|
#define NICOLOR_H
|
|
|
|
struct NiColor {
|
|
float m_Red;
|
|
float m_Green;
|
|
float m_Blue;
|
|
|
|
NiColor(float red, float green, float blue) : m_Red(red), m_Green(green), m_Blue(blue) {}
|
|
NiColor() : NiColor(0.0f, 0.0f, 0.0f) {}
|
|
|
|
/* reduce RGB files to grayscale, with or without alpha
|
|
* using the equation given in Poynton's ColorFAQ at
|
|
* <http://www.inforamp.net/~poynton/> // dead link
|
|
* Copyright (c) 1998-01-04 Charles Poynton poynton at inforamp.net
|
|
*
|
|
* Y = 0.212671 * R + 0.715160 * G + 0.072169 * B
|
|
*
|
|
* We approximate this with
|
|
*
|
|
* Y = 0.21268 * R + 0.7151 * G + 0.07217 * B
|
|
*
|
|
* which can be expressed with integers as
|
|
*
|
|
* Y = (6969 * R + 23434 * G + 2365 * B)/32768
|
|
*
|
|
* The calculation is to be done in a linear colorspace.
|
|
*
|
|
* Other integer coefficents can be used via png_set_rgb_to_gray().
|
|
*/
|
|
float ToXYZ() const { return (m_Red * 0.212671f) + (m_Green * 0.71516f) + (m_Blue * 0.072169f); };
|
|
};
|
|
|
|
#endif // NICOLOR_H
|