计算机图形学

贝塞尔曲线简单介绍

冷暖自知 提交于 2019-11-26 17:15:33
什么是贝塞尔曲线? Bézier curve(贝塞尔曲线) 是应用于二维图形应用程序的数学曲线。 曲线定义:起始点、终止点(也称锚点)、控制点。通过调整控制点,贝塞尔曲线的形状会发生变化。 1962年,法国数学家Pierre Bézier第一个研究了这种矢量绘制曲线的方法,并给出了详细的计算公式,因此按照这样的公式绘制出来的曲线就用他的姓氏来命名,称为贝塞尔曲线。 贝塞尔曲线所依据的最原始的数学公式是 伯恩斯坦多项式。 简单来说,伯恩斯坦多项式可以用来证明,在[ a, b ] 区间上所有的连续函数都可以用多项式来逼近,并且收敛性很强,也就是一致收敛。 就是一个连续函数,你可以将它写成若干个伯恩斯坦多项式相加的形式,并且,随着 n→∞,这个多项式将一致收敛到原函数,这个就是伯恩斯坦斯的逼近性质。 到了1959年,当时就职于雪铁龙的法国数学家 Paul de Casteljau 开始对伯恩斯坦多项式进行了图形化的尝试,并且提供了一种数值稳定的德卡斯特里奥(de Casteljau) 算法。根据这个算法,就可以只通过很少的控制点,去生成复杂的平滑曲线,也就是贝塞尔曲线。 而贝塞尔曲线的得名,得归功于1962年就职于雷诺的法国工程师皮埃尔·贝塞尔(Pierre Bézier),他使用这种方法来辅助汽车的车体工业设计,并且广泛宣传,因此大家才都称他为贝塞尔曲线 。

计算机图形学——顶点数组,缓存数组、索引...

╄→尐↘猪︶ㄣ 提交于 2019-11-26 12:59:47
以下操作只保证在兼容模式下可行,整理来自红宝书 顶点数组: 由于OpenGL需要进行大量的函数调用对几何图元进行渲染,为了减少函数调用次数以及相邻多边形的共享顶点的冗余处理,OpenGL提供了顶点数组函数, 1.1使用顶点数组的一般步骤是:激活最多可达八个数组,可用于存储不同类型的数据:顶点坐标、表面发现法线、RGBA颜色、辅助颜色、颜色索引、雾坐标、纹理坐标以及多边形的边界标志 实现函数: glEnableClientState(GLenum array) GLenum array可以是:GL_VERTEX_ARRAY,GL_COLOR_ARRAY,GL_INDEX_ARRAY,GL_NORMAL_ARRAY...等等具体可见红宝书第43页内容,如果使用光照,需要为每个顶点定义一条法线向量,需要同时激活表面法线数组和顶点坐标数组 用glDisableClientState()来关闭 1.2把数据放入数组,数组通过指向它们内存位置的指针进行访问 实现函数: void glVertexPointer(GLint size(每个顶点的坐标数量,必须是2/3/4),GLenum type(GL_SHORT,GL_INT,GL_FLOAT,GL_DOUBLE),GLsize stride(连续顶点之间的字节偏移量,为零时顶点紧密相连),const GLvoid *pointer

mali GPU 官网指南

て烟熏妆下的殇ゞ 提交于 2019-11-26 08:25:22
https://blog.csdn.net/heliangbin87/article/details/79650654 1、简介 GPU(图形处理单元),是一种专门在个人电脑、工作站、游戏机和移动设备上图形运算工作的微处理器。以前GPU主要用于图形处理,现在GPU的通用计算技术也得到了飞速发展,事实证明在浮点运算、并行计算等部分计算方面,GPU可以提供数十倍乃至上百倍于CPU的性能。通用计算方面的标准有:OpenCl、CUDA、ATISTREAM。 其中,OpenCL(全称Open Computing Language,开放运算语言)是第一个面向异构系统通用目的并行编程的开放式、免费标准,也是一个统一的编程环境,便于软件开发人员为高性能计算服务器、桌面计算系统、手持设备编写高效轻便的代码,而且广泛适用于多核心处理器(CPU)、图形处理器(GPU)、Cell类型架构以及数字信号处理器(DSP)等其他并行处理器,在游戏、娱乐、科研、医疗等各种领域都有广阔的发展前景,AMD-ATI、NVIDIA时下的产品都支持Open CL。 GPU的生产厂商非常多,最大的三家是英特尔、NVIDIA、AMD,他们主要应用于PC领域。相比ARM CPU占据了移动端90%市场,ARM的mali GPU只是移动市场众多GPU的一小众,它主要应用基于ARM 体系结构的移动设备上,得益于CPU占有率发展迅猛