2016-03-21 04:10:14 +00:00
|
|
|
#ifndef INCLUDED_IRENDER3D_H
|
|
|
|
#define INCLUDED_IRENDER3D_H
|
|
|
|
|
|
|
|
#include <cstdint>
|
|
|
|
|
|
|
|
/*
|
|
|
|
* IRender3D:
|
|
|
|
*
|
|
|
|
* Interface (abstract base class) for Real3D rendering engine.
|
|
|
|
*/
|
|
|
|
class IRender3D
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
virtual void RenderFrame(void) = 0;
|
|
|
|
virtual void BeginFrame(void) = 0;
|
|
|
|
virtual void EndFrame(void) = 0;
|
2017-03-25 00:06:24 +00:00
|
|
|
virtual void UploadTextures(unsigned level, unsigned x, unsigned y, unsigned width, unsigned height) = 0;
|
2016-03-21 04:10:14 +00:00
|
|
|
virtual void AttachMemory(const uint32_t *cullingRAMLoPtr, const uint32_t *cullingRAMHiPtr, const uint32_t *polyRAMPtr, const uint32_t *vromPtr, const uint16_t *textureRAMPtr) = 0;
|
2017-03-27 03:13:34 +00:00
|
|
|
virtual void SetStepping(int stepping) = 0;
|
2016-03-21 04:10:14 +00:00
|
|
|
virtual bool Init(unsigned xOffset, unsigned yOffset, unsigned xRes, unsigned yRes, unsigned totalXRes, unsigned totalYRes) = 0;
|
2017-09-02 14:54:16 +00:00
|
|
|
virtual void SetSunClamp(bool enable) = 0;
|
2016-03-21 04:10:14 +00:00
|
|
|
|
|
|
|
virtual ~IRender3D()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif // INCLUDED_IRENDER3D_H
|