summaryrefslogtreecommitdiff
path: root/common/tr.h
diff options
context:
space:
mode:
Diffstat (limited to 'common/tr.h')
-rw-r--r--common/tr.h75
1 files changed, 75 insertions, 0 deletions
diff --git a/common/tr.h b/common/tr.h
new file mode 100644
index 0000000..024adaf
--- /dev/null
+++ b/common/tr.h
@@ -0,0 +1,75 @@
+// TR.h: interface for the TiledRender class.
+//
+//////////////////////////////////////////////////////////////////////
+
+#ifndef _TR_H_
+#define _TR_H_
+
+typedef enum {
+ TR_TILE_WIDTH = 100,
+ TR_TILE_HEIGHT,
+ TR_TILE_BORDER,
+ TR_IMAGE_WIDTH,
+ TR_IMAGE_HEIGHT,
+ TR_ROWS,
+ TR_COLUMNS,
+ TR_CURRENT_ROW,
+ TR_CURRENT_COLUMN,
+ TR_CURRENT_TILE_WIDTH,
+ TR_CURRENT_TILE_HEIGHT,
+ TR_ROW_ORDER,
+ TR_TOP_TO_BOTTOM,
+ TR_BOTTOM_TO_TOP
+} TRenum;
+
+class TiledRender
+{
+public:
+ TiledRender();
+ virtual ~TiledRender();
+
+ void TileSize(int width, int height, int border);
+ void TileBuffer(TRenum format, TRenum type, void *image);
+ void ImageSize(int width, int height);
+ void ImageBuffer(TRenum format, TRenum type, void *image);
+ void RowOrder(TRenum order);
+ void Ortho(double left, double right, double bottom, double top, double zNear, double zFar);
+ void Frustum(double left, double right, double bottom, double top, double zNear, double zFar);
+ void Perspective(double fovy, double aspect, double zNear, double zFar );
+ void RasterPos3f(float x, float y, float z);
+ int Get(TRenum param);
+ int EndTile();
+ void BeginTile();
+
+ // Final image parameters
+ int m_ImageWidth, m_ImageHeight;
+ TRenum m_ImageFormat, m_ImageType;
+ void *m_ImageBuffer;
+
+ // Tile parameters
+ int m_TileWidth, m_TileHeight;
+ int m_TileWidthNB, m_TileHeightNB;
+ int m_TileBorder;
+ TRenum m_TileFormat, m_TileType;
+ void *m_TileBuffer;
+
+ // Projection parameters
+ bool m_Perspective;
+ double m_Left;
+ double m_Right;
+ double m_Bottom;
+ double m_Top;
+ double m_Near;
+ double m_Far;
+
+ // Misc
+ TRenum m_RowOrder;
+ int m_Rows, m_Columns;
+ int m_CurrentTile;
+ int m_CurrentTileWidth, m_CurrentTileHeight;
+ int m_CurrentRow, m_CurrentColumn;
+
+ int m_ViewportSave[4];
+};
+
+#endif // _TR_H_