原创 OpenGL幀緩衝

幀緩衝的概念 幀緩衝其實就是存儲了我們繪製到屏幕上的像素值。每次渲染前,使用 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 就是清空幀緩衝中的內容,以達到每幀繪製一幅圖像的目

原创 從零開始Java遊戲引擎[LWJGL](3)-使用VAO和VBO繪製圖形

本節介紹如何使用VAO和VBO進行圖形繪製。 先看效果: 本系列文章關注的重點是遊戲引擎的開發,關於OpenGL的基礎知識,這裏就不再詳細講了,否則篇幅篇幅就太長了。這裏的相關概念我只簡單講下我自己的理解,如果各位不瞭解話,請查閱相關的

原创 從零開始Java遊戲引擎[LWJGL](2)-第一個窗口

接下來開始創建第一個窗口。 先看效果: 其實也沒啥好看的,就是一個黑乎乎的窗口。 主要函數包括三個: createDispaly(); updateDisplay(); closeDisplay(); 很簡單是不是,其中LWJGL

原创 從零開始Java遊戲引擎[LWJGL](1)-環境配置

序言 由於遊戲引擎是一個很大的話題,本人也探索了很長時間,至今仍處於入門階段。所以,翻譯本篇教程也是本人學習的過程。其中肯定存在不足道地方,甚至是錯誤的地方。還請各位批評指正。 說是遊戲引擎, 倒不如說是個圖形渲染引擎。但是,誰讓遊戲引擎

原创 《自制編譯器》在Ubuntu16.04中運行CBC

<1>配置java環境 參見我的上一篇博客: http://blog.csdn.net/birdflyto206/article/details/76942230 <2>下載64位的cbc https://github.com/le

原创 設計模式(18)之職責鏈模式

給大家出一個題:編寫一個程序,把大象放進冰箱,要體現出操作的步驟順序。 看我給大家顯擺一個: 1.創建一個Handle對象 //SaveElephantHandle.java package 職責鏈模式; public abstract

原创 設計模式(16)之解釋器模式

一、什麼是解釋器模式 Interpreter模式也叫解釋器模式,是行爲模式之一,它是一種特殊的設計模式,它建立一個解釋器,對於特定的計算機程序設計語言,用來解釋預先定義的文法。簡單地說,Interpreter模式是一種簡單的語法解釋器構架

原创 AGG入門(1):VS2013編譯agg源碼

1.源碼下載:http://www.antigrain.com/download/index.html 這裏我們下載最新版本agg2.5 2.打開VS2013,新建一個空項目,將下載的agg源碼包解壓,拷貝以下cpp到VS2013的工程中

原创 Cocos2d-x運行機制-代理模式

Cocos2d-x的入口: CCApplicationProtocol接口:定義通用接口 // CCApplicationProtocol.h #pragma once class CCApplicationProtocol { pub

原创 .NET 託管代碼和非託管代碼的區別

轉自:http://gaoling386.blog.163.com/blog/static/54046024201222045754681/ 什麼是託管代碼(managed code)? 託管代碼是一microsoft的中間語言(IL),

原创 WKT轉GeoJson(js版)

先來個Polygon(包括MultiPolygon)轉GeoJson的,最近有點忙,等有空加上其他的: function processPolygonString2PolygonArray(polygonString, proj) {

原创 從零開始Java遊戲引擎[LWJGL](4)-使用索引緩存

如果只是有頂點緩衝的話(即使有glDrawArray進行繪製),會存儲頂點冗餘。例如:顯示一個矩形,要畫2個三角形,每個三角形3個頂點,就要準備6個頂點傳遞到glDrawArray函數中。其實,畫一個矩形只需要4個頂點就可以了,不是嗎?

原创 地理空間數學基礎

地球表面幾何模型: 1、第一類 地球的自然表面,起伏不平、不規則,難以用一個簡潔的數學模型表達。 2、第二類 相對抽象的面–大地水準面。假設當海水處於完全靜止的平衡狀態時,從海平面延伸到所有大陸下部,而與地球中立方向

原创 js異步變同步小技巧-遞歸

在寫js的時候,很多時候都會遇到異步轉同步的問題。 比如:從服務器端返回一個集合數據,在遍歷集合的時候,又要異步去請求別的數據,但是for循環必須在同步的情況下執行。這時候,怎麼辦? 解決這種問題的辦法可能會有很多。但是,現在介紹一個最簡

原创 Ubuntu下安裝JDK

<1>下載最新版本的jdk,我下載的是 jdk-8u144-linux-x64.tar.gz <2> 解壓縮到文件夾 jdk1.8.0_144 <3>執行命令 sudo mv jdk1.8.0_144 /usr/lib/jvm <