cocos2dx优化内存技巧

一、内存优化原则 为了优化应用内存,你应该知道是什么消耗了你应用的大部分内存,答案就是Texture(纹理)!它几乎占据了90%的应用内存。那么我们应该尽力去减小我们应用的纹理内存使用,否则我们的应用进程可能会被系统杀死。 为了减少内存警告,这里我们给出两个普遍的关于cocos2dx游戏内...

2019-04-11 17:23:21

阅读数 13

评论数 0

OpenGL的简介

(1)OpenGL概述: openGL(Open Graphics Library)是个专业的图形程序接口,定义了一个跨编程语言、跨平台的编程接口规格。它用于三维图像(二维的亦可),是一个功能强大,调用方便的底层三维图形处理库,也是该领域的工业标准。 计算机三维图形是指将用数据描述的三维...

2019-03-28 18:23:33

阅读数 20

评论数 0

四种可以向OpenGL着色器传递渲染数据的方法

1.属性 2.uniform值 3.纹理 4.输出(out,in)

2019-03-27 16:50:37

阅读数 11

评论数 0

glMatrixMode(GL_PROJECTION)和glOrtho(0,with,height,0,-100,100)

在OpenGL中,如果想对模型进行操作,就要对这个模型的状态(当前的矩阵)乘上这个操作对应的一个矩阵. 如果当前矩阵乘以变换矩阵(平移, 缩放, 旋转), 那相乘之后, 模型的位置被变换; 如果当前矩阵乘以投影矩阵(将3D物体投影到2D平面), 相乘后, 模型的投影方式被设置; 如果当前矩阵乘以纹...

2019-03-14 14:40:10

阅读数 21

评论数 0

glViewport()函数和glOrtho()函数的理解

在OpenGL中有两个比较重要的投影变换函数,glViewport和glOrtho。 glOrtho是创建一个正交平行的视景体。 一般用于物体不会因为离屏幕的远近而产生大小的变换的情况。比如,常用的工程中的制图等。需要比较精确的显示。 而作为它的对立情况, glFrustum则产生一个透视投影。...

2019-02-14 16:21:20

阅读数 24

评论数 0

glMatrixMode()函数和glLoadIdentity()函数

glMatrixMode():指定哪一个矩阵是当前矩阵 C语言描述 void glMatrixMode(GLenum mode) 参数 mode指定哪一个矩阵堆栈是下一个矩阵操作的目标,可选值:GL_MODELVIEW、GL_PROJECTION、GL_TEXTURE. 说明 glMa...

2019-02-14 14:52:33

阅读数 25

评论数 0

固定管线与可编程管线

1 什么是渲染管线 渲染管线又称渲染流水线,它是图形图像从数据一步一步形成最终输出的画面所要经历的各种操作过程。数据经过一个操作后,被处理成下一个步骤需要的数据,最终一步一步整合成拼凑最终画面的元素。 通常来讲,以下两个大步骤是必要: 顶点渲染:用于渲染出形状 像素渲染:在形状中填充色彩 所...

2019-02-13 14:27:36

阅读数 42

评论数 0

OpenGL的可编程管线

OpenGL的可编程管线 ①顶点着色阶段:接收顶点数据,独立处理每个顶点。 ②细分着色阶段:可选阶段。在OpenGL管线内部生成新的几何体。 ③几何着色阶段:可选阶段。在OpenGL管线内部对所有几何图元进行修改。 ④片元着色阶段:处理OpenGL光栅化之后生成的独立片元。 ⑤计算着色阶段...

2019-02-02 11:24:29

阅读数 52

评论数 0

gluOrtho2D作用

glViewport(0, 0, WIDTH, HEIGHT); gluOrtho2D是用来指定屏幕区域对应的模型坐标范围,我们自己所绘制的图形的坐标必须在这个范围内,不然不能看到自己绘制的图形。 在没调用gluOthor2d函数之前,窗口的中心坐标为(0,0);调用了这个函数之后窗口的中心坐...

2019-02-01 12:37:36

阅读数 44

评论数 0

cocos2dx实现翻书效果。

因为项目需求,需要使用cocos实现3d翻书的效果,刚开始确实没有什么思路,cocos2d做3d的效果这不是开玩笑吗。但是,再难也得做啊,没办法。 开始查资料,在百度,google上搜索了好几天,基本把所有的文章都翻遍了,根本没有人实现过,好吧,我承认有点虚了,这可咋办。 后来想到cocos2...

2019-01-31 10:52:16

阅读数 68

评论数 0

调试时,Lua的print函数输出的内容同时输出到VS的“输出窗口”中

function babe_tostring(...) local num = select("#",...) local args = {...} local outs = {} ...

2019-01-16 16:27:50

阅读数 249

评论数 0

着色器与OpenGL

着色器与OpenGL      现代OpenGL渲染管线严重依赖着色器来处理传入的数据。如果不使用着色器,那么用OpenGL可以做到的事情可能只有清除窗口内容了,可见着色器对于OpenGL的重要性。在OpenGL 3.0版本以前(含该版本),或者如果你用到了兼容模式(compatibility ...

2019-01-04 11:04:30

阅读数 40

评论数 0

《OpenGL编程指南》收藏的学习网址

https://yq.aliyun.com/articles/212917?spm=a2c4e.11153940.blogcont212814.13.501c37d5c4KWZl https://www.cnblogs.com/MenAngel/p/5630475.html

2019-01-04 10:56:00

阅读数 135

评论数 0

opengl状态机

OpenGL自身是一个巨大的状态机(State Machine):一系列的变量描述OpenGL此刻应当如何运行。OpenGL的状态通常被称为OpenGL上下文(Context)。我们通常使用如下途径去更改OpenGL状态:设置选项,操作缓冲。最后,我们使用当前OpenGL上下文来渲染。 假设当我...

2019-01-03 16:12:40

阅读数 54

评论数 0

OpenGL中的freeglut和glew的作用和区别

这两个库都是用于让OpenGL程序编写更简单,下载链接:freeglut和glew 一,为什么需要freeglut和glew     OpenGL官方文档中提到:     Before you can actually use OpenGL in a program, you must fir...

2019-01-03 14:41:35

阅读数 109

评论数 0

配置Visual Studio 2017+OpenGL可运行蓝宝书源码

https://blog.csdn.net/perseverancep/article/details/72476727 先根据上面这篇文字步骤意义操作,完了 如果运行报错LINK错误.lib文件打不开, 配置过程 右键 属性->VC++目录: 包含目录,即头文件目...

2019-01-02 19:07:44

阅读数 66

评论数 0

Cocos2dx开发之屏幕适配

其实设计分辨率(WinSize)就是程序里面的逻辑画布大小,是我们需要去关注的东西,我们所有的绘图元素都是放在逻辑大小的画布上的。 至于设计分辨率显示到屏幕分辨率(FrameSize),是通过程序给我们的几种模式(kResolutionExactFit,kResolutionNoBorder,k...

2018-12-04 18:09:08

阅读数 49

评论数 0

OPENGL 存储着色器与非存储着色器

存储着色器:可以由GLTools的C++类GLShaderManager进行管理,GLShaderManager中的函数UseStockShader会选择一个存储着色器并提供这个着色器的Uniform值,该函数完成的东西就是对我们的顶点数据进一步的加工,比如设置顶点颜色,设置顶点光照的强度,设置顶...

2018-11-28 19:02:32

阅读数 31

评论数 0

opengl蓝宝书学习笔记1_3D图形技术和术语介绍

1将数学和图形数据转换成3D空间图像的操作叫做渲染(Rending) 渲染过程中出现的其他一些属性和操作: 1.1变换(Transformation)和投影(Projection)          顶点(Vertex),能够通过一种称为变换矩阵(Transformation Matrix)...

2018-11-16 17:24:56

阅读数 35

评论数 0

OpenGL超级宝典学习笔记——显示列表

在先前的章节中,我们已经讨论OpenGL基本的一些渲染技术。这些基本的技巧足够渲染简单的图像,然而在渲染精细的画面逼真的画面的时候(非常多的顶点和纹理),如果使用之前的方式渲染(立即模式)速度就很慢了,考虑到性能的原因(特别是实时渲染)我们需要以更快的方式完成画面的渲染。精细的画面有大量的数据需要...

2018-11-14 16:19:59

阅读数 66

评论数 0

提示
确定要删除当前文章?
取消 删除