haiku/src/apps/haiku3d/MeshInstance.h

45 lines
836 B
C++

/*
* Copyright 2009, Haiku Inc. All rights reserved.
* Distributed under the terms of the MIT License.
*
* Authors:
* Alexandre Deckner <alex@zappotek.com>
*/
#ifndef _MESH_INSTANCE_H
#define _MESH_INSTANCE_H
#include "Mesh.h"
#include "Texture.h"
#include "Vector3.h"
#include "Quaternion.h"
class MeshInstance {
public:
MeshInstance(Mesh* mesh, Texture* texture,
const Vector3& position, const Quaternion& orientation,
float animOffset);
~MeshInstance();
void Update(float dt);
void Render();
protected:
BReference<Mesh> fMeshReference;
BReference<Texture> fTextureReference;
Vector3 fPosition;
Quaternion fOrientation;
float fScale;
// TODO: manage the animation externally
float fTime;
float fAnimOffset;
bool fDoubleSided;
bool fDrawNormals;
};
#endif /* _MESH_INSTANCE_H */