文档章节

opengl顶点坐标的变换

流云1987
 流云1987
发布于 2017/01/21 23:00
字数 330
阅读 72
收藏 0
点赞 0
评论 0

当定义一个物体后,先做MVP矩阵变换,把最后计算出来的矩阵resultMatrix传递给顶点着色器,顶点着色器把resultMatrix和当前顶点的坐标相乘,得到顶点着色器要输出的gl_Position。

顶点着色器输出的gl_Position中含有一个w值,opengl会根据这个w做空间裁剪,x,y,z都需要在-w到w之间,大于或者小于都将被裁剪掉。

然后opengl会做透视除法,所谓的透视除法,也就是x,y,z这三个值都除以w,然后x,y,z都在[-1,1]的范围内,这也就是归一化坐标。  透视除法是在2D屏幕上显示远小近大的3D效果的关键所在。

 

最后就是将归一化坐标转换为屏幕的坐标了,这个需要用到视口变换,

GLES20.glViewport(0, 0, width, height); //用于指定屏幕左上角的位置,和屏幕的长宽

GLES20.glDepthRangef(zNear, zFar);//深度的范围,这个函数也可以不设置,因为有默认值,在[0,1]之间。

 

 

© 著作权归作者所有

共有 人打赏支持
流云1987
粉丝 1
博文 8
码字总数 5512
作品 0
杭州
在Android中使用OpenGL ES进行开发第(二)课:定义图形

一、前期基础知识储备 笔者计划写三篇文章来详细分析OpenGL ES基础的同时也是入门关键的三个点: ①OpenGL ES是什么?与OpenGL的关系是什么?——概念部分 ②使用OpenGLES绘制2D/3D图形的第一...

weixin_41101173 ⋅ 04/22 ⋅ 0

图片和图形之应用投影和相机视图(13)

原文 概要 在OpenGL ES环境中,投影和相机视图允许您以更接近您用眼睛看物体的方式显示绘制的对象。这种物理观察的模拟是通过绘制物体坐标的数学变换完成的: 投影 - 此变换根据GLSurfaceVi...

lichong951 ⋅ 05/26 ⋅ 0

OpenGL实现物体动画和视频特效

OpenGL实现视频的水印、滤镜?OpenGL实现视频的剪裁、旋转? 2D/3D物体的 旋转,平移,缩放? OpenGL图片滤镜与视频滤镜? 矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合,最早来自于方...

shareus ⋅ 04/24 ⋅ 0

OpenGL ES3(第二篇)

你这一生中的迷,必须要用其他的迷才能解开,就像有的梦,必须穿过其他的梦才能醒来。你必须一个一个地走过,才能走出这场连环梦。 ——《如梦之梦》 OpenGL ES提供了一个纹理贴图对几何图形...

星星编程 ⋅ 06/18 ⋅ 0

iOS-OpenGL ES入门教程(四)光照

前言 前面的基础文章列表 iOS-零基础学习OpenGL ES入门教程(一) iOS-OpenGL ES入门教程(二)最简单的纹理Demo iOS-OpenGL ES入门教程(三)纹理取样,混合,多重纹理 下面来讲一下光照 光...

安东_Ace ⋅ 06/14 ⋅ 0

iOS-OpenGL ES入门教程(三)纹理取样,混合,多重纹理

前言 上两篇文章里我们分别绘制了最简单的三角形和纹理图片 iOS-零基础学习OpenGL ES入门教程(一) iOS-OpenGL ES入门教程(二)最简单的纹理Demo 下面来讲一下纹理取样,混合,和多重纹理 ...

安东_Ace ⋅ 05/15 ⋅ 0

OpenGL学习之路4----使用着色器(shader)

根据教程:ogldev一步步从零开始,记录学习历程 一、OpenGL 渲染管线 这节相比上一节有了本质上的区别,OpenGL实际上是通过渲染管线(rendering pipeline),经过一系列的数据处理,将应用程序的...

zach_z ⋅ 04/23 ⋅ 0

计算机图形与OpenGL学习六(二维观察2.OpenGL二维观察函数)

OpenGL二维观察函数 本节概念性内容较多,为便于理解与记忆,可以查看之前文章的实例中的函数操作 1. OpenGL投影模式 在选择OpenGL裁剪窗口和视口之前,必须建立合适的模式以便构建从世界坐标...

lhs322 ⋅ 04/17 ⋅ 0

u3d shader着色器学习笔记(一)

基础知识:MeshFilter 存储一个mesh(网格,模型网格,模型由哪些三角面组成,组成什么样子的模型,三角面的一些顶点信息) MeshRender 根据MeshFilter 存储的三角面顶点信息 用来渲染一个模...

nihao561 ⋅ 05/24 ⋅ 0

【Opengl Android】在安卓上渲染一个obj模型

工具:eclipse 一、获得一个obj文件并分析内容 3D溜溜网 点击打开链接 可以下载到很多模型文件 用3dmax打开 导出外部格式文件obj 即可得到一个obj模型 将格式改为txt 即可看到里面的数据内容...

qq_35263780 ⋅ 04/22 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

来自一个优秀Java工程师的简历

写在前面: 鉴于前几天的一份前端简历,虽然带着很多不看好的声音,但却帮助了很多正在求职路上的人,不管评论怎么说,我还是决定要贴出一份后端的简历。 XXX ID:357912485 目前正在找工作 ...

颖伙虫 ⋅ 19分钟前 ⋅ 0

Confluence 6 恢复一个站点有关使用站点导出为备份的说明

推荐使用生产备份策略。我们推荐你针对你的生产环境中使用的 Confluence 参考 Production Backup Strategy 页面中的内容进行备份和恢复(这个需要你备份你的数据库和 home 目录)。XML 导出备...

honeymose ⋅ 今天 ⋅ 0

JavaScript零基础入门——(九)JavaScript的函数

JavaScript零基础入门——(九)JavaScript的函数 欢迎回到我们的JavaScript零基础入门,上一节课我们了解了有关JS中数组的相关知识点,不知道大家有没有自己去敲一敲,消化一下?这一节课,...

JandenMa ⋅ 今天 ⋅ 0

火狐浏览器各版本下载及插件httprequest

各版本下载地址:http://ftp.mozilla.org/pub/mozilla.org//firefox/releases/ httprequest插件截至57版本可用

xiaoge2016 ⋅ 今天 ⋅ 0

Docker系列教程28-实战:使用Docker Compose运行ELK

原文:http://www.itmuch.com/docker/28-docker-compose-in-action-elk/,转载请说明出处。 ElasticSearch【存储】 Logtash【日志聚合器】 Kibana【界面】 答案: version: '2'services: ...

周立_ITMuch ⋅ 今天 ⋅ 0

使用快嘉sdkg极速搭建接口模拟系统

在具体项目研发过程中,一旦前后端双方约定好接口,前端和app同事就会希望后台同事可以尽快提供可供对接的接口方便调试,而对后台同事来说定好接口还仅是个开始、设计流程,实现业务逻辑,编...

fastjrun ⋅ 今天 ⋅ 0

PXE/KickStart 无人值守安装

导言 作为中小公司的运维,经常会遇到一些机械式的重复工作,例如:有时公司同时上线几十甚至上百台服务器,而且需要我们在短时间内完成系统安装。 常规的办法有什么? 光盘安装系统 ===> 一...

kangvcar ⋅ 昨天 ⋅ 0

使用Puppeteer撸一个爬虫

Puppeteer是什么 puppeteer是谷歌chrome团队官方开发的一个无界面(Headless)chrome工具。Chrome Headless将成为web应用自动化测试的行业标杆。所以我们很有必要来了解一下它。所谓的无头浏...

小草先森 ⋅ 昨天 ⋅ 0

Java Done Right

* 表示难度较大或理论性较强。 ** 表示难度更大或理论性更强。 【Java语言本身】 基础语法,面向对象,顺序编程,并发编程,网络编程,泛型,注解,lambda(Java8),module(Java9),var(...

风华神使 ⋅ 昨天 ⋅ 0

Linux系统日志

linux 系统日志 /var/log/messages /etc/logrotate.conf 日志切割配置文件 https://my.oschina.net/u/2000675/blog/908189 logrotate 使用详解 dmesg 命令 /var/log/dmesg 日志 last命令,调......

Linux学习笔记 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部