作者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