mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-18 20:53:50 -04:00
create pgraphnodes directory; move some things there from pgraph
This commit is contained in:
parent
4684bf10c9
commit
075710bced
@ -9,7 +9,7 @@
|
|||||||
#define USE_PACKAGES net
|
#define USE_PACKAGES net
|
||||||
|
|
||||||
#define COMPONENT_LIBS \
|
#define COMPONENT_LIBS \
|
||||||
recorder pgraph pipeline \
|
recorder pgraph pgraphnodes pipeline \
|
||||||
pvrpn grutil chan pstatclient \
|
pvrpn grutil chan pstatclient \
|
||||||
char chat collide cull device \
|
char chat collide cull device \
|
||||||
dgraph display event gobj graph gsgbase \
|
dgraph display event gobj graph gsgbase \
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#begin lib_target
|
#begin lib_target
|
||||||
#define TARGET display
|
#define TARGET display
|
||||||
#define LOCAL_LIBS \
|
#define LOCAL_LIBS \
|
||||||
pgraph cull putil gsgbase gobj linmath mathutil \
|
pgraph pgraphnodes cull putil gsgbase gobj linmath mathutil \
|
||||||
pstatclient
|
pstatclient
|
||||||
|
|
||||||
#define COMBINED_SOURCES $[TARGET]_composite1.cxx $[TARGET]_composite2.cxx
|
#define COMBINED_SOURCES $[TARGET]_composite1.cxx $[TARGET]_composite2.cxx
|
||||||
|
@ -318,6 +318,9 @@
|
|||||||
#define EXPCL_PANDA_PGRAPH EXPCL_PANDA
|
#define EXPCL_PANDA_PGRAPH EXPCL_PANDA
|
||||||
#define EXPTP_PANDA_PGRAPH EXPTP_PANDA
|
#define EXPTP_PANDA_PGRAPH EXPTP_PANDA
|
||||||
|
|
||||||
|
#define EXPCL_PANDA_PGRAPHNODES EXPCL_PANDA
|
||||||
|
#define EXPTP_PANDA_PGRAPHNODES EXPTP_PANDA
|
||||||
|
|
||||||
#define EXPCL_PANDA_RECORDER EXPCL_PANDA
|
#define EXPCL_PANDA_RECORDER EXPCL_PANDA
|
||||||
#define EXPTP_PANDA_RECORDER EXPTP_PANDA
|
#define EXPTP_PANDA_RECORDER EXPTP_PANDA
|
||||||
|
|
||||||
|
@ -15,7 +15,6 @@
|
|||||||
#define SOURCES \
|
#define SOURCES \
|
||||||
accumulatedAttribs.I accumulatedAttribs.h \
|
accumulatedAttribs.I accumulatedAttribs.h \
|
||||||
alphaTestAttrib.I alphaTestAttrib.h \
|
alphaTestAttrib.I alphaTestAttrib.h \
|
||||||
ambientLight.I ambientLight.h \
|
|
||||||
antialiasAttrib.I antialiasAttrib.h \
|
antialiasAttrib.I antialiasAttrib.h \
|
||||||
attribNodeRegistry.I attribNodeRegistry.h \
|
attribNodeRegistry.I attribNodeRegistry.h \
|
||||||
attribSlots.h attribSlots.I \
|
attribSlots.h attribSlots.I \
|
||||||
@ -48,10 +47,10 @@
|
|||||||
depthOffsetAttrib.I depthOffsetAttrib.h \
|
depthOffsetAttrib.I depthOffsetAttrib.h \
|
||||||
depthTestAttrib.I depthTestAttrib.h \
|
depthTestAttrib.I depthTestAttrib.h \
|
||||||
depthWriteAttrib.I depthWriteAttrib.h \
|
depthWriteAttrib.I depthWriteAttrib.h \
|
||||||
directionalLight.I directionalLight.h \
|
|
||||||
drawMaskAttrib.I drawMaskAttrib.h \
|
drawMaskAttrib.I drawMaskAttrib.h \
|
||||||
eventStorePandaNode.I eventStorePandaNode.h \
|
eventStorePandaNode.I eventStorePandaNode.h \
|
||||||
fadeLodNode.I fadeLodNode.h fadeLodNodeData.h \
|
fadeLodNode.I fadeLodNode.h \
|
||||||
|
fadeLodNodeData.h \
|
||||||
findApproxLevelEntry.I findApproxLevelEntry.h \
|
findApproxLevelEntry.I findApproxLevelEntry.h \
|
||||||
findApproxPath.I findApproxPath.h \
|
findApproxPath.I findApproxPath.h \
|
||||||
fog.I fog.h \
|
fog.I fog.h \
|
||||||
@ -63,8 +62,6 @@
|
|||||||
light.I light.h \
|
light.I light.h \
|
||||||
lightAttrib.I lightAttrib.h \
|
lightAttrib.I lightAttrib.h \
|
||||||
lightRampAttrib.I lightRampAttrib.h \
|
lightRampAttrib.I lightRampAttrib.h \
|
||||||
lightLensNode.I lightLensNode.h \
|
|
||||||
lightNode.I lightNode.h \
|
|
||||||
loader.I loader.h \
|
loader.I loader.h \
|
||||||
loaderFileType.h \
|
loaderFileType.h \
|
||||||
loaderFileTypeBam.h \
|
loaderFileTypeBam.h \
|
||||||
@ -85,9 +82,8 @@
|
|||||||
pandaNode.I pandaNode.h \
|
pandaNode.I pandaNode.h \
|
||||||
pandaNodeChain.I pandaNodeChain.h \
|
pandaNodeChain.I pandaNodeChain.h \
|
||||||
planeNode.I planeNode.h \
|
planeNode.I planeNode.h \
|
||||||
pointLight.I pointLight.h \
|
|
||||||
polylightNode.I polylightNode.h \
|
|
||||||
polylightEffect.I polylightEffect.h \
|
polylightEffect.I polylightEffect.h \
|
||||||
|
polylightNode.I polylightNode.h \
|
||||||
portalNode.I portalNode.h \
|
portalNode.I portalNode.h \
|
||||||
portalClipper.I portalClipper.h \
|
portalClipper.I portalClipper.h \
|
||||||
renderAttrib.I renderAttrib.h \
|
renderAttrib.I renderAttrib.h \
|
||||||
@ -101,18 +97,14 @@
|
|||||||
sceneSetup.I sceneSetup.h \
|
sceneSetup.I sceneSetup.h \
|
||||||
scissorAttrib.I scissorAttrib.h \
|
scissorAttrib.I scissorAttrib.h \
|
||||||
scissorEffect.I scissorEffect.h \
|
scissorEffect.I scissorEffect.h \
|
||||||
selectiveChildNode.I selectiveChildNode.h \
|
|
||||||
sequenceNode.I sequenceNode.h \
|
|
||||||
shadeModelAttrib.I shadeModelAttrib.h \
|
shadeModelAttrib.I shadeModelAttrib.h \
|
||||||
shaderAttrib.I shaderAttrib.h \
|
shaderAttrib.I shaderAttrib.h \
|
||||||
shaderGenerator.I shaderGenerator.h \
|
shaderGeneratorBase.I shaderGeneratorBase.h \
|
||||||
shaderInput.I shaderInput.h \
|
shaderInput.I shaderInput.h \
|
||||||
shaderPool.I shaderPool.h \
|
shaderPool.I shaderPool.h \
|
||||||
showBoundsEffect.I showBoundsEffect.h \
|
showBoundsEffect.I showBoundsEffect.h \
|
||||||
spotlight.I spotlight.h \
|
|
||||||
stateMunger.I stateMunger.h \
|
stateMunger.I stateMunger.h \
|
||||||
stencilAttrib.I stencilAttrib.h \
|
stencilAttrib.I stencilAttrib.h \
|
||||||
switchNode.I switchNode.h \
|
|
||||||
texMatrixAttrib.I texMatrixAttrib.h \
|
texMatrixAttrib.I texMatrixAttrib.h \
|
||||||
texProjectorEffect.I texProjectorEffect.h \
|
texProjectorEffect.I texProjectorEffect.h \
|
||||||
textureAttrib.I textureAttrib.h \
|
textureAttrib.I textureAttrib.h \
|
||||||
@ -130,7 +122,6 @@
|
|||||||
#define INCLUDED_SOURCES \
|
#define INCLUDED_SOURCES \
|
||||||
accumulatedAttribs.cxx \
|
accumulatedAttribs.cxx \
|
||||||
alphaTestAttrib.cxx \
|
alphaTestAttrib.cxx \
|
||||||
ambientLight.cxx \
|
|
||||||
antialiasAttrib.cxx \
|
antialiasAttrib.cxx \
|
||||||
attribNodeRegistry.cxx \
|
attribNodeRegistry.cxx \
|
||||||
attribSlots.cxx \
|
attribSlots.cxx \
|
||||||
@ -161,10 +152,10 @@
|
|||||||
depthOffsetAttrib.cxx \
|
depthOffsetAttrib.cxx \
|
||||||
depthTestAttrib.cxx \
|
depthTestAttrib.cxx \
|
||||||
depthWriteAttrib.cxx \
|
depthWriteAttrib.cxx \
|
||||||
directionalLight.cxx \
|
|
||||||
drawMaskAttrib.cxx \
|
drawMaskAttrib.cxx \
|
||||||
eventStorePandaNode.cxx \
|
eventStorePandaNode.cxx \
|
||||||
fadeLodNode.cxx fadeLodNodeData.cxx \
|
fadeLodNode.cxx \
|
||||||
|
fadeLodNodeData.cxx \
|
||||||
findApproxLevelEntry.cxx \
|
findApproxLevelEntry.cxx \
|
||||||
findApproxPath.cxx \
|
findApproxPath.cxx \
|
||||||
fog.cxx \
|
fog.cxx \
|
||||||
@ -176,8 +167,6 @@
|
|||||||
light.cxx \
|
light.cxx \
|
||||||
lightAttrib.cxx \
|
lightAttrib.cxx \
|
||||||
lightRampAttrib.cxx \
|
lightRampAttrib.cxx \
|
||||||
lightLensNode.cxx \
|
|
||||||
lightNode.cxx \
|
|
||||||
loader.cxx \
|
loader.cxx \
|
||||||
loaderFileType.cxx \
|
loaderFileType.cxx \
|
||||||
loaderFileTypeBam.cxx \
|
loaderFileTypeBam.cxx \
|
||||||
@ -197,9 +186,8 @@
|
|||||||
pandaNode.cxx \
|
pandaNode.cxx \
|
||||||
pandaNodeChain.cxx \
|
pandaNodeChain.cxx \
|
||||||
planeNode.cxx \
|
planeNode.cxx \
|
||||||
pointLight.cxx \
|
|
||||||
polylightNode.cxx \
|
|
||||||
polylightEffect.cxx \
|
polylightEffect.cxx \
|
||||||
|
polylightNode.cxx \
|
||||||
portalNode.cxx \
|
portalNode.cxx \
|
||||||
portalClipper.cxx \
|
portalClipper.cxx \
|
||||||
renderAttrib.cxx \
|
renderAttrib.cxx \
|
||||||
@ -213,18 +201,14 @@
|
|||||||
sceneSetup.cxx \
|
sceneSetup.cxx \
|
||||||
scissorAttrib.cxx \
|
scissorAttrib.cxx \
|
||||||
scissorEffect.cxx \
|
scissorEffect.cxx \
|
||||||
selectiveChildNode.cxx \
|
|
||||||
sequenceNode.cxx \
|
|
||||||
shadeModelAttrib.cxx \
|
shadeModelAttrib.cxx \
|
||||||
shaderAttrib.cxx \
|
shaderAttrib.cxx \
|
||||||
shaderGenerator.cxx \
|
shaderGeneratorBase.cxx \
|
||||||
shaderInput.cxx \
|
shaderInput.cxx \
|
||||||
shaderPool.cxx \
|
shaderPool.cxx \
|
||||||
showBoundsEffect.cxx \
|
showBoundsEffect.cxx \
|
||||||
spotlight.cxx \
|
|
||||||
stateMunger.cxx \
|
stateMunger.cxx \
|
||||||
stencilAttrib.cxx \
|
stencilAttrib.cxx \
|
||||||
switchNode.cxx \
|
|
||||||
texMatrixAttrib.cxx \
|
texMatrixAttrib.cxx \
|
||||||
texProjectorEffect.cxx \
|
texProjectorEffect.cxx \
|
||||||
textureAttrib.cxx \
|
textureAttrib.cxx \
|
||||||
@ -239,7 +223,6 @@
|
|||||||
#define INSTALL_HEADERS \
|
#define INSTALL_HEADERS \
|
||||||
accumulatedAttribs.I accumulatedAttribs.h \
|
accumulatedAttribs.I accumulatedAttribs.h \
|
||||||
alphaTestAttrib.I alphaTestAttrib.h \
|
alphaTestAttrib.I alphaTestAttrib.h \
|
||||||
ambientLight.I ambientLight.h \
|
|
||||||
antialiasAttrib.I antialiasAttrib.h \
|
antialiasAttrib.I antialiasAttrib.h \
|
||||||
attribNodeRegistry.I attribNodeRegistry.h \
|
attribNodeRegistry.I attribNodeRegistry.h \
|
||||||
attribSlots.h attribSlots.I \
|
attribSlots.h attribSlots.I \
|
||||||
@ -272,10 +255,10 @@
|
|||||||
depthOffsetAttrib.I depthOffsetAttrib.h \
|
depthOffsetAttrib.I depthOffsetAttrib.h \
|
||||||
depthTestAttrib.I depthTestAttrib.h \
|
depthTestAttrib.I depthTestAttrib.h \
|
||||||
depthWriteAttrib.I depthWriteAttrib.h \
|
depthWriteAttrib.I depthWriteAttrib.h \
|
||||||
directionalLight.I directionalLight.h \
|
|
||||||
drawMaskAttrib.I drawMaskAttrib.h \
|
drawMaskAttrib.I drawMaskAttrib.h \
|
||||||
eventStorePandaNode.I eventStorePandaNode.h \
|
eventStorePandaNode.I eventStorePandaNode.h \
|
||||||
fadeLodNode.I fadeLodNode.h fadeLodNodeData.h \
|
fadeLodNode.I fadeLodNode.h \
|
||||||
|
fadeLodNodeData.h \
|
||||||
fog.I fog.h \
|
fog.I fog.h \
|
||||||
fogAttrib.I fogAttrib.h \
|
fogAttrib.I fogAttrib.h \
|
||||||
geomNode.I geomNode.h \
|
geomNode.I geomNode.h \
|
||||||
@ -285,8 +268,6 @@
|
|||||||
light.I light.h \
|
light.I light.h \
|
||||||
lightAttrib.I lightAttrib.h \
|
lightAttrib.I lightAttrib.h \
|
||||||
lightRampAttrib.I lightRampAttrib.h \
|
lightRampAttrib.I lightRampAttrib.h \
|
||||||
lightLensNode.I lightLensNode.h \
|
|
||||||
lightNode.I lightNode.h \
|
|
||||||
loader.I loader.h \
|
loader.I loader.h \
|
||||||
loaderFileType.h \
|
loaderFileType.h \
|
||||||
loaderFileTypeBam.h \
|
loaderFileTypeBam.h \
|
||||||
@ -307,9 +288,8 @@
|
|||||||
pandaNode.I pandaNode.h \
|
pandaNode.I pandaNode.h \
|
||||||
pandaNodeChain.I pandaNodeChain.h \
|
pandaNodeChain.I pandaNodeChain.h \
|
||||||
planeNode.I planeNode.h \
|
planeNode.I planeNode.h \
|
||||||
pointLight.I pointLight.h \
|
|
||||||
polylightNode.I polylightNode.h \
|
|
||||||
polylightEffect.I polylightEffect.h \
|
polylightEffect.I polylightEffect.h \
|
||||||
|
polylightNode.I polylightNode.h \
|
||||||
portalNode.I portalNode.h \
|
portalNode.I portalNode.h \
|
||||||
portalClipper.I portalClipper.h \
|
portalClipper.I portalClipper.h \
|
||||||
renderAttrib.I renderAttrib.h \
|
renderAttrib.I renderAttrib.h \
|
||||||
@ -323,18 +303,14 @@
|
|||||||
sceneSetup.I sceneSetup.h \
|
sceneSetup.I sceneSetup.h \
|
||||||
scissorAttrib.I scissorAttrib.h \
|
scissorAttrib.I scissorAttrib.h \
|
||||||
scissorEffect.I scissorEffect.h \
|
scissorEffect.I scissorEffect.h \
|
||||||
selectiveChildNode.I selectiveChildNode.h \
|
|
||||||
sequenceNode.I sequenceNode.h \
|
|
||||||
shadeModelAttrib.I shadeModelAttrib.h \
|
shadeModelAttrib.I shadeModelAttrib.h \
|
||||||
shaderAttrib.I shaderAttrib.h \
|
shaderAttrib.I shaderAttrib.h \
|
||||||
shaderGenerator.I shaderGenerator.h \
|
shaderGeneratorBase.I shaderGeneratorBase.h \
|
||||||
shaderInput.I shaderInput.h \
|
shaderInput.I shaderInput.h \
|
||||||
shaderPool.I shaderPool.h \
|
shaderPool.I shaderPool.h \
|
||||||
showBoundsEffect.I showBoundsEffect.h \
|
showBoundsEffect.I showBoundsEffect.h \
|
||||||
spotlight.I spotlight.h \
|
|
||||||
stateMunger.I stateMunger.h \
|
stateMunger.I stateMunger.h \
|
||||||
stencilAttrib.I stencilAttrib.h \
|
stencilAttrib.I stencilAttrib.h \
|
||||||
switchNode.I switchNode.h \
|
|
||||||
texMatrixAttrib.I texMatrixAttrib.h \
|
texMatrixAttrib.I texMatrixAttrib.h \
|
||||||
texProjectorEffect.I texProjectorEffect.h \
|
texProjectorEffect.I texProjectorEffect.h \
|
||||||
textureAttrib.I textureAttrib.h \
|
textureAttrib.I textureAttrib.h \
|
||||||
|
@ -17,7 +17,6 @@
|
|||||||
#include "alphaTestAttrib.h"
|
#include "alphaTestAttrib.h"
|
||||||
#include "audioVolumeAttrib.h"
|
#include "audioVolumeAttrib.h"
|
||||||
#include "auxBitplaneAttrib.h"
|
#include "auxBitplaneAttrib.h"
|
||||||
#include "ambientLight.h"
|
|
||||||
#include "antialiasAttrib.h"
|
#include "antialiasAttrib.h"
|
||||||
#include "auxSceneData.h"
|
#include "auxSceneData.h"
|
||||||
#include "billboardEffect.h"
|
#include "billboardEffect.h"
|
||||||
@ -37,12 +36,11 @@
|
|||||||
#include "depthOffsetAttrib.h"
|
#include "depthOffsetAttrib.h"
|
||||||
#include "depthTestAttrib.h"
|
#include "depthTestAttrib.h"
|
||||||
#include "depthWriteAttrib.h"
|
#include "depthWriteAttrib.h"
|
||||||
#include "directionalLight.h"
|
|
||||||
#include "drawMaskAttrib.h"
|
#include "drawMaskAttrib.h"
|
||||||
#include "eventStorePandaNode.h"
|
#include "eventStorePandaNode.h"
|
||||||
|
#include "findApproxLevelEntry.h"
|
||||||
#include "fadeLodNode.h"
|
#include "fadeLodNode.h"
|
||||||
#include "fadeLodNodeData.h"
|
#include "fadeLodNodeData.h"
|
||||||
#include "findApproxLevelEntry.h"
|
|
||||||
#include "fog.h"
|
#include "fog.h"
|
||||||
#include "fogAttrib.h"
|
#include "fogAttrib.h"
|
||||||
#include "geomNode.h"
|
#include "geomNode.h"
|
||||||
@ -51,8 +49,6 @@
|
|||||||
#include "light.h"
|
#include "light.h"
|
||||||
#include "lightAttrib.h"
|
#include "lightAttrib.h"
|
||||||
#include "lightRampAttrib.h"
|
#include "lightRampAttrib.h"
|
||||||
#include "lightLensNode.h"
|
|
||||||
#include "lightNode.h"
|
|
||||||
#include "loader.h"
|
#include "loader.h"
|
||||||
#include "loaderFileType.h"
|
#include "loaderFileType.h"
|
||||||
#include "loaderFileTypeBam.h"
|
#include "loaderFileTypeBam.h"
|
||||||
@ -67,9 +63,8 @@
|
|||||||
#include "nodePathComponent.h"
|
#include "nodePathComponent.h"
|
||||||
#include "pandaNode.h"
|
#include "pandaNode.h"
|
||||||
#include "planeNode.h"
|
#include "planeNode.h"
|
||||||
#include "pointLight.h"
|
|
||||||
#include "polylightNode.h"
|
|
||||||
#include "polylightEffect.h"
|
#include "polylightEffect.h"
|
||||||
|
#include "polylightNode.h"
|
||||||
#include "portalNode.h"
|
#include "portalNode.h"
|
||||||
#include "portalClipper.h"
|
#include "portalClipper.h"
|
||||||
#include "renderAttrib.h"
|
#include "renderAttrib.h"
|
||||||
@ -78,8 +73,6 @@
|
|||||||
#include "renderModeAttrib.h"
|
#include "renderModeAttrib.h"
|
||||||
#include "renderState.h"
|
#include "renderState.h"
|
||||||
#include "rescaleNormalAttrib.h"
|
#include "rescaleNormalAttrib.h"
|
||||||
#include "selectiveChildNode.h"
|
|
||||||
#include "sequenceNode.h"
|
|
||||||
#include "scissorAttrib.h"
|
#include "scissorAttrib.h"
|
||||||
#include "scissorEffect.h"
|
#include "scissorEffect.h"
|
||||||
#include "shadeModelAttrib.h"
|
#include "shadeModelAttrib.h"
|
||||||
@ -88,9 +81,7 @@
|
|||||||
#include "shader.h"
|
#include "shader.h"
|
||||||
#include "showBoundsEffect.h"
|
#include "showBoundsEffect.h"
|
||||||
#include "stencilAttrib.h"
|
#include "stencilAttrib.h"
|
||||||
#include "spotlight.h"
|
|
||||||
#include "stateMunger.h"
|
#include "stateMunger.h"
|
||||||
#include "switchNode.h"
|
|
||||||
#include "texMatrixAttrib.h"
|
#include "texMatrixAttrib.h"
|
||||||
#include "texProjectorEffect.h"
|
#include "texProjectorEffect.h"
|
||||||
#include "textureAttrib.h"
|
#include "textureAttrib.h"
|
||||||
@ -98,7 +89,7 @@
|
|||||||
#include "transformState.h"
|
#include "transformState.h"
|
||||||
#include "transparencyAttrib.h"
|
#include "transparencyAttrib.h"
|
||||||
#include "nodePathLerps.h"
|
#include "nodePathLerps.h"
|
||||||
#include "shaderGenerator.h"
|
#include "shaderGeneratorBase.h"
|
||||||
|
|
||||||
#include "dconfig.h"
|
#include "dconfig.h"
|
||||||
|
|
||||||
@ -379,7 +370,6 @@ init_libpgraph() {
|
|||||||
initialized = true;
|
initialized = true;
|
||||||
|
|
||||||
AlphaTestAttrib::init_type();
|
AlphaTestAttrib::init_type();
|
||||||
AmbientLight::init_type();
|
|
||||||
AntialiasAttrib::init_type();
|
AntialiasAttrib::init_type();
|
||||||
AudioVolumeAttrib::init_type();
|
AudioVolumeAttrib::init_type();
|
||||||
AuxBitplaneAttrib::init_type();
|
AuxBitplaneAttrib::init_type();
|
||||||
@ -401,7 +391,6 @@ init_libpgraph() {
|
|||||||
DepthOffsetAttrib::init_type();
|
DepthOffsetAttrib::init_type();
|
||||||
DepthTestAttrib::init_type();
|
DepthTestAttrib::init_type();
|
||||||
DepthWriteAttrib::init_type();
|
DepthWriteAttrib::init_type();
|
||||||
DirectionalLight::init_type();
|
|
||||||
DrawMaskAttrib::init_type();
|
DrawMaskAttrib::init_type();
|
||||||
EventStorePandaNode::init_type();
|
EventStorePandaNode::init_type();
|
||||||
FadeLODNode::init_type();
|
FadeLODNode::init_type();
|
||||||
@ -415,8 +404,6 @@ init_libpgraph() {
|
|||||||
Light::init_type();
|
Light::init_type();
|
||||||
LightAttrib::init_type();
|
LightAttrib::init_type();
|
||||||
LightRampAttrib::init_type();
|
LightRampAttrib::init_type();
|
||||||
LightLensNode::init_type();
|
|
||||||
LightNode::init_type();
|
|
||||||
Loader::init_type();
|
Loader::init_type();
|
||||||
LODNode::init_type();
|
LODNode::init_type();
|
||||||
LoaderFileType::init_type();
|
LoaderFileType::init_type();
|
||||||
@ -431,7 +418,6 @@ init_libpgraph() {
|
|||||||
PandaNode::init_type();
|
PandaNode::init_type();
|
||||||
PandaNodePipelineReader::init_type();
|
PandaNodePipelineReader::init_type();
|
||||||
PlaneNode::init_type();
|
PlaneNode::init_type();
|
||||||
PointLight::init_type();
|
|
||||||
PolylightNode::init_type();
|
PolylightNode::init_type();
|
||||||
PolylightEffect::init_type();
|
PolylightEffect::init_type();
|
||||||
PortalNode::init_type();
|
PortalNode::init_type();
|
||||||
@ -442,19 +428,15 @@ init_libpgraph() {
|
|||||||
RenderModeAttrib::init_type();
|
RenderModeAttrib::init_type();
|
||||||
RenderState::init_type();
|
RenderState::init_type();
|
||||||
RescaleNormalAttrib::init_type();
|
RescaleNormalAttrib::init_type();
|
||||||
SelectiveChildNode::init_type();
|
|
||||||
SequenceNode::init_type();
|
|
||||||
ScissorAttrib::init_type();
|
ScissorAttrib::init_type();
|
||||||
ScissorEffect::init_type();
|
ScissorEffect::init_type();
|
||||||
ShadeModelAttrib::init_type();
|
ShadeModelAttrib::init_type();
|
||||||
ShaderInput::init_type();
|
ShaderInput::init_type();
|
||||||
ShaderAttrib::init_type();
|
ShaderAttrib::init_type();
|
||||||
ShaderGenerator::init_type();
|
ShaderGeneratorBase::init_type();
|
||||||
ShowBoundsEffect::init_type();
|
ShowBoundsEffect::init_type();
|
||||||
Spotlight::init_type();
|
|
||||||
StateMunger::init_type();
|
StateMunger::init_type();
|
||||||
StencilAttrib::init_type();
|
StencilAttrib::init_type();
|
||||||
SwitchNode::init_type();
|
|
||||||
TexMatrixAttrib::init_type();
|
TexMatrixAttrib::init_type();
|
||||||
TexProjectorEffect::init_type();
|
TexProjectorEffect::init_type();
|
||||||
TextureAttrib::init_type();
|
TextureAttrib::init_type();
|
||||||
@ -471,7 +453,6 @@ init_libpgraph() {
|
|||||||
ColorScaleLerpFunctor::init_type();
|
ColorScaleLerpFunctor::init_type();
|
||||||
|
|
||||||
AlphaTestAttrib::register_with_read_factory();
|
AlphaTestAttrib::register_with_read_factory();
|
||||||
AmbientLight::register_with_read_factory();
|
|
||||||
AntialiasAttrib::register_with_read_factory();
|
AntialiasAttrib::register_with_read_factory();
|
||||||
AudioVolumeAttrib::register_with_read_factory();
|
AudioVolumeAttrib::register_with_read_factory();
|
||||||
AuxBitplaneAttrib::register_with_read_factory();
|
AuxBitplaneAttrib::register_with_read_factory();
|
||||||
@ -489,7 +470,6 @@ init_libpgraph() {
|
|||||||
DepthOffsetAttrib::register_with_read_factory();
|
DepthOffsetAttrib::register_with_read_factory();
|
||||||
DepthTestAttrib::register_with_read_factory();
|
DepthTestAttrib::register_with_read_factory();
|
||||||
DepthWriteAttrib::register_with_read_factory();
|
DepthWriteAttrib::register_with_read_factory();
|
||||||
DirectionalLight::register_with_read_factory();
|
|
||||||
DrawMaskAttrib::register_with_read_factory();
|
DrawMaskAttrib::register_with_read_factory();
|
||||||
FadeLODNode::register_with_read_factory();
|
FadeLODNode::register_with_read_factory();
|
||||||
Fog::register_with_read_factory();
|
Fog::register_with_read_factory();
|
||||||
@ -504,14 +484,12 @@ init_libpgraph() {
|
|||||||
ModelRoot::register_with_read_factory();
|
ModelRoot::register_with_read_factory();
|
||||||
PandaNode::register_with_read_factory();
|
PandaNode::register_with_read_factory();
|
||||||
PlaneNode::register_with_read_factory();
|
PlaneNode::register_with_read_factory();
|
||||||
PointLight::register_with_read_factory();
|
|
||||||
PolylightNode::register_with_read_factory();
|
PolylightNode::register_with_read_factory();
|
||||||
PortalNode::register_with_read_factory();
|
PortalNode::register_with_read_factory();
|
||||||
RenderEffects::register_with_read_factory();
|
RenderEffects::register_with_read_factory();
|
||||||
RenderModeAttrib::register_with_read_factory();
|
RenderModeAttrib::register_with_read_factory();
|
||||||
RenderState::register_with_read_factory();
|
RenderState::register_with_read_factory();
|
||||||
RescaleNormalAttrib::register_with_read_factory();
|
RescaleNormalAttrib::register_with_read_factory();
|
||||||
SequenceNode::register_with_read_factory();
|
|
||||||
ScissorAttrib::register_with_read_factory();
|
ScissorAttrib::register_with_read_factory();
|
||||||
ScissorEffect::register_with_read_factory();
|
ScissorEffect::register_with_read_factory();
|
||||||
ShadeModelAttrib::register_with_read_factory();
|
ShadeModelAttrib::register_with_read_factory();
|
||||||
@ -519,8 +497,6 @@ init_libpgraph() {
|
|||||||
ShaderAttrib::register_with_read_factory();
|
ShaderAttrib::register_with_read_factory();
|
||||||
Shader::register_with_read_factory();
|
Shader::register_with_read_factory();
|
||||||
ShowBoundsEffect::register_with_read_factory();
|
ShowBoundsEffect::register_with_read_factory();
|
||||||
Spotlight::register_with_read_factory();
|
|
||||||
SwitchNode::register_with_read_factory();
|
|
||||||
TexMatrixAttrib::register_with_read_factory();
|
TexMatrixAttrib::register_with_read_factory();
|
||||||
TexProjectorEffect::register_with_read_factory();
|
TexProjectorEffect::register_with_read_factory();
|
||||||
TextureAttrib::register_with_read_factory();
|
TextureAttrib::register_with_read_factory();
|
||||||
|
@ -13,11 +13,8 @@
|
|||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#include "cullableObject.h"
|
#include "cullableObject.h"
|
||||||
#include "ambientLight.h"
|
|
||||||
#include "lightAttrib.h"
|
#include "lightAttrib.h"
|
||||||
#include "nodePath.h"
|
#include "nodePath.h"
|
||||||
#include "material.h"
|
|
||||||
#include "materialAttrib.h"
|
|
||||||
#include "texGenAttrib.h"
|
#include "texGenAttrib.h"
|
||||||
#include "renderState.h"
|
#include "renderState.h"
|
||||||
#include "clockObject.h"
|
#include "clockObject.h"
|
||||||
@ -701,20 +698,10 @@ get_flash_cpu_state() {
|
|||||||
// and never free it.
|
// and never free it.
|
||||||
static CPT(RenderState) flash_cpu_state = (const RenderState *)NULL;
|
static CPT(RenderState) flash_cpu_state = (const RenderState *)NULL;
|
||||||
if (flash_cpu_state == (const RenderState *)NULL) {
|
if (flash_cpu_state == (const RenderState *)NULL) {
|
||||||
PT(AmbientLight) ambient_light = new AmbientLight("alight");
|
|
||||||
ambient_light->set_color(Colorf(1.0f, 1.0f, 1.0f, 1.0f));
|
|
||||||
NodePath alight(ambient_light);
|
|
||||||
|
|
||||||
CPT(LightAttrib) light_attrib = DCAST(LightAttrib, LightAttrib::make_all_off());
|
|
||||||
light_attrib = DCAST(LightAttrib, light_attrib->add_on_light(alight));
|
|
||||||
|
|
||||||
PT(Material) material = new Material;
|
|
||||||
material->set_ambient(flash_cpu_color);
|
|
||||||
material->set_diffuse(flash_cpu_color);
|
|
||||||
|
|
||||||
flash_cpu_state = RenderState::make
|
flash_cpu_state = RenderState::make
|
||||||
(light_attrib,
|
(LightAttrib::make_all_off(),
|
||||||
MaterialAttrib::make(material));
|
TextureAttrib::make_off(),
|
||||||
|
ColorAttrib::make_flat(flash_cpu_color));
|
||||||
}
|
}
|
||||||
|
|
||||||
return flash_cpu_state;
|
return flash_cpu_state;
|
||||||
@ -735,20 +722,10 @@ get_flash_hardware_state() {
|
|||||||
// and never free it.
|
// and never free it.
|
||||||
static CPT(RenderState) flash_hardware_state = (const RenderState *)NULL;
|
static CPT(RenderState) flash_hardware_state = (const RenderState *)NULL;
|
||||||
if (flash_hardware_state == (const RenderState *)NULL) {
|
if (flash_hardware_state == (const RenderState *)NULL) {
|
||||||
PT(AmbientLight) ambient_light = new AmbientLight("alight");
|
|
||||||
ambient_light->set_color(Colorf(1.0f, 1.0f, 1.0f, 1.0f));
|
|
||||||
NodePath alight(ambient_light);
|
|
||||||
|
|
||||||
CPT(LightAttrib) light_attrib = DCAST(LightAttrib, LightAttrib::make_all_off());
|
|
||||||
light_attrib = DCAST(LightAttrib, light_attrib->add_on_light(alight));
|
|
||||||
|
|
||||||
PT(Material) material = new Material;
|
|
||||||
material->set_ambient(flash_hardware_color);
|
|
||||||
material->set_diffuse(flash_hardware_color);
|
|
||||||
|
|
||||||
flash_hardware_state = RenderState::make
|
flash_hardware_state = RenderState::make
|
||||||
(light_attrib,
|
(LightAttrib::make_all_off(),
|
||||||
MaterialAttrib::make(material));
|
TextureAttrib::make_off(),
|
||||||
|
ColorAttrib::make_flat(flash_hardware_color));
|
||||||
}
|
}
|
||||||
|
|
||||||
return flash_hardware_state;
|
return flash_hardware_state;
|
||||||
|
@ -65,6 +65,17 @@ Light::
|
|||||||
~Light() {
|
~Light() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: Light::is_ambient_light
|
||||||
|
// Access: Published, Virtual
|
||||||
|
// Description: Returns true if this is an AmbientLight, false if it
|
||||||
|
// is some other kind of light.
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
bool Light::
|
||||||
|
is_ambient_light() const {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: Light::get_vector_to_light
|
// Function: Light::get_vector_to_light
|
||||||
// Access: Public, Virtual
|
// Access: Public, Virtual
|
||||||
|
@ -50,6 +50,7 @@ PUBLISHED:
|
|||||||
virtual ~Light();
|
virtual ~Light();
|
||||||
|
|
||||||
virtual PandaNode *as_node()=0;
|
virtual PandaNode *as_node()=0;
|
||||||
|
virtual bool is_ambient_light() const;
|
||||||
|
|
||||||
INLINE const Colorf &get_color() const;
|
INLINE const Colorf &get_color() const;
|
||||||
INLINE void set_color(const Colorf &color);
|
INLINE void set_color(const Colorf &color);
|
||||||
|
@ -14,7 +14,6 @@
|
|||||||
|
|
||||||
#include "lightAttrib.h"
|
#include "lightAttrib.h"
|
||||||
#include "attribSlots.h"
|
#include "attribSlots.h"
|
||||||
#include "ambientLight.h"
|
|
||||||
#include "pandaNode.h"
|
#include "pandaNode.h"
|
||||||
#include "nodePath.h"
|
#include "nodePath.h"
|
||||||
#include "graphicsStateGuardianBase.h"
|
#include "graphicsStateGuardianBase.h"
|
||||||
@ -506,7 +505,7 @@ filter_to_max(int max_lights) const {
|
|||||||
for (li = _on_lights.begin(); li != _on_lights.end(); ++li) {
|
for (li = _on_lights.begin(); li != _on_lights.end(); ++li) {
|
||||||
const NodePath &np = (*li);
|
const NodePath &np = (*li);
|
||||||
nassertr(!np.is_empty() && np.node()->as_light() != (Light *)NULL, this);
|
nassertr(!np.is_empty() && np.node()->as_light() != (Light *)NULL, this);
|
||||||
if (np.node()->is_exact_type(AmbientLight::get_class_type())) {
|
if (np.node()->is_ambient_light()) {
|
||||||
ambient_lights.push_back(np);
|
ambient_lights.push_back(np);
|
||||||
} else {
|
} else {
|
||||||
priority_lights.push_back(np);
|
priority_lights.push_back(np);
|
||||||
@ -562,7 +561,7 @@ get_most_important_light() const {
|
|||||||
for (li = _on_lights.begin(); li != _on_lights.end(); ++li) {
|
for (li = _on_lights.begin(); li != _on_lights.end(); ++li) {
|
||||||
const NodePath &np = (*li);
|
const NodePath &np = (*li);
|
||||||
nassertr(!np.is_empty() && np.node()->as_light() != (Light *)NULL, NodePath());
|
nassertr(!np.is_empty() && np.node()->as_light() != (Light *)NULL, NodePath());
|
||||||
if (!np.node()->is_exact_type(AmbientLight::get_class_type())) {
|
if (!np.node()->is_ambient_light()) {
|
||||||
if (best.is_empty() || compare(np, best)) {
|
if (best.is_empty() || compare(np, best)) {
|
||||||
best = np;
|
best = np;
|
||||||
}
|
}
|
||||||
|
@ -2464,6 +2464,17 @@ as_light() {
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: PandaNode::is_ambient_light
|
||||||
|
// Access: Published, Virtual
|
||||||
|
// Description: Returns true if this is an AmbientLight, false if it
|
||||||
|
// is not a light, or it is some other kind of light.
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
bool PandaNode::
|
||||||
|
is_ambient_light() const {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: PandaNode::get_internal_bounds
|
// Function: PandaNode::get_internal_bounds
|
||||||
// Access: Protected
|
// Access: Protected
|
||||||
|
@ -280,6 +280,7 @@ PUBLISHED:
|
|||||||
virtual bool is_geom_node() const;
|
virtual bool is_geom_node() const;
|
||||||
virtual bool is_lod_node() const;
|
virtual bool is_lod_node() const;
|
||||||
virtual Light *as_light();
|
virtual Light *as_light();
|
||||||
|
virtual bool is_ambient_light() const;
|
||||||
|
|
||||||
enum FancyBits {
|
enum FancyBits {
|
||||||
FB_transform = 0x0001,
|
FB_transform = 0x0001,
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
#include "accumulatedAttribs.cxx"
|
#include "accumulatedAttribs.cxx"
|
||||||
#include "ambientLight.cxx"
|
|
||||||
#include "antialiasAttrib.cxx"
|
#include "antialiasAttrib.cxx"
|
||||||
#include "attribNodeRegistry.cxx"
|
#include "attribNodeRegistry.cxx"
|
||||||
#include "audioVolumeAttrib.cxx"
|
#include "audioVolumeAttrib.cxx"
|
||||||
|
@ -13,7 +13,6 @@
|
|||||||
#include "depthTestAttrib.cxx"
|
#include "depthTestAttrib.cxx"
|
||||||
#include "depthWriteAttrib.cxx"
|
#include "depthWriteAttrib.cxx"
|
||||||
#include "alphaTestAttrib.cxx"
|
#include "alphaTestAttrib.cxx"
|
||||||
#include "directionalLight.cxx"
|
|
||||||
#include "drawMaskAttrib.cxx"
|
#include "drawMaskAttrib.cxx"
|
||||||
#include "eventStorePandaNode.cxx"
|
#include "eventStorePandaNode.cxx"
|
||||||
#include "fadeLodNode.cxx"
|
#include "fadeLodNode.cxx"
|
||||||
|
@ -3,8 +3,6 @@
|
|||||||
#include "light.cxx"
|
#include "light.cxx"
|
||||||
#include "lightAttrib.cxx"
|
#include "lightAttrib.cxx"
|
||||||
#include "lightRampAttrib.cxx"
|
#include "lightRampAttrib.cxx"
|
||||||
#include "lightLensNode.cxx"
|
|
||||||
#include "lightNode.cxx"
|
|
||||||
#include "loader.cxx"
|
#include "loader.cxx"
|
||||||
#include "loaderFileType.cxx"
|
#include "loaderFileType.cxx"
|
||||||
#include "loaderFileTypeBam.cxx"
|
#include "loaderFileTypeBam.cxx"
|
||||||
@ -24,8 +22,7 @@
|
|||||||
#include "pandaNode.cxx"
|
#include "pandaNode.cxx"
|
||||||
#include "pandaNodeChain.cxx"
|
#include "pandaNodeChain.cxx"
|
||||||
#include "planeNode.cxx"
|
#include "planeNode.cxx"
|
||||||
#include "pointLight.cxx"
|
|
||||||
#include "polylightNode.cxx"
|
|
||||||
#include "polylightEffect.cxx"
|
#include "polylightEffect.cxx"
|
||||||
|
#include "polylightNode.cxx"
|
||||||
#include "portalNode.cxx"
|
#include "portalNode.cxx"
|
||||||
#include "portalClipper.cxx"
|
#include "portalClipper.cxx"
|
||||||
|
@ -6,20 +6,16 @@
|
|||||||
#include "rescaleNormalAttrib.cxx"
|
#include "rescaleNormalAttrib.cxx"
|
||||||
#include "sceneGraphAnalyzer.cxx"
|
#include "sceneGraphAnalyzer.cxx"
|
||||||
#include "sceneGraphReducer.cxx"
|
#include "sceneGraphReducer.cxx"
|
||||||
#include "selectiveChildNode.cxx"
|
|
||||||
#include "sequenceNode.cxx"
|
|
||||||
#include "scissorAttrib.cxx"
|
#include "scissorAttrib.cxx"
|
||||||
#include "scissorEffect.cxx"
|
#include "scissorEffect.cxx"
|
||||||
#include "shadeModelAttrib.cxx"
|
#include "shadeModelAttrib.cxx"
|
||||||
#include "shaderInput.cxx"
|
#include "shaderInput.cxx"
|
||||||
#include "shaderAttrib.cxx"
|
#include "shaderAttrib.cxx"
|
||||||
#include "shaderPool.cxx"
|
#include "shaderPool.cxx"
|
||||||
#include "shaderGenerator.cxx"
|
#include "shaderGeneratorBase.cxx"
|
||||||
#include "showBoundsEffect.cxx"
|
#include "showBoundsEffect.cxx"
|
||||||
#include "spotlight.cxx"
|
|
||||||
#include "stateMunger.cxx"
|
#include "stateMunger.cxx"
|
||||||
#include "stencilAttrib.cxx"
|
#include "stencilAttrib.cxx"
|
||||||
#include "switchNode.cxx"
|
|
||||||
#include "texMatrixAttrib.cxx"
|
#include "texMatrixAttrib.cxx"
|
||||||
#include "texProjectorEffect.cxx"
|
#include "texProjectorEffect.cxx"
|
||||||
#include "textureAttrib.cxx"
|
#include "textureAttrib.cxx"
|
||||||
|
@ -36,7 +36,7 @@
|
|||||||
#include "lightMutexHolder.h"
|
#include "lightMutexHolder.h"
|
||||||
#include "thread.h"
|
#include "thread.h"
|
||||||
#include "attribSlots.h"
|
#include "attribSlots.h"
|
||||||
#include "shaderGenerator.h"
|
#include "shaderGeneratorBase.h"
|
||||||
|
|
||||||
LightReMutex *RenderState::_states_lock = NULL;
|
LightReMutex *RenderState::_states_lock = NULL;
|
||||||
RenderState::States *RenderState::_states = NULL;
|
RenderState::States *RenderState::_states = NULL;
|
||||||
@ -1258,7 +1258,7 @@ get_generated_shader() const {
|
|||||||
if (_generated_shader != (RenderAttrib*)NULL) {
|
if (_generated_shader != (RenderAttrib*)NULL) {
|
||||||
return DCAST(ShaderAttrib, _generated_shader);
|
return DCAST(ShaderAttrib, _generated_shader);
|
||||||
}
|
}
|
||||||
ShaderGenerator *gen = ShaderGenerator::get_default();
|
ShaderGeneratorBase *gen = ShaderGeneratorBase::get_default();
|
||||||
((RenderState*)this)->_generated_shader =
|
((RenderState*)this)->_generated_shader =
|
||||||
gen->synthesize_shader(this);
|
gen->synthesize_shader(this);
|
||||||
return DCAST(ShaderAttrib, _generated_shader);
|
return DCAST(ShaderAttrib, _generated_shader);
|
||||||
|
14
panda/src/pgraph/shaderGeneratorBase.I
Normal file
14
panda/src/pgraph/shaderGeneratorBase.I
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
// Filename: shaderGeneratorBase.I
|
||||||
|
// Created by: drose (05Nov08)
|
||||||
|
//
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// PANDA 3D SOFTWARE
|
||||||
|
// Copyright (c) Carnegie Mellon University. All rights reserved.
|
||||||
|
//
|
||||||
|
// All use of this software is subject to the terms of the revised BSD
|
||||||
|
// license. You should have received a copy of this license along
|
||||||
|
// with this source code in a file named "LICENSE."
|
||||||
|
//
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
|
56
panda/src/pgraph/shaderGeneratorBase.cxx
Normal file
56
panda/src/pgraph/shaderGeneratorBase.cxx
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
// Filename: shaderGeneratorBase.cxx
|
||||||
|
// Created by: drose (05Nov08)
|
||||||
|
//
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// PANDA 3D SOFTWARE
|
||||||
|
// Copyright (c) Carnegie Mellon University. All rights reserved.
|
||||||
|
//
|
||||||
|
// All use of this software is subject to the terms of the revised BSD
|
||||||
|
// license. You should have received a copy of this license along
|
||||||
|
// with this source code in a file named "LICENSE."
|
||||||
|
//
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#include "shaderGeneratorBase.h"
|
||||||
|
|
||||||
|
TypeHandle ShaderGeneratorBase::_type_handle;
|
||||||
|
PT(ShaderGeneratorBase) ShaderGeneratorBase::_default_generator;
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: ShaderGeneratorBase::Constructor
|
||||||
|
// Access: Protected
|
||||||
|
// Description:
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
ShaderGeneratorBase::
|
||||||
|
ShaderGeneratorBase() {
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: ShaderGeneratorBase::Destructor
|
||||||
|
// Access: Published, Virtual
|
||||||
|
// Description:
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
ShaderGeneratorBase::
|
||||||
|
~ShaderGeneratorBase() {
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: ShaderGeneratorBase::get_default
|
||||||
|
// Access: Published, Static
|
||||||
|
// Description: Get a pointer to the default shader generator.
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
ShaderGeneratorBase *ShaderGeneratorBase::
|
||||||
|
get_default() {
|
||||||
|
return _default_generator;
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: ShaderGeneratorBase::set_default
|
||||||
|
// Access: Published, Static
|
||||||
|
// Description: Set the default shader generator.
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
void ShaderGeneratorBase::
|
||||||
|
set_default(ShaderGeneratorBase *generator) {
|
||||||
|
_default_generator = generator;
|
||||||
|
}
|
59
panda/src/pgraph/shaderGeneratorBase.h
Normal file
59
panda/src/pgraph/shaderGeneratorBase.h
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
// Filename: shaderGeneratorBase.h
|
||||||
|
// Created by: drose (05Nov08)
|
||||||
|
//
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// PANDA 3D SOFTWARE
|
||||||
|
// Copyright (c) Carnegie Mellon University. All rights reserved.
|
||||||
|
//
|
||||||
|
// All use of this software is subject to the terms of the revised BSD
|
||||||
|
// license. You should have received a copy of this license along
|
||||||
|
// with this source code in a file named "LICENSE."
|
||||||
|
//
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef SHADERGENERATORBASE_H
|
||||||
|
#define SHADERGENERATORBASE_H
|
||||||
|
|
||||||
|
#include "pandabase.h"
|
||||||
|
#include "typedWritableReferenceCount.h"
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Class : ShaderGeneratorBase
|
||||||
|
// Description : This is the abstract base class for ShaderGenerator.
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
class EXPCL_PANDA_PGRAPH ShaderGeneratorBase : public TypedWritableReferenceCount {
|
||||||
|
private:
|
||||||
|
static PT(ShaderGeneratorBase) _default_generator;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
ShaderGeneratorBase();
|
||||||
|
|
||||||
|
PUBLISHED:
|
||||||
|
virtual ~ShaderGeneratorBase();
|
||||||
|
static ShaderGeneratorBase *get_default();
|
||||||
|
static void set_default(ShaderGeneratorBase *generator);
|
||||||
|
virtual CPT(RenderAttrib) synthesize_shader(const RenderState *rs)=0;
|
||||||
|
|
||||||
|
public:
|
||||||
|
static TypeHandle get_class_type() {
|
||||||
|
return _type_handle;
|
||||||
|
}
|
||||||
|
static void init_type() {
|
||||||
|
TypedWritableReferenceCount::init_type();
|
||||||
|
register_type(_type_handle, "ShaderGeneratorBase",
|
||||||
|
TypedWritableReferenceCount::get_class_type());
|
||||||
|
}
|
||||||
|
virtual TypeHandle get_type() const {
|
||||||
|
return get_class_type();
|
||||||
|
}
|
||||||
|
virtual TypeHandle force_init_type() {init_type(); return get_class_type();}
|
||||||
|
|
||||||
|
private:
|
||||||
|
static TypeHandle _type_handle;
|
||||||
|
};
|
||||||
|
|
||||||
|
#include "shaderGeneratorBase.I"
|
||||||
|
|
||||||
|
#endif // SHADERGENERATORBASE_H
|
||||||
|
|
55
panda/src/pgraphnodes/Sources.pp
Normal file
55
panda/src/pgraphnodes/Sources.pp
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
#define OTHER_LIBS interrogatedb:c dconfig:c dtoolconfig:m \
|
||||||
|
dtoolutil:c dtoolbase:c dtool:m prc:c
|
||||||
|
#define LOCAL_LIBS \
|
||||||
|
lerp event gsgbase gobj putil linmath \
|
||||||
|
downloader express pandabase pstatclient pgraph
|
||||||
|
#define USE_PACKAGES python
|
||||||
|
|
||||||
|
#begin lib_target
|
||||||
|
#define TARGET pgraphnodes
|
||||||
|
|
||||||
|
#define COMBINED_SOURCES \
|
||||||
|
$[TARGET]_composite1.cxx $[TARGET]_composite2.cxx
|
||||||
|
|
||||||
|
#define SOURCES \
|
||||||
|
ambientLight.h ambientLight.I \
|
||||||
|
config_pgraphnodes.h \
|
||||||
|
directionalLight.h directionalLight.I \
|
||||||
|
lightLensNode.h lightLensNode.I \
|
||||||
|
lightNode.h lightNode.I \
|
||||||
|
pointLight.h pointLight.I \
|
||||||
|
selectiveChildNode.h selectiveChildNode.I \
|
||||||
|
sequenceNode.h sequenceNode.I \
|
||||||
|
shaderGenerator.h shaderGenerator.I \
|
||||||
|
spotlight.h spotlight.I \
|
||||||
|
switchNode.h switchNode.I
|
||||||
|
|
||||||
|
#define INCLUDED_SOURCES \
|
||||||
|
ambientLight.cxx \
|
||||||
|
config_pgraphnodes.cxx \
|
||||||
|
directionalLight.cxx \
|
||||||
|
lightLensNode.cxx \
|
||||||
|
lightNode.cxx \
|
||||||
|
pointLight.cxx \
|
||||||
|
selectiveChildNode.cxx \
|
||||||
|
sequenceNode.cxx \
|
||||||
|
shaderGenerator.cxx \
|
||||||
|
spotlight.cxx \
|
||||||
|
switchNode.cxx
|
||||||
|
|
||||||
|
#define INSTALL_HEADERS \
|
||||||
|
ambientLight.h ambientLight.I \
|
||||||
|
config_pgraphnodes.h \
|
||||||
|
directionalLight.h directionalLight.I \
|
||||||
|
lightLensNode.h lightLensNode.I \
|
||||||
|
lightNode.h lightNode.I \
|
||||||
|
pointLight.h pointLight.I \
|
||||||
|
selectiveChildNode.h selectiveChildNode.I \
|
||||||
|
sequenceNode.h sequenceNode.I \
|
||||||
|
shaderGenerator.h shaderGenerator.I \
|
||||||
|
spotlight.h spotlight.I \
|
||||||
|
switchNode.h switchNode.I
|
||||||
|
|
||||||
|
#define IGATESCAN all
|
||||||
|
|
||||||
|
#end lib_target
|
@ -85,6 +85,17 @@ write(ostream &out, int indent_level) const {
|
|||||||
<< "color " << get_color() << "\n";
|
<< "color " << get_color() << "\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: AmbientLight::is_ambient_light
|
||||||
|
// Access: Published, Virtual
|
||||||
|
// Description: Returns true if this is an AmbientLight, false if it
|
||||||
|
// is some other kind of light.
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
bool AmbientLight::
|
||||||
|
is_ambient_light() const {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: AmbientLight::bind
|
// Function: AmbientLight::bind
|
||||||
// Access: Public, Virtual
|
// Access: Public, Virtual
|
@ -26,7 +26,7 @@
|
|||||||
// be part of the scene graph, since it has no meaningful
|
// be part of the scene graph, since it has no meaningful
|
||||||
// position.
|
// position.
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
class EXPCL_PANDA_PGRAPH AmbientLight : public LightNode {
|
class EXPCL_PANDA_PGRAPHNODES AmbientLight : public LightNode {
|
||||||
PUBLISHED:
|
PUBLISHED:
|
||||||
AmbientLight(const string &name);
|
AmbientLight(const string &name);
|
||||||
|
|
||||||
@ -36,6 +36,7 @@ protected:
|
|||||||
public:
|
public:
|
||||||
virtual PandaNode *make_copy() const;
|
virtual PandaNode *make_copy() const;
|
||||||
virtual void write(ostream &out, int indent_level) const;
|
virtual void write(ostream &out, int indent_level) const;
|
||||||
|
virtual bool is_ambient_light() const;
|
||||||
|
|
||||||
PUBLISHED:
|
PUBLISHED:
|
||||||
virtual int get_class_priority() const;
|
virtual int get_class_priority() const;
|
75
panda/src/pgraphnodes/config_pgraphnodes.cxx
Normal file
75
panda/src/pgraphnodes/config_pgraphnodes.cxx
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
// Filename: config_pgraphnodes.cxx
|
||||||
|
// Created by: drose (05Nov08)
|
||||||
|
//
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// PANDA 3D SOFTWARE
|
||||||
|
// Copyright (c) Carnegie Mellon University. All rights reserved.
|
||||||
|
//
|
||||||
|
// All use of this software is subject to the terms of the revised BSD
|
||||||
|
// license. You should have received a copy of this license along
|
||||||
|
// with this source code in a file named "LICENSE."
|
||||||
|
//
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#include "config_pgraphnodes.h"
|
||||||
|
|
||||||
|
#include "ambientLight.h"
|
||||||
|
#include "directionalLight.h"
|
||||||
|
#include "lightLensNode.h"
|
||||||
|
#include "lightNode.h"
|
||||||
|
#include "pointLight.h"
|
||||||
|
#include "selectiveChildNode.h"
|
||||||
|
#include "sequenceNode.h"
|
||||||
|
#include "shaderGenerator.h"
|
||||||
|
#include "spotlight.h"
|
||||||
|
#include "switchNode.h"
|
||||||
|
|
||||||
|
#include "dconfig.h"
|
||||||
|
|
||||||
|
ConfigureDef(config_pgraphnodes);
|
||||||
|
NotifyCategoryDef(pgraphnodes, "");
|
||||||
|
|
||||||
|
ConfigureFn(config_pgraphnodes) {
|
||||||
|
init_libpgraphnodes();
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: init_libpgraphnodes
|
||||||
|
// Description: Initializes the library. This must be called at
|
||||||
|
// least once before any of the functions or classes in
|
||||||
|
// this library can be used. Normally it will be
|
||||||
|
// called by the static initializers and need not be
|
||||||
|
// called explicitly, but special cases exist.
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
void
|
||||||
|
init_libpgraphnodes() {
|
||||||
|
static bool initialized = false;
|
||||||
|
if (initialized) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
initialized = true;
|
||||||
|
|
||||||
|
AmbientLight::init_type();
|
||||||
|
DirectionalLight::init_type();
|
||||||
|
LightLensNode::init_type();
|
||||||
|
LightNode::init_type();
|
||||||
|
PointLight::init_type();
|
||||||
|
SelectiveChildNode::init_type();
|
||||||
|
SequenceNode::init_type();
|
||||||
|
ShaderGenerator::init_type();
|
||||||
|
Spotlight::init_type();
|
||||||
|
SwitchNode::init_type();
|
||||||
|
|
||||||
|
AmbientLight::register_with_read_factory();
|
||||||
|
DirectionalLight::register_with_read_factory();
|
||||||
|
LightLensNode::register_with_read_factory();
|
||||||
|
LightNode::register_with_read_factory();
|
||||||
|
PointLight::register_with_read_factory();
|
||||||
|
SelectiveChildNode::register_with_read_factory();
|
||||||
|
SequenceNode::register_with_read_factory();
|
||||||
|
Spotlight::register_with_read_factory();
|
||||||
|
SwitchNode::register_with_read_factory();
|
||||||
|
|
||||||
|
ShaderGenerator::set_default(new ShaderGenerator());
|
||||||
|
}
|
27
panda/src/pgraphnodes/config_pgraphnodes.h
Normal file
27
panda/src/pgraphnodes/config_pgraphnodes.h
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
// Filename: config_pgraphnodes.h
|
||||||
|
// Created by: drose (05Nov08)
|
||||||
|
//
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// PANDA 3D SOFTWARE
|
||||||
|
// Copyright (c) Carnegie Mellon University. All rights reserved.
|
||||||
|
//
|
||||||
|
// All use of this software is subject to the terms of the revised BSD
|
||||||
|
// license. You should have received a copy of this license along
|
||||||
|
// with this source code in a file named "LICENSE."
|
||||||
|
//
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef CONFIG_PGRAPHNODES_H
|
||||||
|
#define CONFIG_PGRAPHNODES_H
|
||||||
|
|
||||||
|
#include "pandabase.h"
|
||||||
|
|
||||||
|
class DSearchPath;
|
||||||
|
|
||||||
|
ConfigureDecl(config_pgraphnodes, EXPCL_PANDA_PGRAPHNODES, EXPTP_PANDA_PGRAPHNODES);
|
||||||
|
NotifyCategoryDecl(pgraphnodes, EXPCL_PANDA_PGRAPHNODES, EXPTP_PANDA_PGRAPHNODES);
|
||||||
|
|
||||||
|
extern EXPCL_PANDA_PGRAPHNODES void init_libpgraphnodes();
|
||||||
|
|
||||||
|
#endif
|
@ -24,7 +24,7 @@
|
|||||||
// Description : A light shining from infinitely far away in a
|
// Description : A light shining from infinitely far away in a
|
||||||
// particular direction, like sunlight.
|
// particular direction, like sunlight.
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
class EXPCL_PANDA_PGRAPH DirectionalLight : public LightNode {
|
class EXPCL_PANDA_PGRAPHNODES DirectionalLight : public LightNode {
|
||||||
PUBLISHED:
|
PUBLISHED:
|
||||||
DirectionalLight(const string &name);
|
DirectionalLight(const string &name);
|
||||||
|
|
||||||
@ -58,7 +58,7 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
// This is the data that must be cycled between pipeline stages.
|
// This is the data that must be cycled between pipeline stages.
|
||||||
class EXPCL_PANDA_PGRAPH CData : public CycleData {
|
class EXPCL_PANDA_PGRAPHNODES CData : public CycleData {
|
||||||
public:
|
public:
|
||||||
INLINE CData();
|
INLINE CData();
|
||||||
INLINE CData(const CData ©);
|
INLINE CData(const CData ©);
|
@ -24,7 +24,7 @@
|
|||||||
// Class : LightLensNode
|
// Class : LightLensNode
|
||||||
// Description : A derivative of Light and of LensNode.
|
// Description : A derivative of Light and of LensNode.
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
class EXPCL_PANDA_PGRAPH LightLensNode : public Light, public LensNode {
|
class EXPCL_PANDA_PGRAPHNODES LightLensNode : public Light, public LensNode {
|
||||||
PUBLISHED:
|
PUBLISHED:
|
||||||
LightLensNode(const string &name);
|
LightLensNode(const string &name);
|
||||||
|
|
@ -26,7 +26,7 @@
|
|||||||
// Light except Spotlight (which must inherit from
|
// Light except Spotlight (which must inherit from
|
||||||
// LensNode instead) inherit from this class.
|
// LensNode instead) inherit from this class.
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
class EXPCL_PANDA_PGRAPH LightNode : public Light, public PandaNode {
|
class EXPCL_PANDA_PGRAPHNODES LightNode : public Light, public PandaNode {
|
||||||
PUBLISHED:
|
PUBLISHED:
|
||||||
LightNode(const string &name);
|
LightNode(const string &name);
|
||||||
|
|
6
panda/src/pgraphnodes/pgraphnodes_composite1.cxx
Normal file
6
panda/src/pgraphnodes/pgraphnodes_composite1.cxx
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
#include "ambientLight.cxx"
|
||||||
|
#include "config_pgraphnodes.cxx"
|
||||||
|
#include "directionalLight.cxx"
|
||||||
|
#include "lightLensNode.cxx"
|
||||||
|
#include "lightNode.cxx"
|
||||||
|
#include "pointLight.cxx"
|
5
panda/src/pgraphnodes/pgraphnodes_composite2.cxx
Normal file
5
panda/src/pgraphnodes/pgraphnodes_composite2.cxx
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
#include "selectiveChildNode.cxx"
|
||||||
|
#include "sequenceNode.cxx"
|
||||||
|
#include "shaderGenerator.cxx"
|
||||||
|
#include "spotlight.cxx"
|
||||||
|
#include "switchNode.cxx"
|
@ -24,7 +24,7 @@
|
|||||||
// Description : A light originating from a single point in space, and
|
// Description : A light originating from a single point in space, and
|
||||||
// shining in all directions.
|
// shining in all directions.
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
class EXPCL_PANDA_PGRAPH PointLight : public LightNode {
|
class EXPCL_PANDA_PGRAPHNODES PointLight : public LightNode {
|
||||||
PUBLISHED:
|
PUBLISHED:
|
||||||
PointLight(const string &name);
|
PointLight(const string &name);
|
||||||
|
|
||||||
@ -58,7 +58,7 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
// This is the data that must be cycled between pipeline stages.
|
// This is the data that must be cycled between pipeline stages.
|
||||||
class EXPCL_PANDA_PGRAPH CData : public CycleData {
|
class EXPCL_PANDA_PGRAPHNODES CData : public CycleData {
|
||||||
public:
|
public:
|
||||||
INLINE CData();
|
INLINE CData();
|
||||||
INLINE CData(const CData ©);
|
INLINE CData(const CData ©);
|
@ -24,7 +24,7 @@
|
|||||||
// Description : A base class for nodes like LODNode and SequenceNode
|
// Description : A base class for nodes like LODNode and SequenceNode
|
||||||
// that select only one visible child at a time.
|
// that select only one visible child at a time.
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
class EXPCL_PANDA_PGRAPH SelectiveChildNode : public PandaNode {
|
class EXPCL_PANDA_PGRAPHNODES SelectiveChildNode : public PandaNode {
|
||||||
PUBLISHED:
|
PUBLISHED:
|
||||||
INLINE SelectiveChildNode(const string &name);
|
INLINE SelectiveChildNode(const string &name);
|
||||||
|
|
@ -26,7 +26,7 @@
|
|||||||
// Description : A node that automatically cycles through rendering
|
// Description : A node that automatically cycles through rendering
|
||||||
// each one of its children according to its frame rate.
|
// each one of its children according to its frame rate.
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
class EXPCL_PANDA_PGRAPH SequenceNode : public SelectiveChildNode, public AnimInterface {
|
class EXPCL_PANDA_PGRAPHNODES SequenceNode : public SelectiveChildNode, public AnimInterface {
|
||||||
PUBLISHED:
|
PUBLISHED:
|
||||||
INLINE SequenceNode(const string &name);
|
INLINE SequenceNode(const string &name);
|
||||||
|
|
@ -22,7 +22,6 @@
|
|||||||
#include "spotlight.h"
|
#include "spotlight.h"
|
||||||
|
|
||||||
TypeHandle ShaderGenerator::_type_handle;
|
TypeHandle ShaderGenerator::_type_handle;
|
||||||
PT(ShaderGenerator) ShaderGenerator::_default_generator;
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: ShaderGenerator::Constructor
|
// Function: ShaderGenerator::Constructor
|
||||||
@ -106,29 +105,6 @@ alloc_freg() {
|
|||||||
return "UNKNOWN";
|
return "UNKNOWN";
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
|
||||||
// Function: ShaderGenerator::get_default
|
|
||||||
// Access: Published, Static
|
|
||||||
// Description: Get a pointer to the default shader generator.
|
|
||||||
////////////////////////////////////////////////////////////////////
|
|
||||||
ShaderGenerator *ShaderGenerator::
|
|
||||||
get_default() {
|
|
||||||
if (_default_generator == (ShaderGenerator *)NULL) {
|
|
||||||
_default_generator = new ShaderGenerator;
|
|
||||||
}
|
|
||||||
return _default_generator;
|
|
||||||
}
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
|
||||||
// Function: ShaderGenerator::set_default
|
|
||||||
// Access: Published, Static
|
|
||||||
// Description: Set the default shader generator.
|
|
||||||
////////////////////////////////////////////////////////////////////
|
|
||||||
void ShaderGenerator::
|
|
||||||
set_default(ShaderGenerator *generator) {
|
|
||||||
_default_generator = generator;
|
|
||||||
}
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: ShaderGenerator::analyze_renderstate
|
// Function: ShaderGenerator::analyze_renderstate
|
||||||
// Access: Protected
|
// Access: Protected
|
@ -16,8 +16,10 @@
|
|||||||
#define SHADERGENERATOR_H
|
#define SHADERGENERATOR_H
|
||||||
|
|
||||||
#include "pandabase.h"
|
#include "pandabase.h"
|
||||||
#include "typedWritableReferenceCount.h"
|
#include "shaderGeneratorBase.h"
|
||||||
|
#include "attribSlots.h"
|
||||||
#include "nodePath.h"
|
#include "nodePath.h"
|
||||||
|
|
||||||
class AmbientLight;
|
class AmbientLight;
|
||||||
class DirectionalLight;
|
class DirectionalLight;
|
||||||
class PointLight;
|
class PointLight;
|
||||||
@ -58,15 +60,10 @@ class ShaderAttrib;
|
|||||||
//
|
//
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
class EXPCL_PANDA_PGRAPH ShaderGenerator : public TypedWritableReferenceCount {
|
class EXPCL_PANDA_PGRAPHNODES ShaderGenerator : public ShaderGeneratorBase {
|
||||||
private:
|
|
||||||
static PT(ShaderGenerator) _default_generator;
|
|
||||||
|
|
||||||
PUBLISHED:
|
PUBLISHED:
|
||||||
ShaderGenerator();
|
ShaderGenerator();
|
||||||
virtual ~ShaderGenerator();
|
virtual ~ShaderGenerator();
|
||||||
static ShaderGenerator *get_default();
|
|
||||||
static void set_default(ShaderGenerator *generator);
|
|
||||||
virtual CPT(RenderAttrib) synthesize_shader(const RenderState *rs);
|
virtual CPT(RenderAttrib) synthesize_shader(const RenderState *rs);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
@ -135,9 +132,9 @@ public:
|
|||||||
return _type_handle;
|
return _type_handle;
|
||||||
}
|
}
|
||||||
static void init_type() {
|
static void init_type() {
|
||||||
TypedReferenceCount::init_type();
|
ShaderGeneratorBase::init_type();
|
||||||
register_type(_type_handle, "ShaderGenerator",
|
register_type(_type_handle, "ShaderGenerator",
|
||||||
TypedReferenceCount::get_class_type());
|
ShaderGeneratorBase::get_class_type());
|
||||||
}
|
}
|
||||||
virtual TypeHandle get_type() const {
|
virtual TypeHandle get_type() const {
|
||||||
return get_class_type();
|
return get_class_type();
|
@ -35,7 +35,7 @@ class Texture;
|
|||||||
// SpotLight, because "spotlight" is a single English
|
// SpotLight, because "spotlight" is a single English
|
||||||
// word, instead of two words.
|
// word, instead of two words.
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
class EXPCL_PANDA_PGRAPH Spotlight : public LightLensNode {
|
class EXPCL_PANDA_PGRAPHNODES Spotlight : public LightLensNode {
|
||||||
PUBLISHED:
|
PUBLISHED:
|
||||||
Spotlight(const string &name);
|
Spotlight(const string &name);
|
||||||
|
|
||||||
@ -78,7 +78,7 @@ private:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
// This is the data that must be cycled between pipeline stages.
|
// This is the data that must be cycled between pipeline stages.
|
||||||
class EXPCL_PANDA_PGRAPH CData : public CycleData {
|
class EXPCL_PANDA_PGRAPHNODES CData : public CycleData {
|
||||||
public:
|
public:
|
||||||
INLINE CData();
|
INLINE CData();
|
||||||
INLINE CData(const CData ©);
|
INLINE CData(const CData ©);
|
@ -24,7 +24,7 @@
|
|||||||
// Description : A node that renders only one of its children,
|
// Description : A node that renders only one of its children,
|
||||||
// according to the user's indication.
|
// according to the user's indication.
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
class EXPCL_PANDA_PGRAPH SwitchNode : public SelectiveChildNode {
|
class EXPCL_PANDA_PGRAPHNODES SwitchNode : public SelectiveChildNode {
|
||||||
PUBLISHED:
|
PUBLISHED:
|
||||||
INLINE SwitchNode(const string &name);
|
INLINE SwitchNode(const string &name);
|
||||||
|
|
||||||
@ -43,7 +43,7 @@ PUBLISHED:
|
|||||||
virtual int get_visible_child() const;
|
virtual int get_visible_child() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
class EXPCL_PANDA_PGRAPH CData : public CycleData {
|
class EXPCL_PANDA_PGRAPHNODES CData : public CycleData {
|
||||||
public:
|
public:
|
||||||
INLINE CData();
|
INLINE CData();
|
||||||
INLINE CData(const CData ©);
|
INLINE CData(const CData ©);
|
Loading…
x
Reference in New Issue
Block a user