speedtree dx9

This commit is contained in:
David Rose 2010-10-08 21:32:15 +00:00
parent 6f69411aac
commit 0596c3990d
5 changed files with 22 additions and 4 deletions

View File

@ -958,7 +958,7 @@
#defer SPEEDTREE_VERSION 5.1
#defer SPEEDTREE_LIB_SUFFIX _v$[SPEEDTREE_VERSION]_VC90MT_Static$[SPEEDTREE_DEBUG].lib
#if $[WINDOWS_PLATFORM]
#defer SPEEDTREE_LIBS SpeedTreeCore$[SPEEDTREE_LIB_SUFFIX] SpeedTreeForest$[SPEEDTREE_LIB_SUFFIX] SpeedTreeOpenGLRenderer$[SPEEDTREE_LIB_SUFFIX] SpeedTreeRenderInterface$[SPEEDTREE_LIB_SUFFIX] $[if $[eq $[SPEEDTREE_API],OpenGL],glew32.lib]
#defer SPEEDTREE_LIBS SpeedTreeCore$[SPEEDTREE_LIB_SUFFIX] SpeedTreeForest$[SPEEDTREE_LIB_SUFFIX] SpeedTree$[SPEEDTREE_API]Renderer$[SPEEDTREE_LIB_SUFFIX] SpeedTreeRenderInterface$[SPEEDTREE_LIB_SUFFIX] $[if $[eq $[SPEEDTREE_API],OpenGL],glew32.lib]
#else
#defer SPEEDTREE_LIBS
#endif

View File

@ -9,7 +9,7 @@
#begin lib_target
#define TARGET pandaspeedtree
#define LOCAL_LIBS \
display text pgraph gobj linmath putil
display text pgraph gobj linmath putil $[if $[eq $[SPEEDTREE_API],DirectX9],dxgsg9]
#define COMBINED_SOURCES $[TARGET]_composite1.cxx

View File

@ -20,7 +20,7 @@
#include "loaderFileTypeRegistry.h"
#include "dconfig.h"
Configure(config_speedtree);
ConfigureDef(config_speedtree);
NotifyCategoryDef(speedtree, "");
ConfigureFn(config_speedtree) {

View File

@ -36,6 +36,10 @@
#include "glew/glew.h"
#endif // SPEEDTREE_OPENGL
#ifdef SPEEDTREE_DIRECTX9
#include "dxGraphicsStateGuardian9.h"
#endif
bool SpeedTreeNode::_authorized;
bool SpeedTreeNode::_done_first_init;
TypeHandle SpeedTreeNode::_type_handle;
@ -1076,6 +1080,12 @@ setup_for_render(GraphicsStateGuardian *gsg) {
_done_first_init = true;
}
#ifdef SPEEDTREE_DIRECTX9
// In DirectX, we have to tell SpeedTree our device pointer.
DXGraphicsStateGuardian9 *dxgsg = DCAST(DXGraphicsStateGuardian9, gsg);
SpeedTree::DX9::SetDevice(dxgsg->_screen->_d3d_device);
#endif // SPEEDTREE_DIRECTX9
if (_needs_repopulate) {
repopulate();

View File

@ -21,7 +21,15 @@
#include "speedtree_parameters.h"
#include "Core/Core.h"
#include "Forest/Forest.h"
#if defined(SPEEDTREE_OPENGL)
#include "Renderers/OpenGL/OpenGLRenderer.h"
#elif defined(SPEEDTREE_DIRECTX9)
#undef Configure
#include "Renderers/DirectX9/DirectX9Renderer.h"
#else
#error Unexpected graphics API.
#endif
#endif // SPEEDTREE_API_H