質問編集履歴
2
文章を修正
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
Opengl マテリアル感を出す方法が知りたい。
|
1
|
+
Opengl シルバーのマテリアル感を出す方法が知りたい。
|
body
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
提示コードのMain.cppコード部ですがマテリアルのライティングでマテリアル感を出すにはどういったマテリアルを指定すればいいのでしょうか?参考サイトを参考にマテリアルを実装したいのですがいまいち体感がありません。どうすればマテリアル感を出せるのでしょうか?
|
1
|
+
提示コードのMain.cppコード部ですがマテリアルのライティングでマテリアル感を出すにはどういったマテリアルを指定すればいいのでしょうか?参考サイトを参考にマテリアルを実装したいのですがいまいち体感がありません。どうすればマテリアル感を出せるのでしょうか?参考サイトを参考にマテリアルを設定しましたが今一再現できません。
|
2
2
|
|
3
3
|
##### 知りたいこと
|
4
4
|
マテリアル感を出すにはどういった値を設定すればいいのか?
|
5
5
|
マテリアルとは質感という言い方をしますが色なのでしょうか?
|
6
6
|
|
7
|
-

|
8
8
|
|
9
9
|
参考サイト: [https://learnopengl.com/Lighting/Materials](https://learnopengl.com/Lighting/Materials)
|
10
10
|
参考サイト:[ http://devernay.free.fr/cours/opengl/materials.html](http://devernay.free.fr/cours/opengl/materials.html)
|
1
文章を修正
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
|
1
|
+
Opengl マテリアル感を出す方法が知りたい。
|
body
CHANGED
@@ -7,11 +7,20 @@
|
|
7
7
|

|
8
8
|
|
9
9
|
参考サイト: [https://learnopengl.com/Lighting/Materials](https://learnopengl.com/Lighting/Materials)
|
10
|
+
参考サイト:[ http://devernay.free.fr/cours/opengl/materials.html](http://devernay.free.fr/cours/opengl/materials.html)
|
10
11
|
|
11
|
-
|
12
12
|
##### Main.cpp
|
13
13
|
```
|
14
|
+
// LightCube
|
15
|
+
lightCube.shader->setEnable();
|
16
|
+
lightCube.setPosition(lightPos);
|
17
|
+
lightCube.setScale(glm::vec3(10, 10, 10));
|
18
|
+
lightCube.shader->setUniform4f("uFragment",FrameWork::GetGlColor(glm::vec4(255,255,255,255)));
|
19
|
+
lightCube.Renderer();
|
20
|
+
lightCube.shader->setDisable();
|
14
21
|
|
22
|
+
|
23
|
+
|
15
24
|
// Cube
|
16
25
|
cube.shader->setEnable();
|
17
26
|
cube.setPosition(cubePos);
|
@@ -23,38 +32,19 @@
|
|
23
32
|
lightColor.y = 1.0f;
|
24
33
|
lightColor.z = 1.0f;
|
25
34
|
|
26
|
-
glm::vec3 diffuseColor = lightColor
|
35
|
+
glm::vec3 diffuseColor = lightColor; // decrease the influence
|
27
|
-
glm::vec3 ambientColor = diffuseColor
|
36
|
+
glm::vec3 ambientColor = diffuseColor; // low influence
|
28
37
|
cube.shader->setUniform3f("light.ambient", ambientColor);
|
29
38
|
cube.shader->setUniform3f("light.diffuse", diffuseColor);
|
30
39
|
cube.shader->setUniform3f("light.specular", glm::vec3(1.0f, 1.0f, 1.0f));
|
31
40
|
|
32
41
|
// material properties
|
33
|
-
cube.shader->setUniform3f("material.ambient",glm::vec3(
|
42
|
+
cube.shader->setUniform3f("material.ambient",glm::vec3( 0.19225, 0.19225, 0.19225));
|
34
|
-
cube.shader->setUniform3f("material.diffuse", glm::vec3(
|
43
|
+
cube.shader->setUniform3f("material.diffuse", glm::vec3(0.50754, 0.50754, 0.50754));
|
35
|
-
cube.shader->setUniform3f("material.specular", glm::vec3(0.
|
44
|
+
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
|
36
|
-
cube.shader->setUniform1f("material.shininess",
|
45
|
+
cube.shader->setUniform1f("material.shininess", 128.0f * 0.4f);
|
37
|
-
|
38
|
-
|
39
46
|
cube.shader->setUniform3f("uViewPosition", FrameWork::Camera::getPosition());
|
40
47
|
|
41
|
-
/*
|
42
|
-
cube.shader->setUniform3f("uObjectColor", FrameWork::GetGlColor(glm::vec4(255,255,255,255)));
|
43
|
-
cube.shader->setUniform3f("uLightColor", FrameWork::GetGlColor(glm::vec4(255,255,255,255)));
|
44
|
-
cube.shader->setUniform3f("uLightPosition",lightPos);
|
45
|
-
cube.shader->setUniform3f("uViewPosition", FrameWork::Camera::getPosition());
|
46
|
-
cube.shader->setUniform1f("uAmbientStrength",0.1f);
|
47
|
-
cube.shader->setUniform1f("uSpecularStrength",0.5f);
|
48
|
-
cube.shader->setUniform1f("uShininessStrength",16.0f);
|
49
|
-
*/
|
50
|
-
|
51
|
-
|
52
|
-
// cube.shader->setUniform4f("uFragment",FrameWork::GetGlColor(glm::vec4(100,0,0,255)));
|
53
|
-
cube.Renderer();
|
54
|
-
cube.shader->setDisable();
|
55
|
-
|
56
|
-
|
57
|
-
/*
|
58
48
|
```
|
59
49
|
|
60
50
|
##### VertexShader
|