看板 MacDev 關於我們 聯絡資訊
大家好, 最近一直上來問問題, 真是勞煩大家了 小弟現在想要把某個之前用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
todo2015:include opengl framework? 06/12 10:02
sinread:可是這樣如何在C++內呼叫? 06/13 15:51
Blueshiva:就#include <gl/glut.h>這樣叫進來啊 =_= 06/13 17:16
Blueshiva:另外,你之前寫的C++ code可以用Obj-C++包起來用 06/13 17:17
sinread:樓上可能誤會, 我需要再C++內用NSOpenGLView的method 06/13 21:10
sinread:C++那邊會包成dylib 06/13 21:11
sinread:視窗部分目前想先用Cocoa試試看, 真的不行只好用glut 06/13 21:12
sinread:小弟經驗很淺, 有錯請大家不吝惜指正, 謝謝大家 06/13 21:13
Blueshiva:基本上呢,你寫的C++部份應該是單純包括"GL繪圖"的code 06/13 21:35
Blueshiva:其他部份應該放在Obj-C++做出來的ObjC物件裡面 06/13 21:36
sinread:剛剛話了一下我想表達的圖:http://tinyurl.com/29ha9rq 06/13 21:36
sinread:由於某些因素, dylib部分是當使用者開啟app後才會從 06/13 21:37
sinread:網路load dylib近來, 整個畫圖部分才會開始畫圖 06/13 21:37
sinread:dylib部分幾乎是所有的功能, Cocoa視窗只是一個外殼 06/13 21:38
sinread:由於C++部分是跨四個平台, 也希望盡量不要重寫 06/13 22:03
sinread:XD所以才會變成這樣^^繼續google, 也希望有經驗的人幫忙 06/13 22:03
Fungshui:http://ppt.cc/yIcG 06/13 23:33
sinread:謝謝, 不過跟我要的方式不太一樣 (XD 我表達能力差 sorry) 06/14 00:13