什麼是點精靈
opengl圖形由頂點構成,所謂點精靈就是對點進行紋理對映,簡單說就是把一副紋理貼在乙個點上
原來4個頂點構成乙個矩形,現在乙個頂點就完成了,典型的如粒子效果,雲霧,水流火花都可以用點精靈來實現
,這樣減少了3個頂點的計算,效率很高。下面看例子 我們把
shader實現
virtual void initialize()
" };
//gl_pointcoord 點精靈的二維空間座標範圍在(0.0,0.0)到(1.0,1.0)之間,僅用於點圖元和點精靈開啟的情況下
const char* ps =
" };
渲染函式:
virtual void render()
; //! 清空緩衝區
glclear(gl_depth_buffer_bit | gl_color_buffer_bit);
//! 視口,在windows視窗指定的位置和大小上繪製opengl內容
glviewport(0, 0, _width, _height);
//! 建立乙個投影矩陣
cell::matrix4 screenproj = cell::ortho(0, float(_width), float(_height), 0, -100.0f, 100);
_shader.begin();
;glbindtexture(gl_texture_2d, _sprit);
gluniform1i(_shader._texture, 0);
gluniform1f(_shader._pointsize, 64);
gluniformmatrix4fv(_shader._mvp, 1, false, screenproj.data());
glvertexattribpointer(_shader._position, 2, gl_float, false, sizeof(vertex), vertex);
glvertexattribpointer(_shader._color, 4, gl_unsigned_byte, true, sizeof(vertex), &vertex[0].color);
gldrawarrays(gl_points, 0, 4);
}_shader.end();
}
學習OpenGL ES之繪製地形
地形模型一般是由nxn的網格構成,網格的點在y軸上的座標由灰度地形圖上相應的顏色決定。顏色越亮,高度越高。顏色每個通道的取值範圍可以是0 255,通過公式轉換,可以很容易的控制生成模型的高度。上篇文章中,我們使用三角帶生成圓柱體的中間部分。現在我們要用多個三角帶來生成地形。如何生成單個三角帶我就不贅...
OPENGL ES之繪製金字塔
今天比照著教材畫了乙個金字塔,這個案例主要涉及到了圖形變換矩陣的使用。但是其中遇到了一些問題不甚明了,在我自己的 中,我設定了view.drawabledepth glkviewdrawabledepth16,結果繪製出來的圖案給人的感覺是從三角形底部看去的,把設定繪製深度的 注釋掉,則我的 的表現...
4 OpenGLES繪製螺旋點 線
public class myactivity extends activity class myglsu ceview extends glsu ceview public myglsu ceview context context,attributeset attrs public class ...