原创 09.ThreeJs開發指南-第九章-創建動畫和移動相機

第九章 創建動畫和移動相機 基礎動畫: render(); function render(){ renderer.render(scene,camera); requestAnimationFrame(ren

原创 從零開始實現3D軟光柵渲染器 (1) 簡介

如何在2D屏幕上表示3D物體?這是學習3D編程必須要搞明白的事情。大家都知道,調用OpenGL的函數,給定三角形的3個頂點位置,顏色,就能在屏幕上畫一個三角形,再加載一幅圖片,就可以給這個三角形附上紋理,還能讓這個三角形繞某個座標

原创 從零開始實現3D軟光柵渲染器 (3) 繪製直線

簡介 上一節中我們在canvas中繪製了點,這一節我們來繪製直線。 計算機圖形學中,繪製直線的算法很多,比如:DDA算法,中點畫線算法… 今天我們來講一個經典的算法:Bresenham算法。經典之所以是經典,因爲它既保證了繪製直線

原创 從零開始實現3D軟光柵渲染器 (2) 繪製點

canvas簡介 是HTML5新增的2D繪圖標籤,併爲用戶提供了一系列繪圖命令,類似於windows中的GDI接口。我們的軟渲染器就是要把圖形繪製到canvas上,大家可以通過這個來了解下canvas的基本用法。在本教程中,我們

原创 VS2015 編譯 mongodb c driver

準備 cmake VS2105 下載源碼 源碼中要求cmake的版本是3.1+ 打開 cmake-gui.exe 配置你的VS版本 確實之後,就可以生成VS項目了。但是第一次會失敗,提示要你輸入一個build_versio

原创 01 VS2015編譯OSG

下載資源 官網 最新osg源碼 我們使用的是 OpenSceneGraph-3.6.5 VS2015依賴 我們下載 Visual Studio 2015 32-bit v140-x86.zip 組織目錄結構 配置dx的

原创 OpenGL遊戲引擎開發[5]-自己動手寫STL模型加載器

前面我們繪製的物體要麼是手動設置的頂點(比如簡單的三角形),要麼是程序生成的頂點(比如繪製的地球)。還有一種就是加載3D建模軟件建好的3D模型。常見的3D模型格式有很多:.OBJ, .STL, .PLY, .fbx, .x 等等。

原创 OpenGL遊戲引擎開發[4]-在OpenGL繪製紋理

上一節我們學會了使用OpenGL着色器,但是在片段着色器中,我們使用簡單純色來繪製物體,這一節,我們要在片段着色器中使用採用器對紋理進行採樣輸出,作爲物體表面的顏色,進而繪製帶有紋理貼圖的物體。 紋理 紋理簡單來說就是一張圖片,最

原创 OpenGL遊戲引擎開發[3]-OpenGL的着色器GLSL

本節將學習OpenGL的着色器語言GLSL。 本節效果 主要內容 什麼是着色器 如何在OpenGL中使用Shader 如何編寫頂點着色器和片段着色器 代碼實現過程 什麼是着色器 前面說了,3D編程要完成2件事。 物體顯示在

原创 OpenGL遊戲引擎開發[2]-使用VAO和VBO繪製圖形

基本概念 本節介紹如何使用VAO和VBO進行圖形繪製。 關於VAO和VBO的概念,大家可以查閱 LearnOpenGL 等相關教程,我如果介紹的話,篇幅就太長了。而這些常見的OpenGL概念網上資料很多,這裏我只簡單介紹下我對相關

原创 OpenGL遊戲引擎開發[1]-環境搭建

前言 我的計劃是帶大家從零開始寫一個簡單的渲染引擎出來。當然,我不可能每行代碼都放在文章中,每節內容我們圍繞一個主題,我先講解原理,再講解OpenGL實現的關鍵代碼,然而我會把代碼給大家,大家自行查閱。一些基本的OpenGL知識,

原创 從零開始實現3D軟光柵渲染器 (5-1) 3D渲染流水線(上)

什麼是渲染流水線 把大象放冰箱,需要幾步? 打開冰箱 放入大象 關上冰箱 再放一個呢? 打開冰箱 放入大象 關上冰箱 這就是流水線。 渲染流水線(裝逼的就叫渲染管線),其實解決了2個問題: 把3D物體顯示到2D屏幕, 3

原创 從零開始實現3D軟光柵渲染器 (4) 三維空間變換

世界是3D的,顯示器是2D,將三維空間的物體變換到二維空間,再到最終屏幕上成像的過程,在圖形學中叫做3D渲染流水線。這個過程着實有點複雜了,讓我們慢慢來,本節我們先介紹一些基本的空間變換知識。 這部分知識點非常重要,不管以後做遊戲