diff options
author | Kahrl <kahrl@gmx.net> | 2014-11-02 03:47:43 +0100 |
---|---|---|
committer | Kahrl <kahrl@gmx.net> | 2014-11-08 23:11:57 +0100 |
commit | 9b551d5cbcaf71a8c39bbf7e886290649aed4799 (patch) | |
tree | 8eb68e4c9a7a006ec6c406da4760403c6748848e /src/clientobject.h | |
parent | cc8d7b86404f2830bcf09d04468e8041db276b98 (diff) | |
download | minetest-9b551d5cbcaf71a8c39bbf7e886290649aed4799.tar.gz minetest-9b551d5cbcaf71a8c39bbf7e886290649aed4799.tar.bz2 minetest-9b551d5cbcaf71a8c39bbf7e886290649aed4799.zip |
Implement WieldMeshSceneNode which improves wield mesh rendering
- Don't create and cache an extruded mesh for every (non-node) item.
Instead use a single one per image resolution.
- For cubic nodes reuse a single wield mesh too
- Improve lighting of the wielded item
- Increase far value of wield mesh scene camera, fixes #1770
- Also includes some minor refactorings of Camera and GenericCAO.
Diffstat (limited to 'src/clientobject.h')
-rw-r--r-- | src/clientobject.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/clientobject.h b/src/clientobject.h index cae551abc..24150628e 100644 --- a/src/clientobject.h +++ b/src/clientobject.h @@ -41,6 +41,7 @@ class ITextureSource; class IGameDef; class LocalPlayer; struct ItemStack; +class WieldMeshSceneNode; class ClientActiveObject : public ActiveObject { @@ -58,8 +59,10 @@ public: virtual bool getCollisionBox(aabb3f *toset){return false;} virtual bool collideWithObjects(){return false;} virtual v3f getPosition(){return v3f(0,0,0);} + virtual scene::ISceneNode *getSceneNode(){return NULL;} virtual scene::IMeshSceneNode *getMeshSceneNode(){return NULL;} virtual scene::IAnimatedMeshSceneNode *getAnimatedMeshSceneNode(){return NULL;} + virtual WieldMeshSceneNode *getWieldMeshSceneNode(){return NULL;} virtual scene::IBillboardSceneNode *getSpriteSceneNode(){return NULL;} virtual bool isPlayer() const {return false;} virtual bool isLocalPlayer() const {return false;} |