예제 #1
0
  private void CreateImageTextures() {
    m_kTextureA = new Texture();
    m_kTextureA.SetImage(VolumeImage.UpdateData(m_kTarget, m_kNameA));
    m_kTextureA.SetShared(true);
    m_kTextureA.SetBorderColor(new ColorRGBA(0, 0, 0, 0));
    m_kTextureA.SetFilterType(Texture.FilterType.NEAREST);
    m_kTextureA.SetWrapType(0, Texture.WrapType.CLAMP_BORDER);
    m_kTextureA.SetWrapType(1, Texture.WrapType.CLAMP_BORDER);
    m_kTextureA.SetWrapType(2, Texture.WrapType.CLAMP_BORDER);
    if (!m_pkRenderer.LoadTexture(m_kTextureA)) {
      m_bStatus = false;
    }

    m_kTextureB = new Texture();
    m_kTextureB.SetImage(VolumeImage.UpdateData(m_kMoving, m_kNameB));
    m_kTextureB.SetShared(true);
    m_kTextureB.SetBorderColor(new ColorRGBA(0, 0, 0, 0));
    m_kTextureB.SetFilterType(Texture.FilterType.NEAREST);
    m_kTextureB.SetWrapType(0, Texture.WrapType.CLAMP_BORDER);
    m_kTextureB.SetWrapType(1, Texture.WrapType.CLAMP_BORDER);
    m_kTextureB.SetWrapType(2, Texture.WrapType.CLAMP_BORDER);
    if (!m_pkRenderer.LoadTexture(m_kTextureB)) {
      m_bStatus = false;
    }

    m_kImageEffectDual =
        new VolumeHistogramEffect(
            m_kTextureA,
            m_kTextureB,
            m_kTarget.min,
            m_kTarget.max,
            m_kMoving.min,
            m_kMoving.max,
            m_kTarget.extents[0],
            m_kTarget.extents[1],
            m_kImageTransform);
    /*
    m_kBracketOut = CreateRenderTargetInit( "bracketImage", 1, 3 );

    CreateTransformMesh();
    m_kTransformOut = CreateRenderTargetInit( "Transform", 1, 4 );
    //m_kTransformNewOut = CreateRenderTargetInit( "TransformNew", 1, 4 );
    m_kBracketOut.GetTarget(0).GetImage().SetData( m_afBracket, 1, 4 );
    m_kCalcTransform = new LineMinimizationEffect( m_kBracketOut.GetTarget(0),
            (m_kTarget.nDims == 2),
            m_kToOrigin, m_kFromOrigin,
            m_fRigid, m_fDim, m_afStartPoint, m_afPt, m_fPtLength,
            m_afUnitDirections, m_fUnitTolerance, m_fMinDist );
    m_kTransformPoints.AttachEffect(m_kCalcTransform);

    m_kImageLineMinDual = new LineMinimizationEffect( m_kTextureA, m_kTextureB, m_kTransformOut.GetTarget(0),
            m_kTarget.min, m_kTarget.max, m_kMoving.min, m_kMoving.max,
            m_kTarget.extents[0],m_kTarget.extents[1] );

    CreateBracketMesh();
    m_kBracketNewOut = CreateRenderTargetInit( "bracketNew", 1, 3 );
    */
  }