質問編集履歴
1
始めに投稿したコードはやっていることが支離滅裂だったので書き直しました。ですが.csoバイナリシェーダーオブジェクトファイル読み込めていないようです。
test
CHANGED
File without changes
|
test
CHANGED
@@ -8,19 +8,17 @@
|
|
8
8
|
|
9
9
|
|
10
10
|
|
11
|
+
//char outfile[] = "VertexShader.cso";
|
12
|
+
|
11
13
|
HRESULT result;
|
12
14
|
|
13
|
-
|
15
|
+
|
14
16
|
|
15
|
-
|
17
|
+
std::ifstream ifs("VertexShader.cso", std::ios::binary);
|
16
18
|
|
19
|
+
if (!ifs)
|
17
20
|
|
18
|
-
|
19
|
-
file.open("VertexShader.cso", ios::in | ios::binary);
|
20
|
-
|
21
|
-
|
21
|
+
{
|
22
|
-
|
23
|
-
cout << "file open error" << endl;
|
24
22
|
|
25
23
|
result = E_FAIL;
|
26
24
|
|
@@ -30,35 +28,31 @@
|
|
30
28
|
|
31
29
|
|
32
30
|
|
33
|
-
|
31
|
+
ifs.seekg(0, std::ios::end);
|
34
32
|
|
33
|
+
size_t size = ifs.tellg();
|
34
|
+
|
35
|
+
CHAR* buffer = new CHAR[size];
|
36
|
+
|
35
|
-
|
37
|
+
ifs.read(buffer, size);
|
38
|
+
|
39
|
+
ifs.close();
|
36
40
|
|
37
41
|
|
38
42
|
|
39
|
-
for (int i = 0, size = file.gcount(); i < size; i++) {
|
40
|
-
|
41
|
-
cout << buf[i] << flush;
|
42
|
-
|
43
|
-
}
|
44
|
-
|
45
|
-
}
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
file.close();
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
result = device->CreateVertexShader(&buf, sizeof(buf), NULL, &resVS);
|
43
|
+
result = device->CreateVertexShader(&buffer, sizeof(buffer), NULL, &resVS);
|
54
44
|
|
55
45
|
if (FAILED(result))
|
56
46
|
|
57
47
|
{
|
58
48
|
|
49
|
+
delete buffer;
|
50
|
+
|
59
51
|
return result;
|
60
52
|
|
61
53
|
}
|
54
|
+
|
55
|
+
delete buffer;
|
62
56
|
|
63
57
|
|
64
58
|
|