一体何が本件の問題点なのか,掴みかねますが…
(1)
まずはglmのマニュアルなりを見るべきじゃないですかね.
そんなどこぞの端的な記述だけ見て「?」とか言ってても仕方ないでしょう.
glmをDLしてくると丁寧にドキュメントも含まれてます.
一瞬でもリファレンスでglm::scale
を調べたならば,
glm::scale(e,size);
こんな記述はしないハズ.
(この関数は引数がどちらも const参照 なのだが,この呼び出しで何を期待する?)
(この関数には戻り値が存在するが,無視してよいのか?)
(2)
あとは,理解が正しいかどうかを
こんな感じ↓に,実際に確認でもしてみればよいのでは.
C++
1//mat4の全要素を表示してみるぜ
2void OutputMatrix( const glm::mat4 &M )
3{
4 std::cout << "----------\n";
5 for( int row=0; row<4; ++row )
6 {
7 for( int col=0; col<4; ++col )
8 {
9 std::cout << '[' << M[row][col] << ']';
10 }
11 std::cout << "\n";
12 }
13 std::cout << "----------\n" << std::endl;
14}
15
16//
17int main(int argc, char *argv[])
18{
19 //mat4のインスタンスを作ってみたぜ
20 //(1)コンストラクタにこんな形で値を渡せば良いように見えるが本当か?
21 glm::mat4 e(
22 1, 2, 3, 4,
23 11, 12, 13, 14,
24 21, 22, 23, 24,
25 31, 32, 33, 34
26 );
27 //(1)の妥当性を確認するために
28 //現在の中身を表示してみるぜ
29 OutputMatrix( e );
30
31 {//(2) glm::scale()ってのは何が起こるんだよ? リファレンス見てもよくわからんかったぞ?
32 //じゃあ,もう,実際にやってみるぜ
33 glm::vec3 size( 2, 3, 10 );
34 e = glm::scale( e, size );
35 //中身がどうなったのか表示してみるぜ.これでglm::scale()の正体が暴かれるぜ!
36 OutputMatrix( e );
37 }
38 return 0;
39}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/20 02:23
2020/11/20 02:27
2020/11/20 05:16 編集
2020/11/20 05:23
2020/11/20 05:43
2020/11/20 05:55
2020/11/20 06:12
2020/11/20 12:28 編集
2020/11/21 02:47 編集
2020/11/21 07:31 編集
2020/11/21 10:03 編集