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 小鋒 閱讀(375) 評論(0)  編輯  收藏 所屬分類: C


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


          網站導航:
           
          主站蜘蛛池模板: 西昌市| 崇阳县| 资阳市| 台前县| 乌鲁木齐县| 陕西省| 莎车县| 西峡县| 双峰县| 蒲江县| 上思县| 苍南县| 兴安盟| 金昌市| 通江县| 乐昌市| 双辽市| 德江县| 赣州市| 布拖县| 滨海县| 忻城县| 牙克石市| 兴义市| 阿拉尔市| 永清县| 瑞昌市| 南漳县| 越西县| 全州县| 崇阳县| 彭山县| 四会市| 彝良县| 西宁市| 方城县| 峡江县| 扶余县| 改则县| 昭平县| 会昌县|