設計自己的3D映像引擎(1): WuguiEngine之開篇的話

前言:研究3D遊戲相關的知識有了不少的時間了.最近一段時間開始寫自己的3D映像引擎-WuguiEngine. 代碼也參考了不少的資料. 從引擎的功能上來說,不求能夠讓福士接受, 不求能夠成為一個眾多人維護的開源項目(不過原始碼是開放的,只是沒有太多精力來管理一個項目). 只是我一個在學習過程中的一個簡單的項目.同時我在編寫的過程中也希望能夠多和大家交流, 把我的心得與大家分享, 也希望大家能夠為我的學習或者項目提出一些意見. 本引擎雖然不算一個很易用的引擎,

網路應用三則

一、判斷是否已經聯到internet使用NetMasters Powersock控制項讀取本地IP地址,如果是"0.0.0.0" 說明沒有串連。例子:void __fastcall TForm1::Button1Click(TObject *Sender){if (Powersock1->LocalIP == "0.0.0.0")ShowMessage("not

實現關機時的效果的一段代碼

unsigned char bybits[16]={0x55,0x0,0xaa,0x0,0x55,0x0,0xaa,0x0,0x55,0x0,0xaa,0x0,0x55,0x0,0xaa,0x0};HANDLE hBitmap,hBrush;//---------------------------------------------------------------------------void __fastcall TForm1::Button1Click(TObject

標準模板庫介紹

標準模板庫,也叫 STL,是一個 C++ 容器類庫,演算法和迭代器。他提供許多 基本演算法,資料結構。STL 是一個通用庫,即可以充份定製:幾乎所有的 STL 組件都是模板。在你使用 STL 前,你必須瞭解模板的工作情況。容器和演算法和許多類庫一樣,STL 包含容器類 - 可以包含其他對象的類。STL 包含向量 類,鏈表類,雙向隊列類,集合類,圖類,等等。他們中的每個類都是模板,能包含 各種類型的對象。例如,你可以用 vector<int> ,就象常規的 C 語 言中的數組,除了

利用CB建立使用者自己的網路聊天程式

網路是一個激動人心的領域,編寫網路上的應用程式更是很多程式員嚮往的情節,然而編寫網路程式需要掌握大量的網路傳輸協議、編程介面和WinSock32 API 函數,正因為如此,要完成從Windows程式員到Web程式員的轉變不是一件易事.最近筆者成功的用C++ Builder 5.0 Enterprise 版編寫出了網路聊天程式,特介紹如下:一、原理:網路聊天工具需要通過TCP/IP協議,因此可以把網路聊天程式分為伺服器端和客戶器端兩部分,其中 伺服器端用以把程式轉換成一個虛擬 TCP/IP

如何安全終止線程

對於Worker線程,終止線程可以使用線程的退出碼作為傳回值從線程函數返回。對於UI線程,因為有訊息迴圈,需要發送一個WM_QUIT訊息到線程的訊息佇列,當線程接收到WM_QUIT訊息時退出訊息迴圈。因此,結束線程可以線上程內部調用SDK的PostQuitMessage函數,發送WM_QUIT訊息。PostQuitMessage函數的定義如下:void PostQuitMessage(int

關於編程風格的討論4

四、程式健壯性:1、函數的傳回值規範:對於函數的返回位置,盡量保持單一性,即一個函數盡量做到只有一個返回位置。(單入口單出口)。要求大家統一函數的傳回值,所有的函數的傳回值都將以編碼的方式返回。例如編碼定義如下:#define CM_POINT_IS_NULL CMMAKEHR(0X200)::建議函數實現如下:long 函數名(參數,……){long lResult;

vcl庫函數

1.記憶體配置2.檔案操作3.磁碟目錄管理4.字串操作5.類型轉換6.時間和日期管理一.BORLAND C++ BUILDER VCL的記憶體管理函數1. AllocMem在隊中分配指定位元組的記憶體塊,並將分配的每一個位元組初始化為 0.函數原型如下:void * __fastcall AllocMem(Cardinal Size);2. SysFreeMem釋放所指定的記憶體塊.函數原型如下:int __fastcall SysFreeMem(void * P);3.

BCB實現BLOB欄位的讀寫

對於SQL中的TEXT、IMAGE、MEMO欄位的存取,可以採用下列程式:BLOB欄位的讀取:TBlobSTream* TemplateStream;char* TempPlatePtr;      TemplateStream=new TBlobStream((TBlobField*)WebQuery->FieldByName("SearchTem"),bmReadWrite);TemplatePtr= new

怎樣搜尋區域網路上的電腦

在一個區域網路上,網路編程IP相關問題1.怎麼搜尋區域網路上的電腦?2.怎樣通過一個電腦的IP地址獲得其網卡物理地址?例如,我的電腦為A,區域網路上的有另外一台電腦為B,怎樣在A上通過B的IP地址擷取B的網卡物理地址?如何編程用C++Builder編程實現?//------------來自JiShiPing(JSP季世平)的代碼:---------------#include  <winnetwk.h >#include  <winsock2.h >//---------

API Hook基本原理和實現

hook是什嗎?windows系統下的編程,訊息message的傳遞是貫穿其始終的。這個訊息我們可以簡單理解為一個有特定意義的整數,正如我們看過的老故事片中的“長江長江,我是黃河”一個含義。windows中定義的訊息給初學者的印象似乎是“不計其數”的,常見的一部分訊息在winuser.h標頭檔中定義。hook與訊息有著非常密切的聯絡,它的中文含義是“鉤子”,這樣理解起來我們不難得出“hook是訊息處理中的一個環節

類的分解,抽象類別與純虛函數的需要性

為了不模糊概念在這裡我們就簡單的闡述一下類的分解,前面的教程我們著重講述了類的繼承,繼承的特點就是,衍生類別繼承基類的特性,進行結構擴張,這種逐步擴張,逐步在各衍生類別中分解彼此不同特性的過程其實就是類的分解。分解過程筆者在這裡不想再拿代碼進行過多闡述分析了,意思說到,對於逐步分解,逐步擴張的思想就靠大家自己思考了。拿前面交通工具類的程式進行思考,由交通工具派生出來的汽車類,飛機類,是具備更具體特性的描述的類,而對於交通工具這一個基類來說,它的特性是模糊的,廣泛的,如果建立一個交通工具類的對象並

用Struts開發基於MVC的Web應用

MVC介紹MVC模式是一種非常理想化的設計模式,應用MVC模式完成兩個以上項目的人都有同樣的體會,他們已經對以前的工作方法進行了徹底的改造。工作模式的改變要付出痛苦的代價,但現在你有現成的技術架構可以採用,避免在項目中自己開發、摸索。它就是開源Apache Struts

用JavaMail API編寫可帶附件的郵件發送程式

利用Sun公司提供的JavaMail API可以很方便的開發郵件發送程式。也許你已經可以利用它來發送一段簡單的文本了,但想不想使你的程式像OUTLOOK一樣也能發送附件呢?本文在簡單介紹了JavaMail之後,詳細講解了一段完整的送信的JavaBean及一個十分輕巧的servlet。(沒有裝載JavaMail

X3D實戰基礎講座之十二

在X3D中,通過使用程式化的節點Script來嵌入指令碼程式。它支援ECMAScript/JavaScript 或

X3D實戰基礎講座之九

X3D對多媒體的支援是通過這三個節點來實現的:AudioClip(音頻資料節點)、Sound(音頻播放節點)以及MovieTexture(影像紋理節點)。在本講中,我們先來簡單地介紹這三個節點的屬性,然後舉一些例子分別說明這些節點的使用及音頻和視頻的播放。一、音頻和視頻節點1、AudioClip(音頻資料)節點AudioClip 一般作為Sound的子節點,分其提供音頻資料,其主要屬性有:description -- 此節點顯示的提示文本。url -- 音效檔的位置。該檔案通常是 .wav

X3D實戰基礎講座之四

X3D提供了立方體(Box)、圓柱(Cylinder)、圓錐(Cone)、球體(Sphere)等基本3D造型節點。在本講中,我們先來簡單地介紹這些節點的使用,然後再來介紹節點的編組和節點的重複使用方法。一、立方體Box構造的代碼如下:說明:Box節點的主要屬性是size,用來確定長度(x方向)、高度(y方向)和寬度(z)方向的大小。這裡是定義一個長為2,寬和高均為1的立方體。結果如下圖所示。二、圓柱體Cylinder代碼如下:說明:Cylinder節點的主要屬性有height(高度)、radiu

用CORBA建立Client/Server程式

假如你想找一個利用物件導向的方法去串連一個Client到Server,你有兩個主要的選擇:DCOM和CORBA。DCOM是微軟的解決方案,並且當你為WINDOWS系統寫代碼時非常有用。在本文中,我們將要研究用CORBA去解決分布式應用程式問題。CORBA概要:在一個通常的用C++或者JAVA寫的物件導向的程式裡,程式包含所有應用程式需要用到的類。編譯器編譯和串連這些對象,當你用new語句初始化對象時,它們被建立在應用程式所在的記憶體裡並且被當作一個簡單的過程來執行。CORBA是一種技術允許一個C

體驗J2SE 1.5新特性之裝箱和拆箱

J2SE

設計模式之Flyweight

Flyweight定義:避免大量擁有相同內容的小類的開銷(如耗費記憶體),使大家共用一個類(元類).為什麼使用?物件導向語言的原則就是一切都是對象,但是如果真正使用起來,有時對象數可能顯得很龐大,比如,文書處理軟體,如果以每個文字都作為一個對象,幾千個字,對象數就是幾千,無疑耗費記憶體,那麼我們還是要"求同存異",找出這些對象群的共同點,設計一個元類,封裝可以被共用的類,另外,還有一些特性是取決於應用(context),是不可共用的,這也Flyweight中兩個重要概念內部狀

總頁數: 61357 1 .... 25580 25581 25582 25583 25584 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.