質問編集履歴

2

文章を修正

2021/11/01 09:13

投稿

退会済みユーザー
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
- ![イメージ説明](b185e30bae4a614870f223a75c81616b.png)
13
+ ![イメージ説明](fc244571d4631067b63553609e9ef1e8.png)
14
14
 
15
15
 
16
16
 

1

文章を修正

2021/11/01 09:13

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- Material ライティングについてマテリアル感を出す方法が知りたい。
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 * glm::vec3(0.5f); // decrease the influence
69
+ glm::vec3 diffuseColor = lightColor; // decrease the influence
52
-
70
+
53
- glm::vec3 ambientColor = diffuseColor * glm::vec3(0.2f); // low influence
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.0f, 0.5f, 0.31f));
83
+ cube.shader->setUniform3f("material.ambient",glm::vec3( 0.19225, 0.19225, 0.19225));
66
-
84
+
67
- cube.shader->setUniform3f("material.diffuse", glm::vec3(1.0f, 0.5f, 0.31f));
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.5f, 0.5f, 0.5f)); // specular lighting doesn't have full effect on this object's material
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", 32.0f);
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