- 【C++】 DirectX初心者質問スレ Part40 【C】©2ch.net
170 :デフォルトの名無しさん[sage]:2016/11/23(水) 14:02:56.28 ID:I8fNm7Sk - ID3D11DeviceのCreateBufferの第二引数でD3D11_SUBRESOURCE_DATA構造体を渡すとブレークポイントが発生してしまいます
NULLだと発生しません
|
- 【C++】 DirectX初心者質問スレ Part40 【C】©2ch.net
173 :デフォルトの名無しさん[]:2016/11/23(水) 14:35:49.97 ID:I8fNm7Sk - >>171
memsetを使ってもZeroMemoryを使っても発生します
|
- 【C++】 DirectX初心者質問スレ Part40 【C】©2ch.net
174 :デフォルトの名無しさん[sage]:2016/11/23(水) 14:42:40.08 ID:I8fNm7Sk - >>172
初心者なのでよくわからないんですけど D3D11_BUFFER_DESCのByteWidthと頂点構造体を動的確保するときもおなじ変数を使っています
|
- 【C++】 DirectX初心者質問スレ Part40 【C】©2ch.net
176 :デフォルトの名無しさん[sage]:2016/11/23(水) 14:46:03.83 ID:I8fNm7Sk - 頂点数が24とか少ないと問題なく動くのですが
70000などと多すぎると発生するみたいです
|
- 【C++】 DirectX初心者質問スレ Part40 【C】©2ch.net
178 :デフォルトの名無しさん[sage]:2016/11/23(水) 14:55:55.71 ID:I8fNm7Sk - vertexCount = 79987;
VertexType* vertex = new VertexType[79987]; for(int i = 0; i < vertexCount; i++) { vertex[i].pos = XMFLOAT3(0.0f, 0.0f, 0.0f); vertex[i].nor = XMFLOAT3(0.0f, 0.0f, 0.0f); vertex[i].uv = XMFLOAT2(0.0f, 0.0f); vertex[i].boneIdx[0] = 0; vertex[i].boneIdx[1] = 0; vertex[i].boneIdx[2] = 0; vertex[i].boneIdx[3] = 0; vertex[i].weight = XMFLOAT4(0.0f, 0.0f, 0.0f, 0.0f); } bufferDesc.Usage = D3D11_USAGE_DEFAULT; bufferDesc.ByteWidth = sizeof(VertexType) * vertexCount; bufferDesc.BindFlags = D3D11_BIND_VERTEX_BUFFER; bufferDesc.CPUAccessFlags = 0; bufferDesc.MiscFlags = 0; bufferDesc.StructureByteStride = 0; initData.pSysMem = vertex; initData.SysMemPitch = 0; initData.SysMemSlicePitch = 0; hr = device->CreateBuffer(&bufferDesc, &initData, &m_vertexBuffer); if (FAILED(hr)) throw L"CreateVertexBuffer"; こんな感じです
|
- 【C++】 DirectX初心者質問スレ Part40 【C】©2ch.net
181 :デフォルトの名無しさん[sage]:2016/11/23(水) 16:33:18.13 ID:I8fNm7Sk - >>180
調査してみたところ 5350までは問題なくて、それ以降は安定しないのでそれでもなさそうです
|
- 【C++】 DirectX初心者質問スレ Part40 【C】©2ch.net
185 :デフォルトの名無しさん[sage]:2016/11/23(水) 17:04:49.61 ID:I8fNm7Sk - >>183
>>184 すみません、自己解決しました クラスを丸ごと書き直したら動くようになりました 何が駄目だったのかは分かりませんが・・・
|