Show
Ignore:
Timestamp:
01/16/08 16:07:40 (1 year ago)
Author:
cneumann
Message:

changed: - factory functions return a TransitPtr? that can not be implicitly

converted to C Ptr. Should help with porting.

added: - GlobalRefPtr?, needed for cases where upon return from main

a RefPtr? goes out of scope (it would attempt to access the
FCFactory which is already shutdown at that point).

status: - vrml loader does not compile (needs porting to ref ptr)

  • tutorials compile, run and exit cleanly
  • multithreading and cluster are untested, yet
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/Carsten_PtrWork2/Source/System/NodeCores/Groups/HDR/OSGHDRStage.cpp

    r997 r1039  
    319319    // Scene Target 
    320320 
    321     FrameBufferObjectPtr pSceneFBO    = FrameBufferObject::create(); 
    322  
    323     RenderBufferPtr      pDepthBuffer = RenderBuffer     ::create(); 
     321    FrameBufferObjectRefPtr pSceneFBO    = FrameBufferObject::create(); 
     322    RenderBufferRefPtr      pDepthBuffer = RenderBuffer     ::create(); 
    324323 
    325324    pDepthBuffer->setInternalFormat(GL_DEPTH_COMPONENT24   ); 
    326325 
    327326         
    328     TextureObjChunkPtr pSceneTex     = TextureObjChunk::create(); 
    329     TextureEnvChunkPtr pSceneTexEnv  = TextureEnvChunk::create(); 
    330     ImagePtr           pImg          = Image          ::create(); 
     327    TextureObjChunkRefPtr pSceneTex     = TextureObjChunk::create(); 
     328    TextureEnvChunkRefPtr pSceneTexEnv  = TextureEnvChunk::create(); 
     329    ImageRefPtr           pImg          = Image          ::create(); 
    331330     
    332331    pImg->set(Image::OSG_RGB_PF,  
     
    350349    pSceneTexEnv->setEnvMode       (GL_REPLACE       ); 
    351350     
    352     TextureBufferPtr pSceneTexBuffer   = TextureBuffer::create(); 
     351    TextureBufferRefPtr pSceneTexBuffer   = TextureBuffer::create(); 
    353352     
    354353    pSceneTexBuffer->setTexture(pSceneTex); 
     
    370369    // Shrink Target (w/2, h/2) 
    371370 
    372     FrameBufferObjectPtr pShrinkFBO     = FrameBufferObject::create(); 
    373  
    374     TextureObjChunkPtr   pShrinkTex     = TextureObjChunk::create(); 
    375     TextureEnvChunkPtr   pShrinkTexEnv  = TextureEnvChunk::create(); 
    376                          pImg           = Image          ::create(); 
     371    FrameBufferObjectRefPtr pShrinkFBO     = FrameBufferObject::create(); 
     372 
     373    TextureObjChunkRefPtr   pShrinkTex     = TextureObjChunk::create(); 
     374    TextureEnvChunkRefPtr   pShrinkTexEnv  = TextureEnvChunk::create(); 
     375                            pImg           = Image          ::create(); 
    377376     
    378377    pImg->set(Image::OSG_RGB_PF,  
     
    396395    pShrinkTexEnv->setEnvMode       (GL_REPLACE       ); 
    397396     
    398     TextureBufferPtr pShrinkTexBuffer   = TextureBuffer::create(); 
     397    TextureBufferRefPtr pShrinkTexBuffer   = TextureBuffer::create(); 
    399398     
    400399    pShrinkTexBuffer->setTexture(pShrinkTex); 
     
    417416 
    418417 
    419     FrameBufferObjectPtr pBlurFBO     = FrameBufferObject::create(); 
    420  
    421     TextureObjChunkPtr   pBlurTex1    = TextureObjChunk  ::create(); 
    422     TextureEnvChunkPtr   pBlurTex1Env = TextureEnvChunk  ::create(); 
     418    FrameBufferObjectRefPtr pBlurFBO     = FrameBufferObject::create(); 
     419 
     420    TextureObjChunkRefPtr   pBlurTex1    = TextureObjChunk  ::create(); 
     421    TextureEnvChunkRefPtr   pBlurTex1Env = TextureEnvChunk  ::create(); 
    423422     
    424423     
     
    445444    pBlurTex1Env->setEnvMode       (GL_REPLACE       ); 
    446445     
    447     TextureBufferPtr pBlurTexBuffer1 = TextureBuffer::create(); 
     446    TextureBufferRefPtr pBlurTexBuffer1 = TextureBuffer::create(); 
    448447     
    449448    pBlurTexBuffer1->setTexture(pBlurTex1); 
     
    451450     
    452451     
    453     TextureObjChunkPtr pBlurTex2    = TextureObjChunk::create(); 
    454     TextureEnvChunkPtr pBlurTex2Env = TextureEnvChunk::create(); 
     452    TextureObjChunkRefPtr pBlurTex2    = TextureObjChunk::create(); 
     453    TextureEnvChunkRefPtr pBlurTex2Env = TextureEnvChunk::create(); 
    455454     
    456455     
     
    477476    pBlurTex2Env->setEnvMode       (GL_REPLACE       ); 
    478477     
    479     TextureBufferPtr pBlurTexBuffer2 = TextureBuffer::create(); 
     478    TextureBufferRefPtr pBlurTexBuffer2 = TextureBuffer::create(); 
    480479 
    481480    pBlurTexBuffer2->setTexture(pBlurTex2); 
     
    494493 
    495494 
    496     MaterialChunkPtr pMatChunk = MaterialChunk::create(); 
     495    MaterialChunkRefPtr pMatChunk = MaterialChunk::create(); 
    497496         
    498497    pMatChunk->setLit(false); 
     
    503502    // tone map material 
    504503 
    505     ChunkMaterialPtr    pTonemapMat  = ChunkMaterial  ::create(); 
     504    ChunkMaterialRefPtr    pTonemapMat  = ChunkMaterial  ::create(); 
    506505     
    507506    pTonemapMat->addChunk(pMatChunk         ); 
     
    511510    pTonemapMat->addChunk(pBlurTex1Env,    1); 
    512511 
    513     SHLChunkPtr pTonemapShader = generateHDRFragmentProgram(); 
     512    SHLChunkRefPtr pTonemapShader = generateHDRFragmentProgram(); 
    514513     
    515514    pTonemapShader->setUniformParameter("sceneTex",     0); 
     
    529528    // Shrink material 
    530529 
    531     ChunkMaterialPtr pShrinkMat = ChunkMaterial::create(); 
     530    ChunkMaterialRefPtr pShrinkMat = ChunkMaterial::create(); 
    532531     
    533532    pShrinkMat->addChunk(pMatChunk   ); 
     
    537536 
    538537     
    539     SHLChunkPtr pShrinkShader = generate2DShrinkHalfFilterFP(); 
     538    SHLChunkRefPtr pShrinkShader = generate2DShrinkHalfFilterFP(); 
    540539         
    541540    pShrinkShader->setUniformParameter("inputTex", 0); 
     
    550549    // Blur material 
    551550 
    552     ChunkMaterialPtr pBlurMat = ChunkMaterial::create(); 
     551    ChunkMaterialRefPtr pBlurMat = ChunkMaterial::create(); 
    553552     
    554553    pBlurMat->addChunk(pMatChunk   ); 
     
    567566 
    568567    // generate blur fragment programs 
    569     SHLChunkPtr pHBlurShader = generate1DConvolutionFilterFP(getBlurWidth(),  
     568    SHLChunkRefPtr pHBlurShader = generate1DConvolutionFilterFP(getBlurWidth(),  
    570569                                                             false,  
    571570                                                             true,  
     
    583582 
    584583 
    585     SHLChunkPtr pVBlurShader = generate1DConvolutionFilterFP(getBlurWidth(),   
     584    SHLChunkRefPtr pVBlurShader = generate1DConvolutionFilterFP(getBlurWidth(),   
    586585                                                             true,  
    587586                                                             true,  
     
    848847#define OSGHDRL << std::endl 
    849848 
    850 SHLChunkPtr HDRStage::generateHDRFragmentProgram(void) 
     849SHLChunkTransitPtr HDRStage::generateHDRFragmentProgram(void) 
    851850{ 
    852851    std::ostringstream ost; 
     
    917916        << ""; 
    918917 
    919     SHLChunkPtr returnValue = SHLChunk::create(); 
     918    SHLChunkRefPtr returnValue = SHLChunk::create(); 
    920919 
    921920    returnValue->setFragmentProgram(ost.str()); 
    922921 
    923     return returnValue
    924 } 
     922    return SHLChunkTransitPtr(returnValue)
     923}