Work on new graphics (tesselated AA hardware lines, single hardware array, VBO and programatic shader generation) (thank you Hugh)

This commit is contained in:
Joshua Granick
2014-02-05 07:46:31 -08:00
parent 36051e31c8
commit 0dcd4787c4
30 changed files with 1924 additions and 2039 deletions

View File

@@ -23,12 +23,13 @@ namespace lime {
virtual void Clear (uint32 inColour, const Rect *inRect = 0) = 0;
virtual class Texture *CreateTexture (class Surface *inSurface, unsigned int inFlags) = 0;
virtual void DestroyNativeTexture (void *inNativeTexture) = 0;
virtual void DestroyVbo (unsigned int inVbo) = 0;
virtual void EndBitmapRender () = 0;
virtual void EndRender () = 0;
virtual void Flip () = 0;
virtual int Height () const = 0;
virtual bool Hits (const RenderState &inState, const HardwareCalls &inCalls);
virtual void Render (const RenderState &inState, const HardwareCalls &inCalls) = 0;
virtual bool Hits (const RenderState &inState, const HardwareData &inData);
virtual void Render (const RenderState &inState, const HardwareData &inData) = 0;
virtual void RenderBitmap (const Rect &inSrc, int inX, int inY) = 0;
virtual void SetQuality (StageQuality inQuality) = 0;
virtual void SetViewport (const Rect &inRect) = 0;
@@ -41,4 +42,4 @@ namespace lime {
};
#endif
#endif

View File

@@ -21,7 +21,6 @@ namespace lime {
void Clear (uint32 inColour, const Rect *inRect = 0) { mHardware->Clear (inColour, inRect); }
void EndRender () { mHardware->EndRender (); }
PixelFormat Format () const { return pfHardware; }
AlphaMode GetAlphaMode () const { return mAlphaMode; }
const uint8 *GetBase () const { return 0; }
int GetStride () const { return 0; }
int Height () const { return mHardware->Height (); }
@@ -38,7 +37,6 @@ namespace lime {
private:
AlphaMode mAlphaMode;
HardwareContext *mHardware;
};

View File

@@ -19,7 +19,6 @@ namespace lime {
virtual void colorTransform (const Rect &inRect, ColorTransform &inTransform);
virtual void StretchTo (const RenderTarget &outTarget, const Rect &inSrcRect, const DRect &inDestRect) const;
virtual void setAlphaMode (AlphaMode am) { mAlphaMode = am; }
virtual void setGPUFormat (PixelFormat pf) { mGPUPixelFormat = pf; }
void applyFilter (Surface *inSrc, const Rect &inRect, ImagePoint inOffset, Filter *inFilter);
@@ -43,7 +42,6 @@ namespace lime {
void Zero ();
PixelFormat Format () const { return mPixelFormat; }
AlphaMode GetAlphaMode () const { return mAlphaMode; }
const uint8 *GetBase () const { return mBase; }
int GetStride () const { return mStride; }
int GPUFormat () const { return mGPUPixelFormat; }
@@ -54,7 +52,6 @@ namespace lime {
~SimpleSurface ();
AlphaMode mAlphaMode;
uint8 *mBase;
int mGPUPixelFormat;
int mHeight;

View File

@@ -7,6 +7,7 @@
#include <ByteArray.h>
#include "renderer/common/Texture.h"
#include "renderer/common/HardwareContext.h"
#include <Hardware.h>
namespace lime {
@@ -28,7 +29,6 @@ namespace lime {
virtual void Clear (uint32 inColour, const Rect *inRect = 0) = 0;
virtual void EndRender () = 0;
virtual PixelFormat Format () const = 0;
virtual AlphaMode GetAlphaMode () const = 0;
virtual const uint8 *GetBase () const = 0;
virtual int GetStride () const = 0;
virtual int Height () const = 0;
@@ -49,7 +49,6 @@ namespace lime {
virtual int GPUFormat () const { return Format (); }
virtual void multiplyAlpha () {}
virtual void noise (unsigned int randomSeed, unsigned int low, unsigned int high, int channelOptions, bool grayScale) {}
virtual void setAlphaMode (AlphaMode am) {}
virtual void SetAllowTrans (bool inAllowTrans) { mAllowTrans = inAllowTrans; }
virtual void SetFlags (unsigned int inFlags) { mFlags = inFlags; }
virtual void setGPUFormat (PixelFormat pf) {}