Re: [問題] OpenGL 選特定物件配合按鍵移動問題
看板C_and_CPP (C/C++)作者capucino (是人心在動...)時間16年前 (2010/05/13 17:25)推噓4(4推 0噓 37→)留言41則, 3人參與討論串2/3 (看更多)
: 查了一下用按鍵控制似乎是對整個openGL所畫的物體做反應
: 比方說按方向鍵→ ,
: 若程式設定為向右移,假設裡面有一個茶壺 和一個方塊
: 則茶壺和方塊皆往右移
:
: 但如果想要只讓某特定物件作移動或旋轉,
: 該怎麼辦呢?
:
: 是用 glMatrixMode(GL_MODELVIEW);
: glLoadIdentitt();
: 指定當前的model
:
: 但是按鑑按下去怎麼知道是我只讓"此model" 作反應呢?
:
: ps.我是用BCB寫的 感謝
:
: --
: ※ 發信站: 批踢踢實業坊(ptt.cc)
: ◆ From: 60.249.246.54
: 推 QQ29:glPushMatrix 和 glPopMatrix 要夾著 你的model矩陣 05/13 16:36
: → QQ29:當移動玩茶壺 pop原來的modelview 在畫 另一物體 05/13 16:36
: → capucino:不好意思,我指的是假設我的model都已經畫定位了 05/13 17:04
: 推 QQ29:就是這樣阿 你當然要自己在idle function作一些紀錄 05/13 17:06
: → QQ29:每次的重畫 都是從 原來位置 作translate rotate 05/13 17:07
: → QQ29:你都使用同一個 model矩陣 當然物體會一起 動阿 05/13 17:09
//比方說這裡是畫物件的funtion
void __fastcall TFormMain::DrawObjects()
{
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();//載入單位矩陣
glTranslatef(50.0f,50.0f,0.0f);
glutSolidTeapot(10.0f);//畫茶壺1
glColor3f(1.0f,1.0f,0.0f);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();//載入單位矩陣
glTranslatef(100.0f,100.0f,0.0f);
glutSolidTeapot(20.0f);//畫茶壺2
}
//下面是我按方向鍵位移的function
void __fastcall TFormMain::FormKeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if(Key == VK_UP)
glTranslatef(0.0f, 5.0f,0.0f);
if(Key == VK_DOWN)
glTranslatef(0.0f, -5.0f, 0.0f);
if(Key == VK_LEFT)
glTranslatef(-5.0f, 0.0f, 0.0f);
if(Key == VK_RIGHT)
glTranslatef(5.0f, 0.0f, 0.0f);
}
那我該怎麼指名讓茶壺1 或 茶壺2 移動呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.249.246.54
推
05/13 17:42, , 1F
05/13 17:42, 1F
→
05/13 17:42, , 2F
05/13 17:42, 2F
→
05/13 17:43, , 3F
05/13 17:43, 3F
→
05/13 17:43, , 4F
05/13 17:43, 4F
→
05/13 17:44, , 5F
05/13 17:44, 5F
→
05/13 17:44, , 6F
05/13 17:44, 6F
→
05/13 17:45, , 7F
05/13 17:45, 7F
→
05/13 17:49, , 8F
05/13 17:49, 8F
→
05/13 17:50, , 9F
05/13 17:50, 9F
→
05/13 17:51, , 10F
05/13 17:51, 10F
→
05/13 17:52, , 11F
05/13 17:52, 11F
推
05/13 17:54, , 12F
05/13 17:54, 12F
→
05/13 17:55, , 13F
05/13 17:55, 13F
→
05/13 17:55, , 14F
05/13 17:55, 14F
→
05/13 17:56, , 15F
05/13 17:56, 15F
→
05/13 17:56, , 16F
05/13 17:56, 16F
→
05/13 17:57, , 17F
05/13 17:57, 17F
→
05/13 17:57, , 18F
05/13 17:57, 18F
→
05/13 17:58, , 19F
05/13 17:58, 19F
→
05/13 17:58, , 20F
05/13 17:58, 20F
→
05/13 17:58, , 21F
05/13 17:58, 21F
→
05/13 17:59, , 22F
05/13 17:59, 22F
→
05/13 17:59, , 23F
05/13 17:59, 23F
→
05/13 18:00, , 24F
05/13 18:00, 24F
→
05/13 18:00, , 25F
05/13 18:00, 25F
→
05/13 18:01, , 26F
05/13 18:01, 26F
→
05/13 18:01, , 27F
05/13 18:01, 27F
→
05/13 18:02, , 28F
05/13 18:02, 28F
→
05/13 18:02, , 29F
05/13 18:02, 29F
→
05/13 18:02, , 30F
05/13 18:02, 30F
→
05/13 18:02, , 31F
05/13 18:02, 31F
→
05/13 18:03, , 32F
05/13 18:03, 32F
推
05/13 20:19, , 33F
05/13 20:19, 33F
→
05/13 20:19, , 34F
05/13 20:19, 34F
→
05/13 22:43, , 35F
05/13 22:43, 35F
推
05/13 22:56, , 36F
05/13 22:56, 36F
→
05/13 22:57, , 37F
05/13 22:57, 37F
→
05/13 22:58, , 38F
05/13 22:58, 38F
→
05/13 22:58, , 39F
05/13 22:58, 39F
→
05/13 22:59, , 40F
05/13 22:59, 40F
→
05/13 22:59, , 41F
05/13 22:59, 41F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章