Gamebryo 一句话技巧

来源:互联网 发布:正规合法vpn软件 编辑:程序博客网 时间:2024/05/17 09:11

遍历所有节点做一件事情可以:

NiTNodeTraversal 有三个函数。可以根据具体的函数来做一些事情。需要自己实现一个函数去做事情。

函数类似如下

struct RemoveAlphaBlending
{
    void operator () (NiAVObject* pkAVObject)
    {
        NiAlphaProperty *pkProperty =
            (NiAlphaProperty*)pkAVObject->GetProperty(NiProperty::ALPHA);

        if (pkProperty)
            pkProperty->SetAlphaBlending(false);
    }
};

 

快速镜面效果。交换渲染左右成像

NiRendere::SetLeftRightSwap

几个纹理操作速度对比

NiSourceTexture < NiDynamicTexture < NiRenderTexture

资源占用反过来

设置NiViewRenderClick 的排序方法:

pkViewClick->SetProcessor

一些不会被影响的元素应该独立一个view比如天空:

用Ni3DRenderView 单独处理一个特殊元素

让某些节点不参与排序

NiSortAdjustNode 类可以设置节点以及这个节点之下的子节点不参与排序

查看写在CPP里的shader可以最后使用的shader

NiD3DGPUProgramCache::GenerateProgram