openGL
HQ麟
欢迎技术交流
github:https://github.com/HQlin
展开
-
opengl 绘制绕远点转的飞机
1、绘制飞机方法draw_plane()void draw_plane(){ float scale = 1.0f; glLineWidth(6.0f); glColor3f(1.0, 0.0, 1.0); glPushMatrix(); glScaled(0.75f * scale, 0.75f * scale, 0.75f * scale); glPu原创 2015-06-24 11:34:39 · 2077 阅读 · 0 评论 -
OpenGL天空盒
1.把立方体贴图加载到OpenGL中,贴图选择大小相同的正方形图片,立方体贴图的惯例是:在立方体内部使用左手坐标系统,而在立方体外部使用右手坐标系统。 2.创建立方体,使用索引数组绘制,减少内存使用 3.增加天空盒着色器程序//res/raw/skybox_vertex_shader.glsluniform mat4 u_Matrix;attribute vec3 a_Positio转载 2016-04-23 21:31:55 · 2551 阅读 · 0 评论 -
OpenGL粒子系统
1.粒子在内存的布局(坐标、颜色、向量、创建时间) float[] particels position.x <—- particel0 position.y position.z color.r color.g color.b diretion.x diretion.y diretion.z particleStartTime position.x <—- pa转载 2016-04-22 16:19:20 · 987 阅读 · 0 评论 -
OpenGL添加触控
1.glSurfaceView添加监听触控事件//4.glSurfaceView添加监听触控事件 glSurfaceView.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) {转载 2016-04-21 19:37:07 · 588 阅读 · 0 评论 -
OpenGL构建简单物体
1.几何图形类 1.1点 1.2平面圆 1.3圆柱体 2.物体构建器 2.1用三角扇(GL_TRIANGLE_FAN)构造圆 2.2用三角形(GL_TRIANGLE_STRIP)构造圆柱体侧面 3.将要生成的物体封装成各自类 3.1Puck 3.2Mallet 3.3Table 4.简单的矩阵层次结构 4.1投影矩阵:即三维空间在屏幕上的显示方式(一般onSurfaceCha转载 2016-04-21 14:27:14 · 1176 阅读 · 0 评论 -
OpenGL纹理使用
1.纹理坐标(UV纹理坐标) 1.1可以通过调整纹理坐标或者通过拉伸或压扁纹理本身来适应被绘制的形状 1.2计算机图像默认坐标 2.opengl纹理过滤模式 参考:http://blog.csdn.net/pizi0475/article/details/49740879 3.纹理绘制 纹理不会被直接绘制,它们要被绑定到纹理单元,然后把这些纹理单元传递给着色器。通过在纹理单元中把纹理转载 2016-04-18 16:26:21 · 550 阅读 · 0 评论 -
OpenGL透视投影
1.透视投影 在计算机三维图像中,投影可以看作是一种将三维坐标变换为二维坐标的方法,透视投影由于和人的视觉系统相似,多用于在二维平面中对三维世界的呈现。 参考:http://blog.csdn.net/wong_judy/article/details/6283019 2.perspectiveM(m, offset, fovy, aspect, zNear, zFar)方法 2.1仅支持a转载 2016-04-17 13:28:50 · 1894 阅读 · 0 评论 -
OpenGL调节屏幕的宽高比
1.正交投影 投影线垂直于投影面的投影属于正交投影 ,也称为平行投影。一般2D画面采用这种投影方式。 2.orthoM(m, mOffset, left, right, bottom, top, near, far)方法 该方法会生成一个正交投影矩阵存储在m数组变量中,这个矩阵会把所有在左右之间、上下之间和远近之间的事物映射到归一化设备坐标中从-1到1的范围,在这个范围内的所有事物在屏幕上都是转载 2016-04-14 19:20:52 · 1661 阅读 · 0 评论 -
OpenGL光照
1.不同光源分类 1.1环境光(Ambient light):天空 1.2方向光(Directional light):太阳、月亮 1.3点光(Point light):灯泡、蜡烛 1.4聚光(Spot light):手电筒、聚光灯 2.光线反射方式 2.1漫反射(Diffuse reflection):光线反射方向平等向不同方向蔓延,地毯 2.2镜面反射(Specular refle转载 2016-04-26 21:41:43 · 474 阅读 · 0 评论 -
OpenGL ES 2.0结合着色器开发
1.步骤 1.1创建GLSurfaceView实例 1.2检查系统是否支持opengl es2.0 1.3为opengl es2.0配置渲染表面(即创建自定义渲染器,主要的相关操作都在此处进行) 1.4.显示GLSurfaceView 1.5.Acticity生命周期与GLSurfaceView同步 2.eclipse设置静态导入(static import) 因为调用2.0版本相关函转载 2016-04-12 17:14:26 · 609 阅读 · 0 评论 -
OpenGL绘制地形
1.创建顶点缓冲区对象(VertexBuffer) 2.创建索引缓冲区对象(IndexBuffer) 3.加载高度图(Heightmap) 3.1把位图像素转换为高度图数据(顶点数据):高度图在每个方向上都是1个单位宽,且其以x-z平面上的位置(0,0)为中心,位图的最上角将被映射到(-0.5,-0.5),右下角会被映射到(0.5,0.5),y值则为该像素的红色分量/255,即高度。 3.2转载 2016-04-24 16:06:43 · 12154 阅读 · 0 评论