zoukankan      html  css  js  c++  java
  • Direct3D 9学习笔记(15)顶点着色器

    顶点着色器

    image

    顶点着色器的创建

    image

    顶点着色器的设置

    image

    顶点着色器的销毁

    image

    Demo示例

    ID3DXBuffer* shader      = 0;
    ID3DXBuffer* errorBuffer = 0;
    
    hr = D3DXCompileShaderFromFile(
        "diffuse.txt",
        0,
        0,
        "Main", // entry point function name
        "vs_1_1",
        D3DXSHADER_DEBUG, 
        &shader,
        &errorBuffer,
        &DiffuseConstTable);
    
    // output any error messages
    if( errorBuffer )
    {
        ::MessageBox(0, (char*)errorBuffer->GetBufferPointer(), 0, 0);
        d3d::Release<ID3DXBuffer*>(errorBuffer);
    }
    
    if(FAILED(hr))
    {
        ::MessageBox(0, "D3DXCompileShaderFromFile() - FAILED", 0, 0);
        return false;
    }
    
    //
    // Create shader
    //
    
    hr = Device->CreateVertexShader(
        (DWORD*)shader->GetBufferPointer(),
        &DiffuseShader);
    
    if(FAILED(hr))
    {
        ::MessageBox(0, "CreateVertexShader - FAILED", 0, 0);
        return false;
    }
    
    d3d::Release<ID3DXBuffer*>(shader);
    

    启用Shader

    Device->Clear(0, 0, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, 0xffffffff, 1.0f, 0);
    Device->BeginScene();
    
    Device->SetVertexShader(DiffuseShader);
    
    Teapot->DrawSubset(0);
    
    Device->EndScene();
    Device->Present(0, 0, 0, 0);
    

    image

  • 相关阅读:
    vue子组件获取父组件方法
    css hack
    【Educational Codeforces Round 87 (Rated for Div. 2)】前4题
    【某次ks】20200512
    NoI Online 2反思
    RMQ&LCA
    杂谈
    高手训练矩乘T3
    0118ACM自闭赛
    网络流初步学习笔记
  • 原文地址:https://www.cnblogs.com/Clingingboy/p/2707820.html
Copyright © 2011-2022 走看看