Harmonic Flow Blog
Harmonic Flow Framework v0-4-0
What's new in version 0.4.0:
- Added new Vector3 class with some basic functionality.
- Ability to set preferred projection matrix (Ortho or Perspective).
- Added new Camera class with some basic functionality.
- Added new convenient methods to draw primitives (Point, Lines, Ellipse, Circle and Triangle).
- Renamed TriStrip class to Geometry and added some more functionality to it.
- Added new method to draw Geometry called drawGeometry which can be rendered using rendertypes (POINTS, LINES, LINE_STRIP, TRIANGLES, TRIANGLE_FAN and TRIANGLE_STRIP) to keep it all flexible.
- Added support in 'config.xml' for Multisample. Check out 'demos/demo1-minimal/data/config.xml' for an example. The following new options are available: EnableMultiSample (0 = Disabled, 1 = Enabled) and MultiSampleSamples (2 = 2 samples, 4 = 4 samples).
- Added new methods in 'Image.h' (getPow2Width and getPow2Height).
- Renamed rotateDeg to rotateZDeg in 'Graphics.h'.
- Renamed rotateRad to rotateZRad in 'Graphics.h'.
- Started documenting some classes so that Doxygen can be used for generating docs later.
New methods in Graphics.h:
// New methods: virtual void setOrthoProjectionLH(fp32_hf left, fp32_hf right, fp32_hf bottom, fp32_hf top, fp32_hf zNear, fp32_hf zFar) = 0; virtual void setPerspectiveProjectionLH(fp32_hf fovyDeg, fp32_hf aspect, fp32_hf zNear, fp32_hf zFar) = 0; virtual void setLookAtLH(const Vector3 &eye, const Vector3 &lookAt, const Vector3 &upDirection) = 0; virtual void setVertexCenterPixelPerfect(bool enable) = 0; virtual bool isVertexCenterPixelPerfect() = 0; virtual void drawPoint(fp32_hf x, fp32_hf y) = 0; virtual void drawPoint(const Vector2 &v0) = 0; virtual void drawEllipse(fp32_hf cx, fp32_hf cy, fp32_hf radiusw, fp32_hf radiush, int32_hf numSegments) = 0; virtual void drawEllipse(const Vector2 &v0, fp32_hf radiusw, fp32_hf radiush, int32_hf numSegments) = 0; virtual void fillEllipse(fp32_hf cx, fp32_hf cy, fp32_hf radiusw, fp32_hf radiush, int32_hf numSegments) = 0; virtual void fillEllipse(const Vector2 &v0, fp32_hf radiusw, fp32_hf radiush, int32_hf numSegments) = 0; virtual void drawCircle(fp32_hf cx, fp32_hf cy, fp32_hf radius, int32_hf numSegments) = 0; virtual void drawCircle(const Vector2 &v0, fp32_hf radius, int32_hf numSegments) = 0; virtual void fillCircle(fp32_hf cx, fp32_hf cy, fp32_hf radius, int32_hf numSegments) = 0; virtual void fillCircle(const Vector2 &v0, fp32_hf radius, int32_hf numSegments) = 0; virtual void drawLine(fp32_hf x0, fp32_hf y0, fp32_hf x1, fp32_hf y1) = 0; virtual void drawLine(const Vector2 &v0, const Vector2 &v1) = 0; virtual void drawTriangle(fp32_hf x0, fp32_hf y0, fp32_hf x1, fp32_hf y1, fp32_hf x2, fp32_hf y2) = 0; virtual void drawTriangle(const Vector2 &v0, const Vector2 &v1, const Vector2 &v2) = 0; virtual void fillTriangle(fp32_hf x0, fp32_hf y0, fp32_hf x1, fp32_hf y1, fp32_hf x2, fp32_hf y2) = 0; virtual void fillTriangle(const Vector2 &v0, const Vector2 &v1, const Vector2 &v2) = 0; virtual void drawPointBatch(fp32_hf x, fp32_hf y, Color color, DrawMode drawMode = DRAWMODE_NORMAL) = 0; virtual void drawPointBatch(const Vector2 &v0, Color color, DrawMode drawMode = DRAWMODE_NORMAL) = 0; virtual void drawLineBatch(fp32_hf x0, fp32_hf y0, fp32_hf x1, fp32_hf y1, Color color, DrawMode drawMode = DRAWMODE_NORMAL) = 0; virtual void drawLineBatch(const Vector2 &v0, const Vector2 &v1, Color color, DrawMode drawMode = DRAWMODE_NORMAL) = 0; virtual void drawTriangleBatch(fp32_hf x0, fp32_hf y0, fp32_hf x1, fp32_hf y1, fp32_hf x2, fp32_hf y2, Color color, DrawMode drawMode = DRAWMODE_NORMAL) = 0; virtual void drawTriangleBatch(const Vector2 &v0, const Vector2 &v1, const Vector2 &v2, Color color, DrawMode drawMode = DRAWMODE_NORMAL) = 0; virtual void fillTriangleBatch(fp32_hf x0, fp32_hf y0, fp32_hf x1, fp32_hf y1, fp32_hf x2, fp32_hf y2, Color color, DrawMode drawMode = DRAWMODE_NORMAL) = 0; virtual void fillTriangleBatch(const Vector2 &v0, const Vector2 &v1, const Vector2 &v2, Color color, DrawMode drawMode = DRAWMODE_NORMAL) = 0; virtual void drawGeometry(Geometry *geometry, uint32_hf startIndex, uint32_hf vertexCount, RenderType renderType) = 0; virtual void setCreateNewBatchPrimitiveQueue(bool create, PrimitiveType type) = 0;
Download the latest version here. Submit any bugs or thoughts here.
Posted on Sat, 4 Jul 2015
Tags:
harmonic-flow-framework, harmonic-flow-news, libhffwk
Comment On This Entry
Submit a comment on this entry.