C_and_CPP 板


LINE

※ 引述《purple0619 (紫狱)》之铭言: : 开发平台(Platform): (Ex: VC++, GCC, Linux, ...) : BCB6 : 问题(Question): : 初学BCB6,要用到OpneGL,上网找影片学习。 : 影片里面有用到,OpenGL的按钮,请问要安装什麽吗? : http://i.imgur.com/DUfHNqH.jpg : PS.有上网找资料,好像是要在Install component安装才会有选项 : 有试着安装GLScene,但是没有出现OpenGL的图示。 : 补充说明(Supplement): : 需要用BCB6,编写工具机与机械手臂的模拟, : 请问有什麽推荐的书籍或资料可以参考吗? : 谢谢各位! 一开始我也跟你一样,找了很多「元件」来安装, 但是装了後程式的移植性势必受到影响, 未来想换其他编译器就比较难! 在 BCB 的 include/GL 资料夹中,已经有 gl.h 等函式库可以使用。 我们需要做的是使用这个函式库,最好再把她打包成物件。 大约长这样: #include <windows.h> #include <GL\gl.h> #include <GL\glu.h> class yourGL { public: yourColor backgroundColor; private: HWND hwnd; HGLRC glrc; HDC dc; public: yourGL(); ~yourGL(); bool Begin(int windowWidth, int windowHeight)const; void End()const; void Initialize(HWND hwnd_); } 你也可以试着把常用的光照、绘制地板(DrawGround)、滑鼠事件(控制视角)等等功能加入。 1. 在使用上先呼叫 Initial(HWND hwnd_) 初始化,并指定绘图区域: yourGL.Initial(this->Handle); //把整个视窗当作画布 yourGL.Initial(Panel1->Handle); //绘制在Panel1上 初始化只需一次,你可以参考 http://www.nullterminator.net/opengl32.html void EnableOpenGL(HWND hWnd, HDC * hDC, HGLRC * hRC); 2. 接着我希望利用 Timer 事件在「Panel1」上画图: void __fastcall TForm1::Timer1Timer(TObject *Sender) { //画直线 yourGL.Begin(Panel1->Width,Panel1->Height); glBegin(GL_LINES); glVertex3f(0,0,0); glVertex3f(1,0,0); glEnd(); yourGL.End(); } 其中 yourGL.End(); 就是呼叫 SwapBuffers(dc) 而已: void yourGL::End()const { SwapBuffers(dc); } 至於 yourGL.Begin(int,int) 则是写一些画面清除、视角设定等指令。 你可以参考: http://www.gamelife.idv.tw/viewtopic.php?t=606 void Display(void) 总之,你想使用元件应该是不知道怎样将图形绘制在指定区域上吧? 只要利用 HWND 其实就可以达到目的! (我现在正在做跟你差不多的工作,详细程式码就不贴出来了) --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.237.121.32
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1452262146.A.95D.html
1F:→ chengcti: 用 bcb 就是为了方便 这样用那就改用vc就好了 01/08 22:12
当使用了元件而导致卡在 BCB6 上, 甚至也无法更新成 XE 版的编译器,其实也不好吧? 如果只是单纯绘图,会推荐这样的作法。 如果是想要使用物理引擎来模拟,那就另当别论了! ※ 编辑: noodleT (36.237.121.32), 01/08/2016 22:19:27
2F:推 purple0619: 谢谢大大详细解说 01/10 14:29
3F:推 sodas500i: 推 01/13 01:22







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Tech_Job站内搜寻

TOP