⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wmltexture.cpp

📁 3D Game Engine Design Source Code非常棒
💻 CPP
📖 第 1 页 / 共 2 页
字号:
        break;
    case ACS_CONSTANT:
        pkTree->SetString(7,MakeString("CombineSrc1RGB = CONSTANT"));
        break;
    case ACS_PREVIOUS:
        pkTree->SetString(7,MakeString("CombineSrc1RGB = PREVIOUS"));
        break;
    default:  // ACS_QUANTITY
        break;
    }

    switch ( m_eCombineSrc0Alpha )
    {
    case ACS_TEXTURE:
        pkTree->SetString(8,MakeString("CombineSrc0Alpha = TEXTURE"));
        break;
    case ACS_PRIMARY_COLOR:
        pkTree->SetString(8,MakeString("CombineSrc0Alpha = PRIMARY_COLOR"));
        break;
    case ACS_CONSTANT:
        pkTree->SetString(8,MakeString("CombineSrc0Alpha = CONSTANT"));
        break;
    case ACS_PREVIOUS:
        pkTree->SetString(8,MakeString("CombineSrc0Alpha = PREVIOUS"));
        break;
    default:  // ACS_QUANTITY
        break;
    }

    switch ( m_eCombineSrc1Alpha )
    {
    case ACS_TEXTURE:
        pkTree->SetString(9,MakeString("CombineSrc1Alpha = TEXTURE"));
        break;
    case ACS_PRIMARY_COLOR:
        pkTree->SetString(9,MakeString("CombineSrc1Alpha = PRIMARY_COLOR"));
        break;
    case ACS_CONSTANT:
        pkTree->SetString(9,MakeString("CombineSrc1Alpha = CONSTANT"));
        break;
    case ACS_PREVIOUS:
        pkTree->SetString(9,MakeString("CombineSrc1Alpha = PREVIOUS"));
        break;
    default:  // ACS_QUANTITY
        break;
    }

    switch ( m_eCombineSrc2Alpha )
    {
    case ACS_TEXTURE:
        pkTree->SetString(10,MakeString("CombineSrc2Alpha = TEXTURE"));
        break;
    case ACS_PRIMARY_COLOR:
        pkTree->SetString(10,MakeString("CombineSrc2Alpha = PRIMARY_COLOR"));
        break;
    case ACS_CONSTANT:
        pkTree->SetString(10,MakeString("CombineSrc2Alpha = CONSTANT"));
        break;
    case ACS_PREVIOUS:
        pkTree->SetString(10,MakeString("CombineSrc2Alpha = PREVIOUS"));
        break;
    default:  // ACS_QUANTITY
        break;
    }

    switch ( m_eCombineOp0RGB )
    {
    case ACO_SRC_COLOR:
        pkTree->SetString(11,MakeString("CombineOp0RGB = SRC_COLOR"));
        break;
    case ACO_ONE_MINUS_SRC_COLOR:
        pkTree->SetString(11,
            MakeString("CombineOp0RGB = ONE_MINUS_SRC_COLOR"));
        break;
    case ACO_SRC_ALPHA:
        pkTree->SetString(11,MakeString("CombineOp0RGB = SRC_ALPHA"));
        break;
    case ACO_ONE_MINUS_SRC_ALPHA:
        pkTree->SetString(11,
            MakeString("CombineOp0RGB = ONE_MINUS_SRC_ALPHA"));
        break;
    default:  // ACO_QUANTITY
        break;
    }

    switch ( m_eCombineOp1RGB )
    {
    case ACO_SRC_COLOR:
        pkTree->SetString(12,MakeString("CombineOp1RGB = SRC_COLOR"));
        break;
    case ACO_ONE_MINUS_SRC_COLOR:
        pkTree->SetString(12,
            MakeString("CombineOp1RGB = ONE_MINUS_SRC_COLOR"));
        break;
    case ACO_SRC_ALPHA:
        pkTree->SetString(12,MakeString("CombineOp1RGB = SRC_ALPHA"));
        break;
    case ACO_ONE_MINUS_SRC_ALPHA:
        pkTree->SetString(12,
            MakeString("CombineOp1RGB = ONE_MINUS_SRC_ALPHA"));
        break;
    default:  // ACO_QUANTITY
        break;
    }

    switch ( m_eCombineOp2RGB )
    {
    case ACO_SRC_COLOR:
        pkTree->SetString(13,MakeString("CombineOp2RGB = SRC_COLOR"));
        break;
    case ACO_ONE_MINUS_SRC_COLOR:
        pkTree->SetString(13,
            MakeString("CombineOp2RGB = ONE_MINUS_SRC_COLOR"));
        break;
    case ACO_SRC_ALPHA:
        pkTree->SetString(13,MakeString("CombineOp2RGB = SRC_ALPHA"));
        break;
    case ACO_ONE_MINUS_SRC_ALPHA:
        pkTree->SetString(13,
            MakeString("CombineOp2RGB = ONE_MINUS_SRC_ALPHA"));
        break;
    default:  // ACO_QUANTITY
        break;
    }

    switch ( m_eCombineOp0Alpha )
    {
    case ACO_SRC_COLOR:
        pkTree->SetString(14,MakeString("CombineOp0Alpha = SRC_COLOR"));
        break;
    case ACO_ONE_MINUS_SRC_COLOR:
        pkTree->SetString(14,
            MakeString("CombineOp0Alpha = ONE_MINUS_SRC_COLOR"));
        break;
    case ACO_SRC_ALPHA:
        pkTree->SetString(14,MakeString("CombineOp0Alpha = SRC_ALPHA"));
        break;
    case ACO_ONE_MINUS_SRC_ALPHA:
        pkTree->SetString(14,
            MakeString("CombineOp0Alpha = ONE_MINUS_SRC_ALPHA"));
        break;
    default:  // ACO_QUANTITY
        break;
    }

    switch ( m_eCombineOp1Alpha )
    {
    case ACO_SRC_COLOR:
        pkTree->SetString(15,MakeString("CombineOp1Alpha = SRC_COLOR"));
        break;
    case ACO_ONE_MINUS_SRC_COLOR:
        pkTree->SetString(15,
            MakeString("CombineOp1Alpha = ONE_MINUS_SRC_COLOR"));
        break;
    case ACO_SRC_ALPHA:
        pkTree->SetString(15,MakeString("CombineOp1Alpha = SRC_ALPHA"));
        break;
    case ACO_ONE_MINUS_SRC_ALPHA:
        pkTree->SetString(15,
            MakeString("CombineOp1Alpha = ONE_MINUS_SRC_ALPHA"));
        break;
    default:  // ACO_QUANTITY
        break;
    }

    switch ( m_eCombineOp2Alpha )
    {
    case ACO_SRC_COLOR:
        pkTree->SetString(16,MakeString("CombineOp2Alpha = SRC_COLOR"));
        break;
    case ACO_ONE_MINUS_SRC_COLOR:
        pkTree->SetString(16,
            MakeString("CombineOp2Alpha = ONE_MINUS_SRC_COLOR"));
        break;
    case ACO_SRC_ALPHA:
        pkTree->SetString(16,MakeString("CombineOp2Alpha = SRC_ALPHA"));
        break;
    case ACO_ONE_MINUS_SRC_ALPHA:
        pkTree->SetString(16,
            MakeString("CombineOp2Alpha = ONE_MINUS_SRC_ALPHA"));
        break;
    default:  // ACO_QUANTITY
        break;
    }

    switch ( m_eCombineScaleRGB )
    {
    case ACSC_ONE:
        pkTree->SetString(17,MakeString("CombineScaleRGB = ONE"));
        break;
    case ACSC_TWO:
        pkTree->SetString(17,MakeString("CombineScaleRGB = TWO"));
        break;
    case ACSC_FOUR:
        pkTree->SetString(17,MakeString("CombineScaleRGB = FOUR"));
        break;
    default:  // ACSC_QUANTITY
        break;
    }

    switch ( m_eCombineScaleAlpha )
    {
    case ACSC_ONE:
        pkTree->SetString(18,MakeString("CombineScaleAlpha = ONE"));
        break;
    case ACSC_TWO:
        pkTree->SetString(18,MakeString("CombineScaleAlpha = TWO"));
        break;
    case ACSC_FOUR:
        pkTree->SetString(18,MakeString("CombineScaleAlpha = FOUR"));
        break;
    default:  // ACSC_QUANTITY
        break;
    }

    switch ( m_eWrap )
    {
    case WM_CLAMP_S_CLAMP_T:
        pkTree->SetString(19,MakeString("uv mode = CLAMP_S_CLAMP_T"));
        break;
    case WM_CLAMP_S_WRAP_T:
        pkTree->SetString(19,MakeString("uv mode = CLAMP_S_WRAP_T"));
        break;
    case WM_WRAP_S_CLAMP_T:
        pkTree->SetString(19,MakeString("uv mode = WRAP_S_CLAMP_T"));
        break;
    case WM_WRAP_S_WRAP_T:
        pkTree->SetString(19,MakeString("uv mode = WRAP_S_WRAP_T"));
        break;
    case WM_CLAMP_BORDER_S_CLAMP_BORDER_T:
        pkTree->SetString(19,
            MakeString("uv mode = CLAMP_BORDER_S_CLAMP_BORDER_T"));
        break;
    default:  // WM_QUANTITY
        break;
    };

    switch ( m_eFilter )
    {
    case FM_NEAREST:
        pkTree->SetString(20,MakeString("filter = NEAREST"));
        break;
    case FM_LINEAR:
        pkTree->SetString(20,MakeString("filter = LINEAR"));
        break;
    default:  // FM_QUANTITY
        break;
    };

    switch ( m_eMipmap )
    {
    case MM_NONE:
        pkTree->SetString(21,MakeString("mipmap = NONE"));
        break;
    case MM_NEAREST:
        pkTree->SetString(21,MakeString("mipmap = NEAREST"));
        break;
    case MM_LINEAR:
        pkTree->SetString(21,MakeString("mipmap = LINEAR"));
        break;
    case MM_NEAREST_NEAREST:
        pkTree->SetString(21,MakeString("mipmap = NEAREST_NEAREST"));
        break;
    case MM_NEAREST_LINEAR:
        pkTree->SetString(21,MakeString("mipmap = NEAREST_LINEAR"));
        break;
    case MM_LINEAR_NEAREST:
        pkTree->SetString(21,MakeString("mipmap = LINEAR_NEAREST"));
        break;
    case MM_LINEAR_LINEAR:
        pkTree->SetString(21,MakeString("mipmap = LINEAR_LINEAR"));
        break;
    default:  // MM_QUANTITY
        break;
    }

    switch ( m_eEnvmap )
    {
    case EM_NONE:
        pkTree->SetString(22,MakeString("envmap = NONE"));
        break;
    case EM_IGNORE:
        pkTree->SetString(22,MakeString("envmap = IGNORE"));
        break;
    case EM_SPHERE:
        pkTree->SetString(22,MakeString("envmap = SPHERE"));
        break;
    default:  // EM_QUANTITY
        break;
    }

    pkTree->SetString(23,MakeString("blend color =",m_kBlendColor));
    pkTree->SetString(24,MakeString("priority =",m_fPriority));
    pkTree->SetString(25,MakeString("border color =",m_kBorderColor));

    // children
    pkTree->SetChild(0,Object::SaveStrings());
    pkTree->SetChild(1,m_spkImage->SaveStrings());

    return pkTree;
}
//----------------------------------------------------------------------------
int Texture::GetMemoryUsed () const
{
    int iBaseSize = sizeof(Texture) - sizeof(Object);
    int iTotalSize = iBaseSize + Object::GetMemoryUsed();
    return iTotalSize;
}
//----------------------------------------------------------------------------
int Texture::GetDiskUsed () const
{
    return Object::GetDiskUsed() +
        sizeof(m_spkImage) +
        StreamBytesEnum(m_eCorrection) +
        StreamBytesEnum(m_eApply) +
        sizeof(m_kBlendColor) +
        StreamBytesEnum(m_eWrap) +
        StreamBytesEnum(m_eFilter) +
        StreamBytesEnum(m_eEnvmap) +
        StreamBytesEnum(m_eMipmap) +
        sizeof(m_fPriority) +
        sizeof(m_kBorderColor) +
        StreamBytesEnum(m_eCombineFuncRGB) +
        StreamBytesEnum(m_eCombineFuncAlpha) +
        StreamBytesEnum(m_eCombineSrc0RGB) +
        StreamBytesEnum(m_eCombineSrc1RGB) +
        StreamBytesEnum(m_eCombineSrc2RGB) +
        StreamBytesEnum(m_eCombineSrc0Alpha) +
        StreamBytesEnum(m_eCombineSrc1Alpha) +
        StreamBytesEnum(m_eCombineSrc2Alpha) +
        StreamBytesEnum(m_eCombineOp0RGB) +
        StreamBytesEnum(m_eCombineOp1RGB) +
        StreamBytesEnum(m_eCombineOp2RGB) +
        StreamBytesEnum(m_eCombineOp0Alpha) +
        StreamBytesEnum(m_eCombineOp1Alpha) +
        StreamBytesEnum(m_eCombineOp2Alpha) +
        StreamBytesEnum(m_eCombineScaleRGB) +
        StreamBytesEnum(m_eCombineScaleAlpha);
}
//----------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -