質問編集履歴
2
文章を修正
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
Opengl マテリアル感を出す方法が知りたい。
|
1
|
+
Opengl シルバーのマテリアル感を出す方法が知りたい。
|
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
提示コードのMain.cppコード部ですがマテリアルのライティングでマテリアル感を出すにはどういったマテリアルを指定すればいいのでしょうか?参考サイトを参考にマテリアルを実装したいのですがいまいち体感がありません。どうすればマテリアル感を出せるのでしょうか?
|
1
|
+
提示コードのMain.cppコード部ですがマテリアルのライティングでマテリアル感を出すにはどういったマテリアルを指定すればいいのでしょうか?参考サイトを参考にマテリアルを実装したいのですがいまいち体感がありません。どうすればマテリアル感を出せるのでしょうか?参考サイトを参考にマテリアルを設定しましたが今一再現できません。
|
2
2
|
|
3
3
|
|
4
4
|
|
@@ -10,7 +10,7 @@
|
|
10
10
|
|
11
11
|
|
12
12
|
|
13
|
-
![イメージ説明](
|
13
|
+
![イメージ説明](fc244571d4631067b63553609e9ef1e8.png)
|
14
14
|
|
15
15
|
|
16
16
|
|
1
文章を修正
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
Opengl マテリアル感を出す方法が知りたい。
|
test
CHANGED
@@ -16,7 +16,7 @@
|
|
16
16
|
|
17
17
|
参考サイト: [https://learnopengl.com/Lighting/Materials](https://learnopengl.com/Lighting/Materials)
|
18
18
|
|
19
|
-
|
19
|
+
参考サイト:[ http://devernay.free.fr/cours/opengl/materials.html](http://devernay.free.fr/cours/opengl/materials.html)
|
20
20
|
|
21
21
|
|
22
22
|
|
@@ -24,6 +24,24 @@
|
|
24
24
|
|
25
25
|
```
|
26
26
|
|
27
|
+
// LightCube
|
28
|
+
|
29
|
+
lightCube.shader->setEnable();
|
30
|
+
|
31
|
+
lightCube.setPosition(lightPos);
|
32
|
+
|
33
|
+
lightCube.setScale(glm::vec3(10, 10, 10));
|
34
|
+
|
35
|
+
lightCube.shader->setUniform4f("uFragment",FrameWork::GetGlColor(glm::vec4(255,255,255,255)));
|
36
|
+
|
37
|
+
lightCube.Renderer();
|
38
|
+
|
39
|
+
lightCube.shader->setDisable();
|
40
|
+
|
41
|
+
|
42
|
+
|
43
|
+
|
44
|
+
|
27
45
|
|
28
46
|
|
29
47
|
// Cube
|
@@ -48,9 +66,9 @@
|
|
48
66
|
|
49
67
|
|
50
68
|
|
51
|
-
glm::vec3 diffuseColor = lightColor
|
69
|
+
glm::vec3 diffuseColor = lightColor; // decrease the influence
|
52
|
-
|
70
|
+
|
53
|
-
glm::vec3 ambientColor = diffuseColor
|
71
|
+
glm::vec3 ambientColor = diffuseColor; // low influence
|
54
72
|
|
55
73
|
cube.shader->setUniform3f("light.ambient", ambientColor);
|
56
74
|
|
@@ -62,56 +80,18 @@
|
|
62
80
|
|
63
81
|
// material properties
|
64
82
|
|
65
|
-
cube.shader->setUniform3f("material.ambient",glm::vec3( 1
|
83
|
+
cube.shader->setUniform3f("material.ambient",glm::vec3( 0.19225, 0.19225, 0.19225));
|
66
|
-
|
84
|
+
|
67
|
-
cube.shader->setUniform3f("material.diffuse", glm::vec3(
|
85
|
+
cube.shader->setUniform3f("material.diffuse", glm::vec3(0.50754, 0.50754, 0.50754));
|
68
|
-
|
86
|
+
|
69
|
-
cube.shader->setUniform3f("material.specular", glm::vec3(0.5
|
87
|
+
cube.shader->setUniform3f("material.specular", glm::vec3(0.508273, 0.508273, 0.508273)); // specular lighting doesn't have full effect on this object's material
|
70
|
-
|
88
|
+
|
71
|
-
cube.shader->setUniform1f("material.shininess",
|
89
|
+
cube.shader->setUniform1f("material.shininess", 128.0f * 0.4f);
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
90
|
|
77
91
|
cube.shader->setUniform3f("uViewPosition", FrameWork::Camera::getPosition());
|
78
92
|
|
79
93
|
|
80
94
|
|
81
|
-
/*
|
82
|
-
|
83
|
-
cube.shader->setUniform3f("uObjectColor", FrameWork::GetGlColor(glm::vec4(255,255,255,255)));
|
84
|
-
|
85
|
-
cube.shader->setUniform3f("uLightColor", FrameWork::GetGlColor(glm::vec4(255,255,255,255)));
|
86
|
-
|
87
|
-
cube.shader->setUniform3f("uLightPosition",lightPos);
|
88
|
-
|
89
|
-
cube.shader->setUniform3f("uViewPosition", FrameWork::Camera::getPosition());
|
90
|
-
|
91
|
-
cube.shader->setUniform1f("uAmbientStrength",0.1f);
|
92
|
-
|
93
|
-
cube.shader->setUniform1f("uSpecularStrength",0.5f);
|
94
|
-
|
95
|
-
cube.shader->setUniform1f("uShininessStrength",16.0f);
|
96
|
-
|
97
|
-
*/
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
// cube.shader->setUniform4f("uFragment",FrameWork::GetGlColor(glm::vec4(100,0,0,255)));
|
104
|
-
|
105
|
-
cube.Renderer();
|
106
|
-
|
107
|
-
cube.shader->setDisable();
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
/*
|
114
|
-
|
115
95
|
```
|
116
96
|
|
117
97
|
|