自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (6)
  • 收藏
  • 关注

原创 等效焦距和视场角计算

等效焦距是相对于35mm胶卷的焦距。35mm胶卷的宽和高是36mm*24mm,对角线为35mm。我们在构造视场角fov的时候有三种方式:相对于宽,相对于高,相对于对角线。下面我就相对于高度的方式来求等效焦距下的视场角。fov = 2.0*atan( (h/w)*(24*0.5)/f );h:图片的高度w:图片的宽度f:等效焦距

2016-08-03 15:19:43 7756 1

原创 opengl版本更新和绘制方式

opengl es

2016-05-04 17:52:31 768

原创 法线变换

顶点是(x,y,z,1),法线的表示是(x,y,0),顶点是个点,法线是个方向。如果用用MV矩阵来直接变换法线,会造成法线的方向出错误。 法线变换:应该用变换矩阵的逆转置矩阵假设Model space中的某条切线向量是T,法线向量是N。那么由他们是垂直的可得到:TTN=0假设他们变换到Eye space中后分别是T’和N’。那么他们应该仍然是相互垂直的:T’TN’=0假设切线向量和法线的变换矩

2016-03-22 18:04:24 554

原创 opengl 管线

顶点数据->vert shader>图元装配->裁切->光栅化->frage shader->深度测试->混合

2016-03-22 17:48:00 397

原创 深入解析投影矩阵的数学方法

齐次空间 要理解3d的齐次空间,我们先理解2d的齐次空间。 2d的齐次空间可以理解为三维空间上的向量在(x, y, 1)平面上的投影. 投影结果是(x/z, y/z, 1) 齐次矩阵 齐次矩阵能够对向量做仿射变换,也就是能够将平移加入到矩阵中,这是3*3矩阵做不到的。而4*3矩阵虽然也能做仿射变换,但是不能求逆矩阵,因为不是方阵。-齐次矩阵的透视投影 空间坐标与其投影到投影平面上的坐

2016-03-16 17:50:23 6644

原创 osg 深拷贝、浅拷贝

osg读取obj文件,drawable的材质是共享的

2016-02-20 11:44:54 1769

原创 c++ char 运算

//要减去 '0'char a = '1' - '0';char b = '5' - '0';char c = a + b; // c = '6'

2016-02-17 11:44:40 1187

原创 学习osg渲染内核笔记

先抛出问题opengl的机制是状态机,osg是对opengl的面相对象的封装,所以场景树的渲染最终还是要用状态机来实现。osg的场景管理是用场景树来实现的,怎么转换到状态机呢?对于透明物体、hud或者天空渲染等,需要对场景对象进行排序,这个如何实现?默认的状态存在冗余,如何对opengl的状态进行优化?osg渲染内核是如何解决这些问题的?用状态树对状态进行管理用渲染树对几何体进行管理参考的

2016-02-16 11:27:07 943

原创 osg的材质共享问题

在给drawable赋予材质的时候,会影响到相同材质的其他网格。可能是osg对相同材质的网格做了优化,将相同材质的网格放在一起渲染。非drawable的对象就不会有这个问题.

2016-02-16 09:49:47 563

原创 adb 查看cpu使用率

查看cpu使用情况:       输入命令:top -m 10 -s cpu(-m显示最大数量,-s 按指定行排序)

2016-02-01 11:41:24 3547

原创 osg 屏幕坐标和世界坐标转换

//屏幕-〉世界:osgUtil::SceneView::projectWindowIntoObject//或者自己运算Matrix VPW = camera-〉getViewMatrix() * camera-〉getProjectionMatrix() * camera-〉getViewport()-〉

2016-01-22 16:19:17 8053 1

转载 为什么坐标变换的顺序必须是: 缩放->旋转->平移

【Math】世界坐标变换要先缩放、后旋转、再平移的原因一个三维场景中的各个模型一般需要各自建模,再通过坐标变换放到一个统一的世界空间的指定位置上。 这个过程在 3D 图形学中称作“世界变换” 。 世界变换有三种,平移、旋转和缩放 (实际还有不常用的扭曲和镜像,它们不是affine变换)。 这三种变换按各种顺序执行,结果是不同的。 可是实际的应用中一般按照 缩放 -> 旋转 -> 平移的顺序进行。

2016-01-22 14:36:03 19421

原创 行向量与列向量

* 行向量左乘矩阵* 列向量右乘矩阵

2016-01-22 14:20:38 5466

原创 openSceneGraphic 删除多个子节点

openSceneGraphic 删除多个子节点时,应当先储存要删除子节点的序号,然后做降序排列,然后删除。#include <vector>#include <algorithm>//自定义排序函数 bool SortBy(const int v1, const int v2)//注意:本函数的参数的类型一定要与vector中元素的类型一致 { return v1> v2;//降

2016-01-18 21:30:25 399

原创 OpenSceneGraphic 着色器中数组的应用

osg::ref_ptr<osg::FloatArray> fa = new osg::FloatArray(); fa->push_back(1.0f); fa->push_back(0.0f); fa->push_back(0.0f); fa->push_back(1.0f); //unf->setArray(fa); ss->addUniform

2016-01-17 21:10:40 684

原创 osg 实现动态跟新纹理数据

主要是用这个函数来更新image的数据 osg::Image* img0 = osgDB::readImageFile("C:/zq/workplace/osg/testAll/TestOsg/TestOsg/tmp/glassResource/cube.bmp"); osg::Image* img1 = osgDB::readImageFile("C:/zq/workplace/os

2015-12-04 16:22:14 3221

转载 GLSL语言内置的变量

GLSL语言内置的变量,包括内置的顶点属性(attribute)、一致变量(uniform)、易变变量(varying)以及常量(const),一方面加深印象,另一方面今天的文章可以为以后的编程做查询之用。顶点属性——指顶点的信息,OpenGL据此绘制各个图元,对于传统的顶点属性包括坐标、纹理坐标、颜色等GLSL都会设置一个内置变量与之对应,以便在需要时可以在顶点或片元着色器中直接引用,这也体现了G

2015-12-03 15:09:22 432

原创 osg 小技巧

1.osg打印输出osg::notify(osg::NOTICE)

2015-12-02 20:02:54 405

原创 相对路径的写法

以下为建立路径所使用的几个特殊符号,及其所代表的意义。 “./”:代表目前所在的目录。 “../”:代表上一层目录。 以”/”开头:代表根目录。

2015-11-18 11:10:34 7974

原创 gles fage着色器的默认精度设置

在片元着色器中必须设置float的默认精度,或者为每个使用的float量设置精度,否则就会出现着色器错误precision highp float;

2015-11-18 10:42:10 739

转载 .obj文件格式与.mtl文件格式

最近在学习obj文件格式,上网查了些资料,很难找到比较全面的文章,尤其是对.mtl文件的说明甚少。今天把最近搜索的资料整合了一下。这里的obj文件格式指的是Wavefront公司为它的一套基于工作站的3D建模和动画软件”Advanced Visualizer”开发的一种文件格式。 OBJ文件是一种标准的3D模型文件格式,很适合用于3D软件模型之间的互导。OBJ文件是一种文本文件格式,这就意味着你可

2015-11-16 17:29:39 5097

原创 osg下,glsl中uniform参数的flaot和double类型问题

osg下的旧版glsl不支持double类型uniform参数,传入时会报错。

2015-11-16 13:58:43 1147

转载 文章标题

Objective-C 并不是一门复杂的语言,经过一段时间的接触,你就能体会到它的优雅。Objective-C 语言实现了严格的面向对象编程,它扩展了标准 ANSI C 语言,增加了定义类和方法的语法,它还推行类和接口的动态扩展性,使任何类都能适配和采用。  Objective-C是C 语言的超集  既然是 C 语言的超集,Objective-C 支持所有 C 语言的基本语法。你可以继续按你的习惯书

2015-11-14 19:22:05 287

原创 osg的fov解释

osg的fov参考的是 gluPerspective函数,用的是x_z平面的角度,也就是竖直平面的角度。

2015-11-14 14:28:21 679

转载 \r与\n的区别,以及\r\n的用法

\r是回车,英文是Carriage return,作用:使光标到行首\n是换行,英文是New line/line feed,作用:使光标下移一行如果用过机械打字机,就知道回车和换行的区别了。  回车就是把水平位置复位,不卷动滚筒。换行就是把滚筒卷一格,不改变水平位置。我们平时所说的键盘Enter键换行实则应该叫做叫做回车换行(\r\n)看到一

2015-11-10 16:41:39 2815 3

转载 What’s New in OpenGL ES 3.0

What’s New in OpenGL ES 3.0 In conjunction with next-generation GPUs, OpenGL ES 3.0 will make a number of new features available to mobile and embedded devices. In terms of functionality, OpenGL ES 3.

2015-11-09 14:53:43 402

原创 opengl和osg的坐标系统

openGL使用右手坐标从左到右,x递增从下到上,y递增从远到近,z递增

2015-11-09 11:32:28 968

原创 vs2013 快捷键整理

全屏 ctrl+shift+enter 整理代码 ctrl+k,ctrl+d 回talbe shift+table

2015-11-05 14:40:05 429

原创 glGenVertexArrays 崩溃的处理方式

在运行红宝书8版的源码的时候,遇到glGenVertexArrays调用时崩溃的问题。解决方式是在glewInit()前加入glewExperimental = GL_TRUE;

2015-11-05 11:26:38 4144 2

原创 opengl 在windows环境搭建的相关问题汇总

1.glewopengl的扩展是在gl1.1基础上进行的,用glew这个库进行扩展,所以要用这个库。最新的版本可以在官网http://glew.sourceforge.net/上下载2.glutglut已经被freelut全面替代了,可以在这里下载 http://www.transmissionzero.co.uk/software/freeglut-devel/3.gl.h这

2015-11-03 17:42:41 346

原创 c# 装饰模式

public interface IPhoneHandle { void Show(); } public class ApplePhone : IPhoneHandle { public void Show() { Console.WriteLine("ApplePhone");

2015-01-28 16:57:40 390

原创 c# 观察者模式

public interface ISubject { void Notify(); void Register(IOberver observer); void UnRegister(IOberver observer); } public class Subject:ISubject { private List observers = new List(); public void Regi

2015-01-28 16:49:53 462

原创 3d计算机数学笔记(1) 齐次矩阵与透视投影

本文目录结构:1.什么是齐次矩阵2.齐次矩阵在透视投影上的运用1.什么是齐次矩阵01.齐次空间所谓齐次坐标就是将一个原本是n维的向量用一个n+1维向量来表示。例如,二维点(x,y)的齐次坐标表示为(hx,hy,h)。由此可以看出,一个向量的齐次表示是不唯一的,齐次坐标的h取不同的值都表示的是同一个点,比如齐次坐标(8,4,2)、(4,2,1)表示的都是二维点(4

2015-01-26 17:30:32 2622

原创 naudio 播放mp3

var waveOutDevice = new WaveOut(); var audioFileReader = new AudioFileReader("test.mp3"); waveOutDevice.Init(audioFileReader); waveOutDevice.Play();

2014-07-29 00:08:10 3253 1

原创 CERTI架构剖析

待整理...CERTI采用层次式结构模型联邦管理即管理联邦执行第一个加入仿真的联邦成员可以删除联邦执行联邦执行退出顺序:联邦成员,局部RTI上联邦执行与局部RTI,中心RTI上联邦执行RTI根据FED文件生成全联邦都一至的各类数据列表:联邦执行列表 记录联邦执行的ID值和联邦执行名联邦成员列表 记录参与联邦执行的每个联邦成员的

2013-04-19 10:46:12 4525 2

原创 HLA简介

待整理...RTI (Run-Time Interfrastructer)运行支撑框架OMT(Object Model Template)对象模型模板定义信息交互的格式和内容Rules框架与规则集它给出了HLA采用的术语、系统的组成和一套规则。interface specificationRTI接口规范1.规则

2013-04-19 10:45:30 5128 1

原创 CERTI 实例billard剖析

先做CERTI主要模块剖析类剖析RTIambassador联邦代理类代表RTIA,实现了6大服务头文件在RTIambServices.hh中联邦管理createFederationExecutionjoinFederationExecutionregisterFederationSynchroniztionPoint声明管理对象管理所有权管理

2013-04-19 10:26:42 1906 1

原创 osgOcean与osgEarth融合技术细节

osgOcean与osgEarth融合的主要技术问题有2点:1.osgOcean是平面的海洋,所以不支持osgEarth球面。2.osgEarth渲染最终依靠shader完成,并且自带一套着色器合成框架ShaderCompliction;这与osgOcean的着色器系统不兼容。待续...

2013-04-15 10:41:07 6156 3

原创 矩阵变换:逆矩阵的推导

求矩阵的逆是个复杂的过程,主要分为以下三个过程:矩阵的行列式、代数余子式通过代数余子式求矩阵的逆通过正交矩阵求矩阵的逆1. 矩阵的行列式、代数余子式01.行列式(determinats)方阵M的行列式记作|M|或“det M”。2阶方阵的行列式定义:将主对角线和反对角线上的元素各自相乘,然后用主对角线元素的积减去反对角线元素的积。3阶方阵

2013-04-09 15:26:21 6599

原创 矩阵变换:沿任意方向缩放、镜像、正交投影及切变及其推导

镜像、正交投影和切变的推导都可根据缩放变形而来。在要缩放方向上去缩放因子k,如果|k|1,物体“膨胀”;k=0,正交投影;k1. 缩放01. 沿坐标轴缩放2D中有两个缩放因子Kx和Ky,p和q是原来的基向量,缩放因子单独影响基向量,得到p`和q`:得到缩放矩阵:3D中增加缩放因子Kz02.沿任意方向缩放设n

2013-04-09 10:18:15 17573 2

OpenSceneGraphReferenceDocs-3.4.0

osg3.4在今年8月发布了,这个是按照cmake生成的doxygen文档,有完整的类图,是chm格式,很方便。

2015-11-09

unity3d 真实世界地形插件

这个组件被设计为自动创建统一地形,真正的全球高程数据。使用高精度数据SRTM V4.1 3角秒(90米)的准确性,相对误差小于6米的高度。对于每个创建的地形细节纹理,你可以看到道路,河流,房屋, 您将有机会获得几乎整个地球(北纬60至-60)。足以表明的立场和选择质量设置 与组件一起自带的一个工具,让你在谷歌地图上选择想要的区域权。 创建一个游戏景观从未如此简单。

2014-03-05

3d数学基础:图形与游戏开发 第2版ppt 英文版

3d数学基础:图形与游戏开发 第2版ppt 第二版的ppt,但是综合第一版的一些内容 目前缺少第9章,第10章。

2013-04-08

3d数学基础:图形与游戏开发 第2版(英文版)

图形学经典, 第二版国内尚未翻译。现在已经出到第三版了,但找不pdf。

2013-04-08

Introduction to 3D Game Programming with DirectX 9.0(中文版)

传说中的龙书!学习DirectX必备基础书籍。 这是中文版的,中文译名也叫《DirectX 9.0 3D 游戏开发编程基础》。 很清晰,值得珍藏!

2011-11-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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