質問するログイン新規登録

質問編集履歴

4

文章を修正

2021/05/28 04:54

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,7 @@
1
1
  提示コードの頂点属性のUVデータを更新コメント部内部のコードですがUV座標を正しく設定してもなぜか画像が左下を基準に描画されるのですがこれはなぜでしょうか? 画像は480,480の画像です。画像はフリー素材です。
2
2
 
3
3
  やりたいこと「 画像の左上を基準に描画範囲を絞って描画させいたいが現状なぜか左下を基準に描画されてしまう。 」
4
- 試したこと「UV座標のY座標1が上なのですがを下が1と仮定してやってたら一左上を基準となりますが描画画像向きが上下逆なってしいます。」
4
+ 試したこと「タイプAでAうに表示されタイプBではBよう表示されます。」
5
5
 
6
6
 
7
7
 
@@ -15,11 +15,15 @@
15
15
  Github: https://github.com/Shigurechan/OpenGL_FrameWork/tree/8c5474f912d17d070cdb94c610d6192bd9a14c3a
16
16
  (Sprite.cpp DrawGprah()関数部)
17
17
 
18
+ A
18
- ![イメージ説明](4697069affaf76af09343fdcbae0d8c9.png)
19
+ ![A](4697069affaf76af09343fdcbae0d8c9.png)
20
+ B
21
+ ![B](93402a84b27d46de9cf5423b6575d08b.png)
19
22
  ![イメージ説明](4df9bf302c0463d33ea21ef53e15a3c4.png)
20
23
 
21
24
 
22
25
 
26
+
23
27
  ```cpp
24
28
  sprite->DrawGraph(glm::vec2(100, 100), 0, 0, glm::vec2(0, 0), glm::vec2(0,0), glm::vec2(240, 240));
25
29
  ```
@@ -48,7 +52,7 @@
48
52
 
49
53
 
50
54
 
51
-
55
+ //タイプA
52
56
  //左上
53
57
  rectangleVertex[0].uv[0] = sizeX * startSize.x;
54
58
  rectangleVertex[0].uv[1] = 1.0f - (sizeY * startSize.y);
@@ -69,8 +73,36 @@
69
73
  rectangleVertex[5].uv[0] = sizeX * endSize.x;
70
74
  rectangleVertex[5].uv[1] = 1.0f - (sizeY * endSize.y);
71
75
 
76
+ /*
77
+ // タイプB
78
+ //左上
79
+ rectangleVertex[0].uv[0] = sizeX * startSize.x;
80
+ rectangleVertex[0].uv[1] = (sizeY * startSize.y);
72
81
 
82
+ //左下
83
+ rectangleVertex[1].uv[0] = sizeX * startSize.x;
84
+ rectangleVertex[1].uv[1] = (sizeY * endSize.y);
85
+ rectangleVertex[4].uv[0] = sizeX * startSize.x;
86
+ rectangleVertex[4].uv[1] = (sizeY * endSize.y);
73
87
 
88
+ //右上
89
+ rectangleVertex[2].uv[0] = (sizeX * endSize.x);
90
+ rectangleVertex[2].uv[1] = (sizeY * startSize.y);
91
+ rectangleVertex[3].uv[0] = (sizeX * endSize.x);
92
+ rectangleVertex[3].uv[1] = (sizeY * startSize.y);
93
+
94
+ //右下
95
+ rectangleVertex[5].uv[0] = sizeX * endSize.x;
96
+ rectangleVertex[5].uv[1] = (sizeY * endSize.y);
97
+ */
98
+
99
+
100
+
101
+
102
+
103
+
104
+
105
+
74
106
  glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(VertexUV) * 6, rectangleVertex);
75
107
  // ###################################################
76
108
 

3

文章を修正

2021/05/28 04:54

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,10 @@
1
- 提示コードの頂点属性のUVデータを更新コメント部内部のコードですがUV座標を正しく設定してもその逆を設定してもなぜか画像が左下を基準に描画されるのですがこれはなぜでしょうか? 画像は480,480の画像です。画像はフリー素材です。その逆とはUV座標の上が1ですが。上が0という設定をしても正しくなりません
1
+ 提示コードの頂点属性のUVデータを更新コメント部内部のコードですがUV座標を正しく設定してもなぜか画像が左下を基準に描画されるのですがこれはなぜでしょうか? 画像は480,480の画像です。画像はフリー素材です。
2
2
 
3
+ やりたいこと「 画像の左上を基準に描画範囲を絞って描画させいたいが現状なぜか左下を基準に描画されてしまう。 」
4
+ 試したこと「UV座標のY座標は1が上なのですがを下が1と仮定してやってたら一は左上を基準となりますが描画画像の向きが上下逆になってしまいます。」
3
5
 
6
+
7
+
4
8
  利用ライブラリ
5
9
  opengl
6
10
  glfw

2

文章を修正しました。

2021/05/27 12:26

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,4 @@
1
- 提示コードの頂点属性のUVデータを更新コメント部内部のコードですがUV座標を正しく設定してもその逆を設定してもなぜか画像が左下を基準に描画されるのですがこれはなぜでしょうか? 画像は480,480の画像です。画像はフリー素材です。
1
+ 提示コードの頂点属性のUVデータを更新コメント部内部のコードですがUV座標を正しく設定してもその逆を設定してもなぜか画像が左下を基準に描画されるのですがこれはなぜでしょうか? 画像は480,480の画像です。画像はフリー素材です。その逆とはUV座標の上が1ですが。上が0という設定をしても正しくなりません
2
2
 
3
3
 
4
4
  利用ライブラリ

1

文章を修正

2021/05/27 09:58

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,15 @@
1
1
  提示コードの頂点属性のUVデータを更新コメント部内部のコードですがUV座標を正しく設定してもその逆を設定してもなぜか画像が左下を基準に描画されるのですがこれはなぜでしょうか? 画像は480,480の画像です。画像はフリー素材です。
2
2
 
3
3
 
4
+ 利用ライブラリ
5
+ opengl
6
+ glfw
7
+ glew
8
+ glmライブラリ
9
+ stbライブラリ
4
10
 
11
+ Github: https://github.com/Shigurechan/OpenGL_FrameWork/tree/8c5474f912d17d070cdb94c610d6192bd9a14c3a
12
+ (Sprite.cpp DrawGprah()関数部)
5
13
 
6
14
  ![イメージ説明](4697069affaf76af09343fdcbae0d8c9.png)
7
15
  ![イメージ説明](4df9bf302c0463d33ea21ef53e15a3c4.png)