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

回答編集履歴

4

注意書き追記

2021/05/28 02:06

投稿

退会済みユーザー
answer CHANGED
@@ -22,4 +22,8 @@
22
22
  //右下
23
23
  rectangleVertex[5].uv[0] = sizeX * endSize.x;
24
24
  rectangleVertex[5].uv[1] = sizeY * startSize.y;
25
- ```
25
+ ```
26
+
27
+ 上記は質問中の画像とコードから考えた、机上のコードです。
28
+ 「1.0f」から引いてる箇所を削除し、上下を入れ替えてあります。
29
+ そもそもに使い方がよくないなど、それらの問題は考慮しておりません。

3

回答としておそらく不適切な部分を削除

2021/05/28 02:06

投稿

退会済みユーザー
answer CHANGED
@@ -1,9 +1,3 @@
1
- [【OpenGLでゲームを作る】テクスチャを表示する](https://nn-hokuson.hatenablog.com/entry/2017/02/24/171230)
2
-
3
- > どの部分を使用するかは、テクスチャの左下を原点とするuv座標系で指定します。
4
-
5
- 追記
6
-
7
1
  2点指定なのに、暗黙的に「startSize」は左上を選択することになってるのがダサいですね。
8
2
  せめて判定をかませてどちらも受け取れるようにすべきかと。
9
3
  個人的には、左上の点、幅と高さを指定するほうが矩形選択としては好きです。

2

コード追記

2021/05/28 01:49

投稿

退会済みユーザー
answer CHANGED
@@ -1,3 +1,31 @@
1
1
  [【OpenGLでゲームを作る】テクスチャを表示する](https://nn-hokuson.hatenablog.com/entry/2017/02/24/171230)
2
2
 
3
- > どの部分を使用するかは、テクスチャの左下を原点とするuv座標系で指定します。
3
+ > どの部分を使用するかは、テクスチャの左下を原点とするuv座標系で指定します。
4
+
5
+ 追記
6
+
7
+ 2点指定なのに、暗黙的に「startSize」は左上を選択することになってるのがダサいですね。
8
+ せめて判定をかませてどちらも受け取れるようにすべきかと。
9
+ 個人的には、左上の点、幅と高さを指定するほうが矩形選択としては好きです。
10
+
11
+ ```cpp
12
+ //左上
13
+ rectangleVertex[0].uv[0] = sizeX * startSize.x;
14
+ rectangleVertex[0].uv[1] = sizeY * endSize.y;
15
+
16
+ //左下
17
+ rectangleVertex[1].uv[0] = sizeX * startSize.x;
18
+ rectangleVertex[1].uv[1] = sizeY * startSize.y;
19
+ rectangleVertex[4].uv[0] = sizeX * startSize.x;
20
+ rectangleVertex[4].uv[1] = sizeY * startSize.y;
21
+
22
+ //右上
23
+ rectangleVertex[2].uv[0] = sizeX * endSize.x;
24
+ rectangleVertex[2].uv[1] = sizeY * endSize.y;
25
+ rectangleVertex[3].uv[0] = sizeX * endSize.x;
26
+ rectangleVertex[3].uv[1] = sizeY * endSize.y;
27
+
28
+ //右下
29
+ rectangleVertex[5].uv[0] = sizeX * endSize.x;
30
+ rectangleVertex[5].uv[1] = sizeY * startSize.y;
31
+ ```

1

余計な引用を削除

2021/05/28 01:23

投稿

退会済みユーザー
answer CHANGED
@@ -1,3 +1,3 @@
1
1
  [【OpenGLでゲームを作る】テクスチャを表示する](https://nn-hokuson.hatenablog.com/entry/2017/02/24/171230)
2
2
 
3
- > どの部分を使用するかは、テクスチャの左下を原点とするuv座標系で指定します。今回はテクスチャの全面を使用するので、0 ≦ u ≦ 1, 0 ≦ v ≦ 1 の範囲で指定します。
3
+ > どの部分を使用するかは、テクスチャの左下を原点とするuv座標系で指定します。