标签: directx-12

无法绘制方形DirectX 12 c ++

在D3D12中,我怎样画方形?以下代码只能绘制第一个三角形.

为什么D3D12中没有D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLELIST?TRIANGLELIST有什么选择吗?或者有没有办法直接画广场?

// Describe and create the graphics pipeline state object (PSO).
            D3D12_GRAPHICS_PIPELINE_STATE_DESC psoDesc = {};
            psoDesc.InputLayout = { inputElementDescs, _countof(inputElementDescs) };
            psoDesc.pRootSignature = g_rootSignature.Get();
            psoDesc.VS = CD3DX12_SHADER_BYTECODE(vertexShader.Get());
            psoDesc.PS = CD3DX12_SHADER_BYTECODE(pixelShader.Get());
            psoDesc.RasterizerState = CD3DX12_RASTERIZER_DESC(D3D12_DEFAULT);
            psoDesc.BlendState = CD3DX12_BLEND_DESC(D3D12_DEFAULT);
            psoDesc.DepthStencilState.DepthEnable = FALSE;
            psoDesc.DepthStencilState.StencilEnable = FALSE;
            psoDesc.SampleMask = UINT_MAX;
            psoDesc.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE;
            psoDesc.NumRenderTargets = 1;
            psoDesc.RTVFormats[0] = DXGI_FORMAT_R8G8B8A8_UNORM;
            psoDesc.SampleDesc.Count = 1;
            if (SUCCEEDED(g_pd3dDevice->CreateGraphicsPipelineState(&psoDesc, IID_PPV_ARGS(&g_pipelineState))))
            {
                cout << "CreateGraphicsPipelineState passed";
            }
            else
            {
                cout << "CreateGraphicsPipelineState failed";
                return E_FAIL;
            }
        }

        // Create the …
Run Code Online (Sandbox Code Playgroud)

c++ directx visual-c++ directx-12

1
推荐指数
1
解决办法
512
查看次数

D3D11 CreateTexture2D 的 D3D12 等价物是什么?

我是 Direct3d 编程的新手,我一直在构建一个简单的 Windows 应用程序,用 d3d12 一个接一个地显示 4 个图像。我对 D3D12 架构有一个基本的了解,到目前为止我已经创建了四个命令分配器(backb 缓冲区大小 = 4)、一个命令列表、一个命令队列、描述符堆和一个栅栏。我还使用 WIC 从文件加载了我的图像。我知道我必须以某种方式将图像纹理数据作为资源。虽然这部分还不清楚,但我想澄清一下如何从 d3d12 中加载的图像中制作纹理。

directx-12 direct3d12

1
推荐指数
1
解决办法
4638
查看次数

你如何在DirectX 12中绘制文本?

这是如何在DirectX 11中绘制文本的后续问题

在Direct3D-12中,事情变得更加复杂,因为它是新的,我无法在线找到任何合适的库.

我正在构建一个基本的Direct3D12 FPS测试应用程序,我喜欢用我的渲染图像在屏幕上显示FPS数据.

directdraw directx-12 direct3d12

1
推荐指数
1
解决办法
3660
查看次数

如何在 DirectX12 和 C++ 中渲染到纹理?流程是什么?

我一直在试图弄清楚如何在 DX12 中将整个场景渲染为纹理。我知道如何在 OpenGL 中执行此操作,但在 DirectX12 中无法解决此问题。另外,网上关于它是如何完成的资源并不多。

(目前我们在场景中有一个 3D 模型渲染,并应用了纹理)

有没有人能指点我一些资源,我可以用这些资源在 DX12 中学习渲染目标和渲染到纹理?或者有什么好的网站?

任何帮助深表感谢。

亲切的问候,查理

c++ graphics game-engine directx-12

1
推荐指数
1
解决办法
452
查看次数

使用堆类型上载更新GPU资源的最佳方法是什么?

我正在使用ID3D12Resource::Map方法来更新GPU资源.这是最有效的方式吗?有哪些替代方案?

directx-12 direct3d12

0
推荐指数
1
解决办法
1400
查看次数

为什么 XMMatrixInverse() 有 pDeterminant 参数?

XMMATRIX XM_CALLCONV XMMatrixInverse(XMVECTOR *pDeterminant, FXMMATRIX M);
Run Code Online (Sandbox Code Playgroud)

我刚刚开始学习directx,我不明白为什么这个函数除了原始矩阵本身之外还要求行列式参数来计算逆。

根据我在数学部分的记忆,仅输入矩阵就足够了:

orig matrix -> cofactor matrix -> adjoint matrix
orig matrix -> det[orig matrix]
inverse = adjoint/det
Run Code Online (Sandbox Code Playgroud)

那么为什么它需要额外的参数呢?加快计算,消除上面的第二步?

c++ directx-12

0
推荐指数
1
解决办法
795
查看次数

dx12) 编译Shader时间太长

在此输入图像描述

分析时,仅着色器编译就花费了大约 14 秒。(尽管加载所有 obj 文件只花了 7 秒。)

我该如何优化这个?我可以选择预编译 hlsl 着色器吗?

c++ directx direct3d hlsl directx-12

0
推荐指数
1
解决办法
769
查看次数