作者sinread (电脑真耗钱)
看板MacDev
标题[问题] OpenGL in C++
时间Fri Jun 11 18:11:33 2010
大家好,
最近一直上来问问题, 真是劳烦大家了
小弟现在想要把某个之前用C++写的画介面程式(用OpenGL) ,
放到Mac上来, 目前的作法是这样:
1. 用 Object-C 开出一个Cocoa AP
2. 把 C++的介面程式弄成dylib, 由Cocoa AP 动态连结
但是遇到一个问题, 就是, OpenGL的部份是在C++里面呼叫,
所以无法直接使用NSOpenGL等class,
之前再win32的作法是宣告一个render context, 然後将参数设好,
利用WGL提供的API去连结windows的device context, 之後用OpenGL的函式,
他就知道要话到哪里去...
但是在Mac上面, 我查询到的AGL (for Carbon) 好像不能用,
CGL(Core OpenGL)还没搞清楚怎麽用, 请前辈能够提点一下, 怎麽样让
C++内的OpenGL 函式和 Mac的device连结起来??
ps.
之所以那麽麻烦不用Object-C作, 是因为C++那一段东西是跨平台的~
谢谢大家看我这麽落落常一大段XD
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 124.219.26.209
1F:推 todo2015:include opengl framework? 06/12 10:02
2F:→ sinread:可是这样如何在C++内呼叫? 06/13 15:51
3F:推 Blueshiva:就#include <gl/glut.h>这样叫进来啊 =_= 06/13 17:16
4F:→ Blueshiva:另外,你之前写的C++ code可以用Obj-C++包起来用 06/13 17:17
5F:→ sinread:楼上可能误会, 我需要再C++内用NSOpenGLView的method 06/13 21:10
6F:→ sinread:C++那边会包成dylib 06/13 21:11
7F:→ sinread:视窗部分目前想先用Cocoa试试看, 真的不行只好用glut 06/13 21:12
8F:→ sinread:小弟经验很浅, 有错请大家不吝惜指正, 谢谢大家 06/13 21:13
9F:推 Blueshiva:基本上呢,你写的C++部份应该是单纯包括"GL绘图"的code 06/13 21:35
10F:→ Blueshiva:其他部份应该放在Obj-C++做出来的ObjC物件里面 06/13 21:36
12F:→ sinread:由於某些因素, dylib部分是当使用者开启app後才会从 06/13 21:37
13F:→ sinread:网路load dylib近来, 整个画图部分才会开始画图 06/13 21:37
14F:→ sinread:dylib部分几乎是所有的功能, Cocoa视窗只是一个外壳 06/13 21:38
15F:→ sinread:由於C++部分是跨四个平台, 也希望尽量不要重写 06/13 22:03
16F:→ sinread:XD所以才会变成这样^^继续google, 也希望有经验的人帮忙 06/13 22:03
18F:→ sinread:谢谢, 不过跟我要的方式不太一样 (XD 我表达能力差 sorry) 06/14 00:13