原创 C++11學習之匿名函數lambda表達式

聲明:本文參考了Alex Allain的文章http://www.cprogramming.com/c++11/c++11-lambda-closures.html 加入了自己的理解,不是簡單的翻譯 C++11終於知道要在語

原创 IMEDelegate

 這個類定義了鍵盤處理接口。如果想對鍵盤輸入做處理,可以繼承這個委託類。 看看他在哪被用到。   從這幅圖看出他的使用過程。先是CCTextFieldTTF繼承了CCIMEDelegate,創建時,就會被加入到鍵盤輸入分發器的分發對象中

原创 opengl版本支持和shader支持判斷

#include <GL/glew.h> #include <GL/glut.h>  #include <stdio.h> void renderScene() {  // 清除顏色緩存  glClear(GL_COLOR_BUFFER

原创 Opengl渲染管線

學習着色器,並理解着色器的工作機制,就要對OpenGL的固定功能管線有深入的瞭解。 首先要知道幾個OpenGL的術語 渲染(rendering):計算機根據模型(model)創建圖像的過程。 模型(model):根據幾何圖元創建的物體

原创 VS 調試中文顯示亂碼問題

解決方法:  找到VS安裝目錄下  D:\worksoft\VS2015\Common7\Packages\Debugger\Visualizers的  st l.natvis文件 查找Name=”std::basic_string<

原创 GLSL 使用demo

/* Simple Demo for GLSL 2.0 www.lighthouse3d.com */ #include <stdio.h> #include <stdlib.h> #include <GL/glew.h

原创 RenderTexture

以下一些內容摘自http://www.cnblogs.com/newlist/p/3552340.html  CCRenderTexture,它允許你來動態創建紋理,並且可以在遊戲中重用這些紋理。也可用它來讀取你想要的紋理信息。   使用

原创 深度測試(消隱)demo

#include <math.h> #include <gl/glut.h> #include <gl/gl.h> bool mouseisdown=false; bool loopr=false; int mx,my;int ry=

原创 QuadCommand

功能: 這個命令主要用來繪製一個或多個矩形區域。相鄰的QuedCommand如果使用相同的紋理,就可以實現自動批繪製。提高繪製效率。   條件: 1、不包含自定義的着色器全局變量。 2、使用相同的的shader程序。 3、使用同一張紋理。

原创 opengl從固定渲染管線到可編程渲染管線

這是一些列來自lighthouse3d的GLSL教程,非常適合入門。我將邊學習邊翻譯該教程的內容,同時記錄在這裏,方便以後查詢。 流水線概述 下圖描述了一個簡化的圖形處理流水線,雖然簡略但仍然可以展示着色器編程(shader progr

原创 固定管線和可編程管線的區別

固定渲染管線與可編程渲染管線   1.固定渲染管線與可編程渲染管線的區別: 1)、固定渲染管線 ——這是標準的幾何&光照(T&L)管線,功能是固定的,它控制着世界、視、投影變換及固定光照控制和紋理混合。T&L管線可以被渲染狀態控制,

原创 COCOS2DX引擎深入三———渲染結構(3.0)

 3.0之前cocos2dx渲染機制上存在着一些弊端:不易擴展,不易針對繪製進行優化。 不易擴展:3.0之前每個元素的繪製邏輯全在元素元素內部的draw()方法裏。繪製順序緊密的依賴於UI樹。導致無法在多層級之間調整繪製順序。 不易針對繪

原创 GroupCommand

這個類不包含具體的繪製命令,主要是cocos2dx提供用來完成分組繪製的功能。比如你有一批繪製命令他們可能類型不同,有的是BatchCommand,有的是QuadCommand類,但這些命令必須依次被執行,中間不能插入其他來源的命令。就比

原创 accept

使用格式 #include <winsock.h> SOCKET  accept( SOCKET s, struct sockaddr FAR* addr,int FAR* addrlen);   功能描述 在一個套接口接受一個

原创 【opengl】【step by step】一————三角形

今天學如何用opengl繪製一個三角形,先直接貼代碼: #include <GL/glut.h> void renderScene() { // 清除顏色緩存 glClear(GL_COLOR_BUFFER_BIT); co