- Imported animations now have the auto_play and loop flags set to false by default - Implemented Pre-Rotation, Post-Rotation, Scale Offset, Rotate Offset, Scale Pivot, and Rotate Pivot transform attributes. - Reduced use of euler angles, replacing them with Quaternions where possible - Fixed bug with incorrect Y rotation in KRMat4::rotate - Material / GL Context changes have been optimized to reduce redundant glUniform calls - New KRMesh format implemented, with support for importing BindPose matrices - Fixed bug that caused a duplicate "default_camera" node to be added rather than picking up an existing "default_camera" node imported from FBX. This enables animations to drive the camera correctly. - Implemented KRVector3::Scale - Implemented KRVector3::KRVector3(double *v);
35 lines
912 B
C++
35 lines
912 B
C++
//
|
|
// KRBone.h
|
|
// KREngine
|
|
//
|
|
// Created by Kearwood Gilbert on 2012-12-06.
|
|
// Copyright (c) 2012 Kearwood Software. All rights reserved.
|
|
//
|
|
|
|
#ifndef KRBONE_H
|
|
#define KRBONE_H
|
|
|
|
#include "KRResource.h"
|
|
#include "KRNode.h"
|
|
#include "KRTexture.h"
|
|
|
|
class KRBone : public KRNode {
|
|
public:
|
|
KRBone(KRScene &scene, std::string name);
|
|
virtual ~KRBone();
|
|
virtual std::string getElementName();
|
|
virtual tinyxml2::XMLElement *saveXML( tinyxml2::XMLNode *parent);
|
|
virtual void loadXML(tinyxml2::XMLElement *e);
|
|
virtual KRAABB getBounds();
|
|
|
|
void render(KRCamera *pCamera, std::vector<KRPointLight *> &point_lights, std::vector<KRDirectionalLight *> &directional_lights, std::vector<KRSpotLight *>&spot_lights, const KRViewport &viewport, KRNode::RenderPass renderPass);
|
|
|
|
void setBindPose(const KRMat4 &pose);
|
|
const KRMat4 &getBindPose();
|
|
private:
|
|
KRMat4 m_bind_pose;
|
|
};
|
|
|
|
|
|
#endif
|