101 lines
1.4 KiB
C++
101 lines
1.4 KiB
C++
/*
|
|
ZTessellator.h
|
|
Author: Patrick Baggett <ptbaggett@762studios.com>
|
|
|
|
Purpose: Header for tessellator interface. (currently requires GLU)
|
|
|
|
Changelog
|
|
2011/09/18 - creation (ptbaggett)
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#ifndef _ZTESSELLATOR_HPP
|
|
#define _ZTESSELLATOR_HPP
|
|
|
|
#include <ZRendererUtil/ZOutlineEvaluator.hpp>
|
|
|
|
//Types of tessellations we can handle
|
|
enum ZTesselatorPolyType
|
|
{
|
|
ZTPT_POLY_TRIANGLES,
|
|
ZTPT_POLY_TRIFAN,
|
|
ZTPT_POLY_TRISTRIP
|
|
};
|
|
|
|
class ZTessellator
|
|
{
|
|
protected:
|
|
//Protected Constructor
|
|
ZTessellator() { }
|
|
|
|
public:
|
|
//Virtual Destructor
|
|
virtual ~ZTessellator() { }
|
|
|
|
/*
|
|
virtual public ZTessellator::BeginPoly
|
|
|
|
TODO
|
|
|
|
@param type -
|
|
@return (void)
|
|
@context (all)
|
|
*/
|
|
virtual void BeginPoly(ZTesselatorPolyType type) = 0;
|
|
|
|
/*
|
|
virtual public ZTessellator::BeginTessellate
|
|
|
|
TODO
|
|
|
|
@return (void)
|
|
@context (all)
|
|
*/
|
|
virtual void BeginTessellate() = 0;
|
|
|
|
/*
|
|
virtual public ZTessellator::EndPoly
|
|
|
|
TODO
|
|
|
|
@return (void)
|
|
@context (all)
|
|
*/
|
|
virtual void EndPoly() = 0;
|
|
|
|
/*
|
|
virtual public ZTessellator::EndTessellate
|
|
|
|
TODO
|
|
|
|
@return (void)
|
|
@context (all)
|
|
*/
|
|
virtual void EndTessellate() = 0;
|
|
|
|
/*
|
|
virtual public ZTessellator::Tessellate
|
|
|
|
TODO
|
|
|
|
@return (void)
|
|
@context (all)
|
|
*/
|
|
virtual void Tesselate() = 0;
|
|
|
|
/*
|
|
virtual public ZTessellator::Vertex
|
|
|
|
TODO
|
|
|
|
@param p -
|
|
@return (void)
|
|
@context (all)
|
|
*/
|
|
virtual void Vertex(SST_Vec2f* p) = 0;
|
|
};
|
|
|
|
#endif
|
|
|