Files
libsst/Include/ZRendererUtil/ZTessellator.hpp
2026-04-03 00:22:39 -05:00

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