coneneko.unit

render stateはdetachで値を修復しておく。 textureやshaderなど、他に影響を与えるものもdetachで修復しておく。 他に影響を与えないものは、修復しなくてもいい。

interface Unit;


abstract void attach();


abstract void detach();


interface TimeIterator;


abstract void opPostInc();
++

class UnitDecorator: coneneko.unit.Unit;


this(Unit base);


class ViewPort: coneneko.unit.Unit;
RenderTargetの扱いが難しくなるので、できるだけ使わないでください

int x;


int y;


int width;


int height;


this(int width, int height);


this(Vector size);


class RenderState: coneneko.unit.Unit;


bool cullFace;


uint cullFaceMode;
GL_FRONT GL_BACK GL_FRONT_AND_BACK

bool depthTest;


bool blend;


int blendSrc;


int blendDst;


RenderState clone();


bool emptyGlError();
invariant { assert(emptyGlError); }

void throwIfGlError(char[] file, long line);


class Clear: coneneko.unit.Unit;


this(Vector color = create(), uint mask = MASK_DEFAULT);


class MultMatrix: coneneko.unit.Unit;


this(Matrix matrix = (Matrix).identity);


void opAssign(Matrix a);
=

class EnableDisableBase(alias T): Unit;


this(uint cap);


alias Enable;


alias Disable;


class QuadricObj: coneneko.unit.Unit;


protected GLUquadric* handle;


Vector color;


GLenum drawStyle;
GLU_FILL GLU_LINE GLU_SILHOUETTE GLU_POINT

GLenum normals;
GLU_NONE GLU_FLAT GLU_SMOOTH

GLenum orientation;
GLU_OUTSIDE GLU_INSIDE

GLboolean textureCoords;
GL_TRUE GL_FALSE

this(Vector color);


void draw();


class Sphere: coneneko.unit.QuadricObj;


GLdouble radius;


GLint slices;


GLint stacks;


this(Vector color = (Color).WHITE, GLdouble radius = 10, GLint slices = 16, GLint stacks = 16);


class Cylinder: coneneko.unit.QuadricObj;


GLdouble baseRadius;


GLdouble topRadius;


GLdouble height;


GLint slices;


GLint stacks;


this(Vector color = (Color).WHITE, GLdouble baseRadius = 5, GLdouble topRadius = 4, GLdouble height = 10, GLint slices = 16, GLint stacks = 16);


class Disk: coneneko.unit.QuadricObj;


GLdouble innerRadius;


GLdouble outerRadius;


GLint slices;


GLint loops;


this(Vector color = (Color).WHITE, GLdouble innerRadius = 5, GLdouble outerRadius = 10, GLint slices = 16, GLint loops = 16);


class PartialDisk: coneneko.unit.Disk;


GLdouble startAngle;


GLdouble sweepAngle;


this(Vector color = (Color).WHITE, GLdouble innerRadius = 5, GLdouble outerRadius = 10, GLint slices = 16, GLint loops = 16, GLdouble startAngle = 0, GLdouble sweepAngle = 180);



Page generated by Ddoc.