00001 #include "GLRenderer.h" 00002 #include "DefaultGLDFS.h" 00003 #include "GLRendererGLCoreVisitor.h" 00004 #include "GLRendererGLGeometry3DVisitor.h" 00005 #include "GLRendererGLGroupingVisitor.h" 00006 #include "GLRendererGLRenderingVisitor.h" 00007 #include "GLRendererGLShapeVisitor.h" 00008 #include "GLRendererGLTexturingVisitor.h" 00009 #include "GLScene.h" 00010 00011 #include <iostream> 00012 00013 using namespace std; 00014 using namespace X3DTK; 00015 00016 GLRenderer::GLRenderer() 00017 : X3DGLRenderer() 00018 { 00019 globalVariables = GVManager::getInstanceOf<GLRendererGlobalVariables>(); 00020 dfs = new DefaultGLDFS(); 00021 00022 dfs->setComponentVisitor(new GLRendererGLCoreVisitor()); 00023 dfs->setComponentVisitor(new GLRendererGLGeometry3DVisitor()); 00024 dfs->setComponentVisitor(new GLRendererGLGroupingVisitor()); 00025 dfs->setComponentVisitor(new GLRendererGLRenderingVisitor()); 00026 dfs->setComponentVisitor(new GLRendererGLShapeVisitor()); 00027 dfs->setComponentVisitor(new GLRendererGLTexturingVisitor()); 00028 } 00029 00030 GLRenderer::~GLRenderer() 00031 { 00032 delete dfs; 00033 } 00034 00035 void GLRenderer::setComponentVisitor(X3DComponentVisitor *component) 00036 { 00037 dfs->setComponentVisitor(component); 00038 } 00039 00040 void GLRenderer::render(X3DGLNode *N) const 00041 { 00042 dfs->traverse(N); 00043 }