OpenGL ES & SDL(转载)】的更多相关文章

原帖:http://qqwt.blog.sohu.com/91060365.html 这个学期在学习嵌入式,由于老师的高要求.所以我们几个水手必须要完成一个项目,名字就叫OpenGL ES & SDL的开发,这个东东以前从来没有搞过,加上网上资源又非常少,所以费了九牛二虎之力终于现在把这两个分别在开发板上运行成功. 以防忘记,所以现在做个记录,也是为了后人着想.故自己会做的尽量详细. 先提一点:我们用的开发板是255的. 首先关于Opengl ES的,我们在网上搜到了一个大牛的博客,上面介绍的很…
opengl es中不同的绘制方式 转载请保留出处:http://xiaxveliang.blog.163.com/blog/static/297080342013467344263/ 1. GL_POINTS 把每个顶点作为一个点进行处理.例如,索引数组{0,1,2,3,4}. 2. GL_LINES 把每两个顶点作为一条独立的线段面,索引数组中的第2n和2n+1顶点定义了第n条线段,总共绘制了n/2条线段.如果n为奇数,则忽略最后一个顶点.例如,索引数组{0,3,2,1}. 3. GL_LI…
这篇笔记完全参照<OpenGL.ES.3.0.Programming.Guide.2nd.Edition>,摘出部分内容只为学习参考. 为什么要用英文:无论是D3D的SDK还是OES的Spec,都是全英文的,学图像的总是要能看懂的.此外,本人的英语和中文水平有限,翻译的很粗糙,大家可以看原文. 为什么要用中文:一来增强一下自己的理解,二来能够分享给大家,希望能找到更多的人相互讨论学习. 1. Overview 1.1 Pipeline OpenGL ES 3.0 implements a gr…
首先当然是创建Android项目,你可以选择最新的Android Studio也可以选择eclipse都是一样的.我们重点讲解开发OpenGL ES的流程 1.定义顶点着色器和片段着色器 第一节我们讲解的已经很细致了,为了便于理解在这里在详细的说明一下.并且换一种方式定义着色器. 我们知道第一篇定义的顶点的坐标和颜色是分开的,这样可以但如果把它们放在一起会方便许多. 假设我们要绘制一个长方形和两条直线,二个定点,我们就需要这样来定义这个数组. float[] tableVerticesWithT…
直线或者三角形上的每个片段混合后的颜色可以用一个varying生成.我们不仅能混合颜色,还可以给varying传递任何值,OpenGL会选择属于那条直线的两个值,或者属于那个三角形的三个值,并平滑地在那个基本图元上混合这些值,每个片段都会有一个不同的值.这种混合是使用线性插值实现的.要了解它是怎么工作的,让我们首先以一条直线为例开始讲解. 1.沿着一条直线做线性插值 假设有一条直线,它有一个红色顶点和一个绿色顶点,我们要从一个向另外一个混合颜色. 在这条直线的左边,每个片段的颜色更多地呈红色:随…
在之前成功绘制变色的几何图形之后,今天利用Openg ES的可编程管线绘制出第一张纹理. 学校时候不知道OpenGL的重要性,怕晦涩的语法.没有跟老师学习OpenGL的环境配置,现在仅仅能利用cocos2dx 2.2.3 配置好的环境学习OpenGL ES. 源码来自<cocos2d-x高级开发教程>,凝视是本人的. 要形成屏幕的像素也是个矩形(或者圆形区域) 所以我们仅仅要记住,MaxS是纹理宽度除以对于的屏幕像素点的宽度,也就是纹理铺放在x轴像素点个数,相应为纹理坐标的x轴 MaxT是纹理…
一.问题: 正在使用JNI离Java(Android)侧 打回来C++(Cocos2d-x)该函数返回消息.Cocos2d-x花掉了 看看 Eclipse的Log中.显示 有 call to OpenGL ES API with no current context (logged once per thread) 的错误 二.解决方式: 经过查找资料了解到这个问题是由于Android在启动cocos2d-x的Thread时,没实用context的主的Thread,而是使用的OpenGL的Thr…
WebGL 中 OpenGL ES 指令与 iOS 中 C 版指令的差异简析 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的漂亮人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则.出自本博客的文章拒绝转载或再转载,谢谢合作. WebGL 中 OpenGL ES 指令与 iOS 中 C 版指令的…
传送门 ☞ 系统架构设计 ☞ 转载请注明 ☞ http://blog.csdn.net/leverage_1229 传送门 ☞ GoF23种设计模式 ☞ 转载请注明 ☞ http://blog.csdn.net/leverage_1229 在屏幕上绘制图像对于OpenGL来说只是一个非常基本的功能,你也可以使用其它的Android图形框架类来实现,比如使用Canvas和Drawable对象.但是OpenGL ES确有过人之处,它支持在三维空间上移动和变换绘制对象,或以其它独特的方式来创造极好的用…
传送门 ☞ 系统架构设计 ☞ 转载请注明 ☞ http://blog.csdn.net/leverage_1229 传送门 ☞ GoF23种设计模式 ☞ 转载请注明 ☞ http://blog.csdn.net/leverage_1229 使物体依据程序的设定而移动,比如旋转三角形,这对于吸引用户的眼球是极其有效的.你想让OpenGL ES图形与用户交互吗?使用OpenGL ES应用响应触摸的关键是扩展你的GLSurfaceView代码,覆写其onTouchEvent()方法来监听触摸事件. …
转载请注明出处 本文出自Hansion的博客 本章介绍如何使用GLSurfaceView和GLSurfaceView.Renderer完成在Activity中的最简单实现. 1.在AndroidManifest.xml的manifest节点中声明OpenGL ES的使用 <!--声明OpenGL ES 2.0版本--> <uses-feature android:glEsVersion="0x00020000" android:required="true&…
转载请注明出处 本文出自Hansion的博客 OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL 三维图形 API 的子集,针对手机.PDA和游戏主机等嵌入式设备而设计,主要用来开发3D图形应用 Android支持以下几个版本的OpenGL ES API: OpenGL ES 1.0和1.1      支持Android 1.0及更高版本 OpenGL ES 2.0               支持Android 2.2(API级别8)及更高版本 O…
最近开始关注OpenGL ES 2.0 这是真正意义上的理解的第一个3D程序 , 从零开始学习 . 案例下载地址 : http://download.csdn.net/detail/han1202012/6651095 需要SDK-10 版本2.3.3 . 作者 :万境绝尘  转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/18964835 . 一. 程序介绍 1. 样例展示 该程序打开之后会出现一个旋转的三角形, 该三角形一…
一步步实现windows版ijkplayer系列文章之一--Windows10平台编译ffmpeg 4.0.2,生成ffplay 一步步实现windows版ijkplayer系列文章之二--Ijkplayer播放器源码分析之音视频输出--视频篇 一步步实现windows版ijkplayer系列文章之三--Ijkplayer播放器源码分析之音视频输出--音频篇 一步步实现windows版ijkplayer系列文章之四--windows下编译ijkplyer版ffmpeg 一步步实现windows版…
http://www.linuxgraphics.cn/graphics/opengles_tutorial_index.html 本文收集了一套 OpenGL ES 系列教程. www.play3d.net 网站上有一系列的 OpenGL ES 开发教程,从基本概念到高级编程,层层深入,讲的十分清楚,是难得教程.本站将所有的文章都转载过来,供大家学习和查阅. OpenGL ES系列之基本-0:了解 OpenGL ES 社区 OpenGL ES系列之基本-1:初始化 EGL OpenGL ES系…
http://www.jianshu.com/p/750fde1d8b6a 这里是一篇新手教程,环境是Xcode7+OpenGL ES 2.0,目标写一个OpenGL ES的hello world.OpenGL ES系列教程在这里.OpenGL ES系列教程的代码地址 你的star和fork是我的源动力,你的意见能让我走得更远. 核心思路 通过GLKit,尽量简单地实现把一张图片绘制到屏幕. 效果展示   具体细节 1.新建OpenGL ES上下文 - (void)setupConfig { /…
概述及目录(版权所有,请勿转载 http://www.cnblogs.com/feng-sc) 本文在上一篇(OpenGL ES 光照模型之——环境光照(RenderMonkey测试))环境光基础上,增加漫反射光照.我们主要使用漫反射光模拟太阳光,实现如下两种效果: 1.地球自传,太阳光固定的日出效果: 2.地球静止,太阳光围绕地球旋转的效果. 本文主要包括如下方面内容: 1.漫反射光模型简介: 2.地球自转日出效果Shader实现: 3.地球静止,太阳光围绕地球旋转Shader实现. 漫反射光…
概述及目录(版权所有,请勿转载 www.cnblogs.com/feng-sc/) 本文总结如何在RenderMonkey下做简单的OpenGL ES环境光光照模型测试. 主要包括如下内容: 1.使用RenderMonkey创建一个简单的工程 2.环境关照模型分析及相应输入数据创建 3.Shader代码编写 4.效果展示 使用RenderMonkey创建一个简单的工程 RenderMoney创建一个OpenGL ES渲染工程很简单,大家只需根据下面图片步骤即可创建一个纯色的球体模型渲染工程. (…
概述 本章节主要总结如何使用GLFW来创建Opengl窗口.主要包括如下内容: OpenGl窗口创建介绍 GLFW Window版编译介绍 GLFW简单工程源码介绍 OpenGL窗口创建介绍 能用于OpenGL的窗口库有很多,常见的有glut.freeglut.SDL.GLFW等.glut基本已经被废弃,其他几个再不同场合都有不同的应用.GLFW为opengl superbible 6th & 7th中推荐的第三方开源窗口库.GLFW的特点大概总结如下: 跨平台,能在window.Linux和w…
最近开始关注OpenGL ES 2.0 这是真正意义上的理解的第一个3D程序 , 从零开始学习 . 案例下载地址 : http://download.csdn.net/detail/han1202012/6651095 需要SDK-10 版本2.3.3 . 作者 :万境绝尘  转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/18964835 . 一. 程序介绍 1. 样例展示 该程序打开之后会出现一个旋转的三角形, 该三角形一…
最近在写毕设的时候用到OpenGL ES中的VBO,由于对一些接口用到的变量不了解被坑得很惨,在此记录一下防止以后再被坑. 本文为大便一箩筐的原创内容,转载请注明出处,谢谢:http://www.cnblogs.com/dbylk/p/4492306.html 使用VBO的好处在此就不多说了,在Java中操作VBO绘图涉及到的OpenGL接口主要有以下几个: 1. void glGenBuffers(int n, int[] buffers, int offset) 向OpenGL ES申请开辟…
为了搞透播放器的开发,花了些时间收集这些资料,虽然我已经搞定opengles渲染视频的内容,但是想玩玩opengles,往深里玩,图像处理这块是个好的方向,所以opengles是值得好好学的.   OpenGL ES教程原创系列 2011-12-18[iTyran原创]iPhone中OpenGL ES显示3DS MAX模型之二:lib3ds加载模型 2011-12-17[iTyran原创]GLKit 矩阵变换:自转公转 2011-12-02[iTyran原创]Xcode创建的默认iOS Open…
0x00 - 前言 之前做一些移动端的AR应用以及目前看到的一些AR应用,基本上都是这样一个套路:手机背景显示现实场景,然后在该背景上进行图形学绘制.至于图形学绘制时,相机外参的解算使用的是V-SLAM.Marker-Based还是GPS的方法,就不一而足了. 所以说要在手机上进行现实场景的展现也是目前AR应用一个比较重要的模块.一般来说,在移动端,基本上都是使用OpenGL ES进行绘制.所以我们优先考虑使用OpenGL ES进行相机的绘制.当然,有些应用直接利用iOS的UIImage进行相机…
[TOC] 背景概述 在OpenGL绘制图形时,可能需要绘制多个并不相连的图形.这样的情况下这几个图形没法被当做一个图形来处理.也就需要多次调用 DrawArrays 或 DrawElements. 如果图形很多,可能会需要用一个循环来调用: for (int i = 0; i < num_objects; i++) { glDrawArrays(GL_TRIANGLES, object[n]->first_vertex, object[n]->vertex_count); } 每一次调…
最近在做一个项目,要从贴图中获取图像数据,查了很多资料,也琢磨很久,获取到的数据都是0.终于在一次偶然的机会,发现了端倪,成功了. 不得不说这"一分灵感"真的很重要 以下是在获取贴图数据时的注意事项: 所有的OpenGL调用都在同一个线程来完成,否则会出现未知的问题(没试过在不同线程调用) 多线程本来就比单线程不好操控,除非对自己的逻辑和代码很有信心,否则,会出什么问题真的很难说 使用FBO提升效率(没试过不用FBO获取) 读取贴图数据的原理是将贴图与缓存绑定,再读取缓存数据,达到读取…
OpenGL ES是以手持和嵌入式设备为目标的高级3D图形应用程序编程接口,主要的支持平台是iOS,Android,Linux和Windows 1.顶点着色器 他可以用于通过矩阵变换位置,计算照明公式来生成逐顶点颜色以及生成或者变换纹理坐标等基于顶点的传统操作顶点着色器的输入包括:1.着色器程序--描述顶点上执行操作的顶点着色器程序源代码或者可执行文件2.顶点着色器输入(或者属性)--用顶点数组提供的每个顶点的数据3.统一变量(uniform)--顶点(或者片段)着色器使用的不变数据4.采样器-…
OpenGL版本 iOS系统默认支持OpenGl ES1.0.ES2.0以及ES3.0 3个版本,三者之间并不是简单的版本升级,设计理念甚至完全不同,在开发OpenGL项目前,需要根据业务需求选择合适的版本.这方面的介绍不少,不再展开.在学习OpenGL代码的时候也需要知道它对应着哪个版本,在ES1中执行ES2代码是看不到任何效果的,你可以在初始化EAGLContext时指定ES版本号 _eaglContext = [[EAGLContext alloc] initWithAPI:kEAGLRe…
/* * Copyright (C) 2009 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://w…
OPENGL ES最多支持32位颜色值. 支持的像素格式有以下几种: 客户端格式 GL格式 GL数据类型 字节数 RGBA8888 GL_RGBA GL_UNSIGNED_BYTE 4 RGB888 GL_RGB GL_UNSIGNED_BYTE 3 RGB5A1 GL_RGBA GL_UNSIGNED_SHORT_5_5_5_1 2 RGB565 GL_RGB GL_UNSIGNED_SHORT_5_6_5 2 RGBA4444 GL_RGBA GL_UNSIGNED_SHORT_4_4_4_…
电脑或者手机上做图像处理有很多方式,但是目前为止最高效的方法是有效地使用图形处理单元,或者叫 GPU.你的手机包含两个不同的处理单元,CPU 和 GPU.CPU 是个多面手,并且不得不处理所有的事情,而 GPU 则可以集中来处理好一件事情,就是并行地做浮点运算.事实上,图像处理和渲染就是在将要渲染到窗口上的像素上做许许多多的浮点运算. 通过有效的利用 GPU,可以成百倍甚至上千倍地提高手机上的图像渲染能力.如果不是基于 GPU 的处理,手机上实时高清视频滤镜是不现实,甚至不可能的. 着色器 (s…