0

CCNodeでopenGLコマンドを使用してShapeを描画します。そして今、私はそれをガウスぼかしに対処したいと思います。しかし、私はこれを行う方法を見つけることができません。誰かお勧めですか?

。ソルブコードのメジャー:

    CCRenderTexture *renderTex = [[CCRenderTexture renderTextureWithWidth:480 height: 320] retain];
    renderTex.position = ccp(size.width/2, size.height/2);
    [renderTex begin];
    //here can put any draw code with opengl
    [curve visit];
    [renderTex end];
    CCTexture2DMutable *mutableTexture=[[[CCTexture2DMutable alloc]
                                        initWithImage:[renderTex getUIImageFromBuffer]]autorelease];

    CGRect rect = CGRectMake(0, 0, [mutableTexture contentSizeInPixels].width, [mutableTexture contentSizeInPixels].height);
    [AWTextureFilter blur:mutableTexture radius:8 rect:rect];
    CCSpriteFrame *frame = [CCSpriteFrame frameWithTexture:mutableTexture rect:rect];
    [[CCSpriteFrameCache sharedSpriteFrameCache]addSpriteFrame:frame name:@"1"];
    CCSprite *blur = [CCSprite spriteWithSpriteFrame:frame];
    [blur setPosition:ccp(size.width/2, size.height/2)];
    blur.opacity=200;
    [self addChild:blur];
4

1 に答える 1

1

必ず:

  • シーン全体をレンダリングターゲット(テクスチャ)にレンダリングします。フレームバッファオブジェクトを使用できます。
  • 次に、前のテクスチャ(シーンを含む)がアタッチされたフルスクリーンクワッドを描画します。
  • 最後に、グシアンブラー効果(または他の後処理効果)を実行できます

いくつかの情報:

于 2012-05-28T12:13:03.823 に答える