- 博客(11)
- 资源 (4)
- 收藏
- 关注
原创 3D引擎:Horde3D:Shader类里的 结构体,以及渲染一个 Logo的简单流程(三)
首先是 ShaderCombination结构体参数有:1 uint32 combMask 这个变量主要用来 表示#define的位,每一位表示一个 #define如在 shader文件中 有这样的语句: ... #ifdef _F03_ParallaxMapping #define _F02_NormalMapping#
2015-11-28 17:14:14 1517
原创 3D引擎:Horde3D:读取Shader文件流程(二)
首先,根据[[ ]]来判断 FX, VS_*, FS_*部分然后,将FX部分给 fxCode字符串, VS_*, FS_*分别交给 CodeResource 并依次存放在 _codeSections vector中。之后, 会解析 FX部分, 这部分先会设置 uniform默认的值,float / float4 类型,变量存储在 _uniforms里 存放, S
2015-11-26 19:53:16 820
原创 3D引擎:Horde3D:如何解析Shader文件(一)
在上一帖中,http://blog.csdn.net/jinghouxiang/article/details/49994983说了 如何从 Android的jni层获取 Assets文件夹下 文件的路径名,获取路径名后 需要将文件中的数据读取到char 数组中假如 assets下 有一文件为 Shader/test.shaderrootDir 为我们读取文件的根目
2015-11-24 17:01:17 1318
原创 Android Ndk: 如何从native层直接获取 assets文件夹下的文件
这篇博文写的特别好 http://androgeek.info/?p=275从Native层 直接读取 Android 工程目录 下 Asserts目录下的文件具体思路如下:Android工程 会被打包成一个 apk文件,具体存储在 data/app下 apk文件是一种 类似于 zip的压缩文件,因此,我们需要 用unzip的开源库,调用该库的 api来
2015-11-23 14:47:27 7673
原创 3D引擎:Horde3D的 Resource类
Horde3D中 Resource类 和 Scene类时 两大主要的类。 在形式上,这两个类有许多共同点。这里主要讲 Resource类。Resource主要负责加载我们需要的资源,如 执行的渲染流程, 模型,Texture,Shader code等。Resource类里有一个管理类,专门负责管理需要用到的资源。主要包括 一个 Resource类: 它是所有Res
2015-11-20 23:14:59 929
原创 3D引擎:Horde3D:小感3
Horde3D中所有 跟渲染相关的东西 最终都会交给 RenderBase去干。只要是与 Opengl相关的API在 RenderBase都能找到,绝对是学习opengl的 上好材料RenderDevice 定义在 egRendererBase.h里构造方法: RenderDevice() init方法Resources 资源类的:
2015-11-17 16:43:53 2380
原创 3D引擎:Horde3D:小感2
我们自己在写Opengl 渲染程序时, 会定义好每个可渲染的物体对象,它的属性可以包含了 顶点,颜色,材质, shader program。 然后,对它定义接口包括更新顶点位置,得到变换矩阵,使用shader program, 输送unifrorm变量,通过VBO,IBO draw。这样子我们 会创建一堆的 可渲染对象, 然后对每个对象进行渲染, 随着对象的增多,代码量就会变得越多
2015-11-16 23:14:47 1097
原创 3D引擎:Horde3D:小感
我们在 使用 Horde3D 写一个 Demo时, 真正的只需要与Horde3D的 以下几个类打交道就行了: 1 SceneManager类,2 ResourceManager类 通过 它们提供的接口 来添加资源类 和 节点 每添加一次, 都会创建一个 这个类的引用 3 Resource类 不同的Resource都继
2015-11-14 19:27:29 2759
原创 读取Xml: RapidXml
不管我们是开发 App 还是开发游戏。 视图都是一个非常重要的概念。 在App中的视图,可能是一些控件。 在游戏里,视图就是 场景,精灵等场景中的Node。不管如何,如果有大量的控件或者场景Node需要我们去创建或者 布局,就太费劲了。因此,有时候,我们可以用xml来配置,而程序中只需 读取这些xml文件,就方便多了。下面介绍一种常用的 RapidXml
2015-11-12 11:18:50 1605
原创 Opencv For Android: 如何显示摄像头预览
它是在 CameraBridgeBase 这个类里有一个 方法, deliverAndDrawFrame(CvCameraViewFrame ), 在这个函数里面,它将CvCameraViewListener2 的onCameraFrame 返回的Mat 转换为 bitmap ,然后通过canvas画在 surfaceView 持有holder的 surface上。注
2015-11-09 22:07:27 3842
原创 Modern OpenGL ES: ndk编程——画一个三角形之Shader工程
OpenGL ES2.0以后,想画一个东西必须使用 shader来完成。 而使用shader需要创建shader工程。使用shader来画一个东西的大体步骤如下:1 创建和编译shader 2 创建和链接shader工程3 为shader工程设置 uniform 和 attrubte变量4 Shader编译 并链接到工程,成最终的可执行文件Vertex Sha
2015-11-02 21:14:15 1147
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人