2012年9月8日 星期六

如何用一個程式開啟兩個OpenGL視窗

在網路上搜尋了一下關於複數視窗繪圖的資訊
發現使用Direct 3D就只能用一個視窗繪圖
有人建議一個視窗用Direct 3D而另一個視窗用OpenGL就可以了
實作上也確實可行
而且作法直覺簡單所以不說明了

我這篇要介紹的是如何使用兩個OpenGL視窗來描繪畫面
這在遊戲程式上大概沒什麼用途
不過工具程式的話倒不是沒用處


要使用兩個OpenGL視窗只要解決以下幾點

  1. 開啟兩個視窗
  2. 使用wglShareLists()將兩個HGLRC連起來
  3. 大部分gl開頭的函式在使用前要用wglMakeCurrent()將描繪對象切換到指定視窗

就這樣並不難
但若你不懂如何使用WindowsAPI的話
在第一點就卡住了
想開兩個視窗肯定是包裝成兩個物件最好管理
但是Windows體系的訊息幫浦偏偏要你餵它一個函式
而且不能放成員函式
你要另外想辦法處理


在我寫的Toy引擎裡面也有實作這功能
想看code示範的就去看看吧
就在右上的連結
Toy現在可以開兩個OpenGL視窗外加一個Direct 3D視窗

對WindowsAPI跟OpenGL不熟的可以去NeHe逛逛

2012年9月1日 星期六

一年間的變化

去年的這個時候
家裡出了些事情
自己又沒有正當工作
還想說日子將會過得非常艱辛
以前沒抽出時間做的事情可能不會有時間做了
或者說沒有心情做了


然後歷經窩在家裡當尼特族、求職碰壁、開除等等
那種壓力並不算很重
但是會感到茫然、自我懷疑、猶豫
擔心自己所做的決定會不會在日後懊悔不已


也許以後又會變的一樣糟


總之現在當下的我正處在一個還算安逸的狀態
這可能是難得可以喘口氣的時候
難得可以做點自己喜歡的事


以後會怎樣
沒啥好想的
根本無法預測
我敢篤定不會後悔的事情就只有"享受當下"
什麼時間做什麼事