|
|
|
|
32
|
DKObject<DKCommandQueue> queue = device->CreateCommandQueue(DKCommandQueue::Graphics);
|
32
|
DKObject<DKCommandQueue> queue = device->CreateCommandQueue(DKCommandQueue::Graphics);
|
33
|
DKObject<DKSwapChain> swapChain = queue->CreateSwapChain(window);
|
33
|
DKObject<DKSwapChain> swapChain = queue->CreateSwapChain(window);
|
34
|
|
34
|
|
|
|
35
|
+ DKLog("VertexFunction.VertexAttributes: %d", vertShaderFunction->VertexAttributes().Count());
|
|
|
36
|
+ for (int i = 0; i < vertShaderFunction->VertexAttributes().Count(); ++i)
|
|
|
37
|
+ {
|
|
|
38
|
+ const DKVertexAttribute& attr = vertShaderFunction->VertexAttributes().Value(i);
|
|
|
39
|
+ DKLog(" --> VertexAttribute[%d]: %ls (%u)", i, (const wchar_t*)attr.name, attr.location);
|
|
|
40
|
+ }
|
|
|
41
|
+
|
35
|
struct Vertex
|
42
|
struct Vertex
|
36
|
{
|
43
|
{
|
37
|
DKVector3 position;
|
44
|
DKVector3 position;
|
|
|
|
|
75
|
pipelineDescriptor.cullMode = DKCullMode::None;
|
82
|
pipelineDescriptor.cullMode = DKCullMode::None;
|
76
|
pipelineDescriptor.rasterizationEnabled = true;
|
83
|
pipelineDescriptor.rasterizationEnabled = true;
|
77
|
|
84
|
|
78
|
- DKPipelineReflection reflection;
|
|
|
|
|
85
|
+ DKRenderPipelineReflection reflection;
|
79
|
DKObject<DKRenderPipelineState> pipelineState = device->CreateRenderPipeline(pipelineDescriptor, &reflection);
|
86
|
DKObject<DKRenderPipelineState> pipelineState = device->CreateRenderPipeline(pipelineDescriptor, &reflection);
|
|
|
87
|
+ if (pipelineState)
|
|
|
88
|
+ {
|
|
|
89
|
+ DKLog("PipelineReflection.VertexArguments: %d", reflection.vertexArguments.Count());
|
|
|
90
|
+ DKLog("PipelineReflection.FragmentArguments: %d", reflection.fragmentArguments.Count());
|
|
|
91
|
+ }
|
80
|
|
92
|
|
81
|
DKTimer timer;
|
93
|
DKTimer timer;
|
82
|
timer.Reset();
|
94
|
timer.Reset();
|