/usr/include/libwildmagic/Wm5OpenGLRendererData.h is in libwildmagic-dev 5.13-1+b2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 | // Geometric Tools, LLC
// Copyright (c) 1998-2014
// Distributed under the Boost Software License, Version 1.0.
// http://www.boost.org/LICENSE_1_0.txt
// http://www.geometrictools.com/License/Boost/LICENSE_1_0.txt
//
// File Version: 5.0.1 (2010/04/14)
#ifndef WM5OPENGLRENDERERDATA_H
#define WM5OPENGLRENDERERDATA_H
#include "Wm5Float4.h"
#include "Wm5OpenGLBitmapFont.h"
#include "Wm5OpenGLRendererLIB.h"
namespace Wm5
{
class AlphaState;
class CullState;
class DepthState;
class OffsetState;
class StencilState;
class WireState;
class RendererData
{
public:
#ifdef WM5_USE_TEXT_DISPLAY_LIST
// Display list base indices for fonts/characters.
class DisplayListInfo
{
public:
int mQuantity; // number of display lists, input to glGenLists
int mStart; // start index, output from glGenLists
int mBase; // base index for glListBase
};
DisplayListInfo mFont;
#else
// Bitmapped fonts/characters.
void DrawCharacter (const BitmapFont& font, char c);
#endif
// Maintain current render states to avoid redundant state changes.
class RenderState
{
public:
RenderState ();
void Initialize (const AlphaState* astate,
const CullState* cstate, const DepthState* dstate,
const OffsetState* ostate, const StencilState* sstate,
const WireState* wstate);
// AlphaState
bool mAlphaBlendEnabled;
GLenum mAlphaSrcBlend;
GLenum mAlphaDstBlend;
bool mAlphaCompareEnabled;
GLenum mCompareFunction;
float mAlphaReference;
Float4 mBlendColor;
// CullState
bool mCullEnabled;
bool mCCWOrder;
// DepthState
bool mDepthEnabled;
bool mDepthWriteEnabled;
GLenum mDepthCompareFunction;
// OffsetState
bool mFillEnabled;
bool mLineEnabled;
bool mPointEnabled;
float mOffsetScale;
float mOffsetBias;
// StencilState
bool mStencilEnabled;
GLenum mStencilCompareFunction;
GLuint mStencilReference;
GLuint mStencilMask;
GLuint mStencilWriteMask;
GLenum mStencilOnFail;
GLenum mStencilOnZFail;
GLenum mStencilOnZPass;
// WireState
bool mWireEnabled;
};
RenderState mCurrentRS;
// Maintain current sampler states to avoid redundant state changes.
enum
{
MAX_NUM_VSAMPLERS = 4, // VSModel 3 has 4, VSModel 2 has 0.
MAX_NUM_PSAMPLERS = 16 // PSModel 2 and PSModel 3 have 16.
};
class SamplerState
{
public:
SamplerState ();
// Get the state of the currently enabled texture. This state appears
// to be associated with the OpenGL texture object. How does this
// relate to the sampler state? In my opinion, OpenGL needs to have
// the sampler state separate from the texture object state.
void GetCurrent (GLenum target);
float mAnisotropy;
float mLodBias;
GLint mMagFilter;
GLint mMinFilter;
Float4 mBorderColor;
GLint mWrap[3];
};
SamplerState mCurrentSS[MAX_NUM_PSAMPLERS];
// Capabilities (queried at run time).
int mMaxVShaderImages;
int mMaxPShaderImages;
int mMaxCombinedImages;
};
}
#endif
|