Feng.Li's Java See

          抓緊時間,大步向前。
          隨筆 - 95, 文章 - 4, 評論 - 58, 引用 - 0
          數據加載中……

          OpenGL學習筆記(序)

          ?? ???? 扯淡的項目,沒有辦法,喝了老師的酒,只好硬著頭皮上。
          因為之前一直在搞java,突然跳到C++,我還真的不行,再加上又是需要用到MFC,VC,這些東西我想光會就至少的半年,怎么辦呢?硬著頭皮上!

          ??????? 不過說實在的,學了一點C++,倒是對Java以前很多不是很明白的地方有點領悟的感覺;),比如一直沒有明白Java里:調用構造函數分配空間的時候,秘密傳一個This給構造函數。這句話什么意思?看了C++后明白了,原來This是作為一個空白空間的地址傳過去的啦!每個對象都要有唯一的標致符,是什么?當然是對象的地址啦!,廢話少講,開始OpenGL序言。
          先我們給出一個使用OpenGLAPI直接寫的MFC Console程序,使用的是輔助庫函數,因此比較簡單,我們只介紹下代碼,以后的寫法不會使用這種控制臺程序的方式,而是使用MFCSDI
          首先需要在Settings/Project Settings/Link/[Object/Library Module]中鍵入:opengl32.lib glu32.lib glaux.lib,以引入OpenGL的函數庫:
          // CConGL.cpp : Defines the entry point for the console application.
          //
          ?
          #include "stdafx.h"
          #pragma warning(disable : 4305)
          #include <windows.h>
          ?
          #include <gl/gl.h>
          #include <gl/glu.h>
          #include <gl/glaux.h>
          ?
          void myInit(void);
          void CALLBACK myReshape(GLsizei w,GLsizei h);
          void CALLBACK myDisplay(void);
          ?
          void myInit()
          {
          ????? //清除背景顏色
          ????? glClearColor(0.0,0.0,0.0,0.0);
          ????? //圖形繪制模式
          ????? glShadeModel(GL_FLAT);
          }
          ?
          void CALLBACK myReshape(GLsizei w,GLsizei h)
          {
          ????? //窗口改變時視口變化
          ????? glViewport(0,0,w,h);
          }
          ?
          void CALLBACK myDisplay(void)
          {
          ????? glClear(GL_COLOR_BUFFER_BIT);
          ????? //圖形繪制顏色
          ????? glColor4f(0.2,0.6,1.0,1.0);
          ????? //設置旋轉
          ????? glRotatef(60.0,1.0,1.0,1.0);
          ????? //繪制圖形
          ????? auxWireSphere(1.0);
          ????? //繪制完成
          ????? glFlush();
          }
          int main(int argc, char* argv[])
          {
          ????? //初始化顯示模式
          ????? auxInitDisplayMode(AUX_SINGLE|AUX_RGBA);
          ????? auxInitPosition(0,0,400,400);
          ????? auxInitWindow("first application");
          ????? myInit();
          ????? auxReshapeFunc(myReshape);
          ????? auxMainLoop(myDisplay);
          ????? return 0;
          }
          ??????? 拿去運行吧,哈哈,那你就等著出出一個莫名其妙的地球吧,說實在的,我到目前尚未理解那些語句的意思。
          ??????

          posted on 2006-11-14 02:02 小鋒 閱讀(378) 評論(0)  編輯  收藏 所屬分類: C


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 云南省| 江门市| 青铜峡市| 睢宁县| 鹤庆县| 镇平县| 板桥市| 将乐县| 简阳市| 外汇| 东乌珠穆沁旗| 鄂尔多斯市| 高州市| 长顺县| 拉萨市| 昌宁县| 新田县| 寿光市| 松江区| 丹东市| 林周县| 永福县| 灌南县| 喀喇沁旗| 会宁县| 盈江县| 舟山市| 崇信县| 无棣县| 革吉县| 锡林郭勒盟| 民乐县| 镶黄旗| 东方市| 白水县| 体育| 襄垣县| 邯郸县| 彭泽县| 青阳县| 平阴县|