0001: // ----------------------------------------------------------------------------
0002: //
0003: // noise.h - ノイズテクスチャの生成
0004: // 
0005: // Copyright (c) 2002 今給黎 隆 (imagire@nify.com)
0006: // All Rights Reserved.
0007: //
0008: // ----------------------------------------------------------------------------
0009: #ifndef _NOISE_H_
0010: #define _NOISE_H_
0011: 
0012: #include <GL/gl.h>
0013: 
0014: class CNoise {
0015: private:
0016:     int     m_size[3];  // 高さ、幅、奥行き
0017:     float   *m_pBuf;    // ノイズの種になる乱数
0018:     
0019:     float noise3D(int x, int y, int z);
0020: 
0021: public:
0022:     CNoise();
0023:     ~CNoise();
0024: 
0025:     // テクスチャを生成する
0026:     // w, h, d は、高さ、幅、奥行き。2のべき乗じゃなきゃだめ
0027:     // scale : ノイズの間隔(1.0<)
0028:     // amp   : 輝度(<1.0)
0029:     GLuint CreateNoiseTexture3D(int w, int h, int d, float scale, float amp);
0030: };
0031: 
0032: #endif // !_NOISE_H_
0033: