自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(92)
  • 收藏
  • 关注

转载 dddd

https://github.com/bitzhuwei/CSharpGL

2017-03-14 14:18:31 387

转载 c++

http://www.cplusplus.com/

2016-11-19 09:12:56 329

转载 OSGEarth绘制动态水效果

在OSGEarth上绘制水效果的思路为: 1. 使用OSG::Geometry的方式绘制多边形; 2. 在绘制的多边形上贴一个水的纹理; 3. 对纹理使用shader效果,使之动态展示。 此种方式适用于小范围的不严格的水效果,若需要大范围或者有水底效果的请使用OSGOcean。 代码如下:water.hclass Water : public HandleAdapter{

2016-11-18 10:16:51 2956

转载 OSG粒子系统应用:喷泉效果

粒子系统主要分为两大类: - 一是Effective中已有的效果,如雨雪的效果应用; - 二类是一步步从模版,发射器等创建。关于第一种的使用可以参见上一篇博客OSG粒子系统应用:雨雪效果。本篇博客来使用第二种方式创建一个喷泉的效果。 废话补多说,直接上代码:osg::ref_ptrosg::Node> Fountain::createFountain(osg::Group*

2016-11-18 10:15:45 1399

转载 osg中漫游器的原理——osgGA::CameraManipulator(二)

osgGA库中所有漫游器的基类是CameraManipulator,本文就对这个类进行一个完整的解析。通过之前的分析(详细请参考这一些列的第一篇),可以知道为了实现一个自定义的漫游器,我们至少需要实现以下几个纯虚函数:[cpp] view plain copy virtual void setByMatrix(const osg::Matri

2016-11-15 19:19:42 1424

转载 OpenGL的视图变换与OSG漫游器

在OpenGL固定管线内容中有一个过程是进行视图变换,主要目的是将世界坐标变换到相机坐标空间中,OpenGL的视图变换所处的位置如下图所示:在OSG中通过重写漫游器的时候需要实现的4个虚函数与这个变换是一致的(详细参考另一篇文章  《osg中漫游器的原理(一)》)相机视图变换在OpenGL中初始位置场景的世界坐标与相机坐标是在一起的,视点的方

2016-11-15 19:18:59 546

转载 OpenGL超级宝典笔记——纹理高级(一)

辅助颜色一般情况下,我们设置纹理的环境为GL_MODULATE模式,在这种情况下,受到光照的几何图形会和纹理的颜色进行结合。正常情况下,OpenGL进行光照计算,并根据标准的光照模型进行单个片段的颜色计算。然后,再把片段的颜色乘以纹理的颜色,等到结合后的颜色。但是这样的话会削弱图形的光照效果。因为经过光照计算过后的片段的颜色值最大值是1.0(即最亮的颜色),任何值乘以小于1.0的值,必定小

2016-08-02 22:42:57 1099

转载 openGL学习笔记5(光照)

以下内容从《openGL入门教程》整理而来~~~~看一张图片:图中绘制了两个大小相同的白色球体。其中右边的一个是没有使用任何光照效果的,它看起来就像是一个二维的圆盘,没有立体的感觉。左边的一个是使用了简单的光照效果的,我们通过光照的层次,很容易的认为它是一个三维的物体眼睛之所以看见各种物体,是因为光线直接或间接的从它们那里到达了眼睛。

2016-08-01 21:37:08 483

转载 [Unity3d]Shader 着色器 学习前了解知识

引言 shader到底是干什么用的?shader的工作原理是什么? 其实当我们对这个问题还很懵懂的时候,就已经开始急不可耐的要四处搜寻有关shader的资料,恨不得立刻上手写一个出来。但看了一些资料甚至看了不少cg的语法之后,我们还是很迷茫,UNITY_MATRIX_MVP到底是个什么矩阵?它和v.vertex相乘出来的又是什么玩意?当这些问题困扰我们很久之后,我们才发现,原来我们是站在浮

2016-05-26 00:01:20 712

转载 GLSL shder的简单示例

http://blog.csdn.net/hgl868/article/details/7872273GLSL的Hello World这一节中包含一个最基本的shader,它提供如下功能:顶点变换然后使用单一的颜色渲染图元。顶点shader前面已经说过,顶点shader负责完成顶点变换。这里将按照固定功能的方程完成顶点变换。固定功能流水线中一个顶点通过模

2016-05-26 00:00:38 685

转载 漫谈C++:良好的编程习惯与编程要点

以良好的方式编写C++ class假设现在我们要实现一个复数类complex,在类的实现过程中探索良好的编程习惯。① Header(头文件)中的防卫式声明complex.h: ifndef __COMPLEX__# define __COMPLEX__class complex{}# endif1234567812345678防止头文件的内容被多次包含。

2016-05-23 23:46:31 302

转载 opengl及osg中的几种渲染方法

glDrawArrays 和 glDrawElements 的作用都是从一个数据数组中提取数据渲染基本图元。( render primitives from array data )注!如果要 glDrawArrays 和 glDrawElements 正确进行绘制的话,必须在之前 调用带有相应参数的 glEnableClientState 方法。 比如:

2016-05-23 23:09:12 3918

转载 OSG绘制几何体学习总结(超全)

在osg中,场景图形采用一种自顶向下的,分层的树状数据结构来组织空间数据集,以提高渲染的效率场景图形树结构的顶部是一个根节点,从根节点向下延伸,各个组节点中均包含了几何信息和用于控制其外观的渲染状态信息。根节点和各个组节点都可以有零个(实际上是没有执行任何操作)或多个子成员。在场景图形的最底部,各个叶节点包含了构成场景中物体的实际几何信息。         首先,必须明确的是,

2016-05-23 23:01:00 9332

转载 OpenSceneGraph基础:光照

接着前篇进行(http://blog.csdn.net/boksic/article/details/44002155),现在考虑光照效果主程序转载请注明http://blog.csdn.net/boksic 如有疑问欢迎留言和之前基本唯一的变化就是把窗口部分的操作放在初始化函数initCanvas里进行。[cpp] view p

2016-05-22 16:19:35 657

转载 glBlendFunc颜色混合

混合是什么呢?混合就是把两种颜色混在一起。具体一点,就是把某一像素位置原来的颜色和将要画上去的颜色,通过某种方式混在一起,从而实现特殊的效果。假设我们需要绘制这样一个场景:透过红色的玻璃去看绿色的物体,那么可以先绘制绿色的物体,再绘制红色玻璃。在绘制红色玻璃的时候,利用“混合”功能,把将要绘制上去的红色和原来的绿色进行混合,于是得到一种新的颜色,看上去就好像玻璃是半透明的。要使用OpenG

2016-05-22 16:07:32 449

转载 Linux 学习路线指南

很多同学接触Linux不多,对Linux平台的开发更是一无所知。而现在的趋势越来越表明,作为一 个优秀的软件开发人员,或计算机IT行业从业人员,掌握Linux是一种很重要的谋生资源与手段。下来我将会结合自己的几年的个人开发经验,及对 Linux,更是类UNIX系统,及开源软件文化,谈谈Linux的学习方法与学习中应该注意的一些事。 就如同刚才说的,很多同学以前可能连Linux是什么都不知道

2016-04-28 21:03:05 330

转载 shp2pgsql shapefile导入postgis

使用shp2pgsql命令,把shp文件转成sql,然后再导入到pgsql中,方法如下:进入pgsql安装目录下bin目录中,运行命令shp2pgsql -s 4326 -W "UTF-8" /home/winfar/StatesProvinces.shp StatesProvinces > /usr/pgsql - 9.1/share/StatesProvinces.sql -d g

2016-04-26 10:39:52 1792

转载 linux下添加自定义脚本到开机自启动的方法

写一个脚本auto_coreseek.sh:复制代码代码如下:#!/bin/sh#chkconfig:2345 80 90#description:auto_coreseek/usr/local/coreseek/bin/searchd放到/etc/init.d/auto_coreseek.sh然后chmod +x /etc/init

2016-04-25 11:55:13 465

转载 Linux怎么添加用户成为sudoers

有时候我们执行sudo的时候,出现xxx is not int the sudoers file告诉我们当前用户不是sudoer,所以我们要把当前用户添加进去,步骤如下:1 修改/etc/sudoers文件,进入超级用户,因为没有写权限,所以要先把写权限加上chmod u+w /etc/sudoers。2 编辑/etc/sudoers文件,找到这一 行:"root ALL=

2016-04-20 16:28:07 870

转载 ubuntu源码安装postgresql(问题解决)转载

整个安装过程google无数遍,最后终于搭建完了。 具体步骤,以及遇到error解决方案。 1、wgethttp://ftp.postgresql.org/pub/source/v9.1.4/postgresql-9.1.4.tar.gzmkdir/usr/local/pgsql tar -zxvfpostgresql-9.1.4.tar.gz ./conf

2016-04-20 16:27:28 3304

转载 如何重置postgresql用户密码

场景:          打算新建一个postgresql的数据库 FooDB 并把所有者权限赋给用户 foo          正常操作应该是:先创建用户foo,再用foo身份创建数据库 FooDB            操作          1、先创建用户 foo,在postgresql的bin目录下执行命令                createuser.exe

2016-04-20 16:26:38 6307

转载 安装PostGIS(Linux篇)

0.安装PostgreSQL数据库   参考安装PostgreSQL数据库(Linux篇)。1.安装proj4#tar zxvf proj-4.8.0.tar.gz#cd proj-4.8.0#./configure --prefix=/opt/proj-4.8.0#make#make install#ls /opt/proj-4.8.0编辑文件/e

2016-04-20 16:26:06 5739

转载 安装PostgreSQL数据库(Linux篇)

0.编译环境Linux: CentOS 5.5gcc: 4.1.21. 安装PostgreSQL1) 解压postgresql-9.1.7.tar.bz2#tar jxvf postgresql-9.1.7.tar.bz2 2) 进入解压后的postgresql-9.1.7目录#cd postgresql-9.1.73) 编译postgresql源码#.

2016-04-20 16:25:31 867

转载 使用mapserver+qgis+openlayers搭建webGIS

http://blog.csdn.net/xuhaiyan8825/article/details/6926829自己今天一步一步做的,总结如下。0.      检查检查当前MS4W是否支持OGC WMS服务使用DOS命令行进入MS4W的安装路径(如D:\ms4w\Apache\cgi-bin), 执行mapserv -vC:\ms4w\Apache\c

2016-04-08 18:09:24 1249

转载 使用mapserver+qgis+openlayers搭建webGIS

自己今天一步一步做的,总结如下。0.      检查检查当前MS4W是否支持OGC WMS服务使用DOS命令行进入MS4W的安装路径(如D:\ms4w\Apache\cgi-bin), 执行mapserv -vC:\ms4w\Apache\cgi-bin>mapserv-vMapServerversion 5.2.1 OUTPUT=GIF OUTPUT=PN

2016-04-08 15:53:24 3767

转载 MapServer的安装和使用

MapServer简介     在开源WebGIS领域,MapServer的历史和名气都超过GeoServer(20世纪90年代中期,由明尼苏达大学研制),很早就被列入OSGeo项目组。 与GeoServer不同,MapServer用C语言编写,采用传统的CGI架构,融合了Pro4j、GDAL等开源项目。对比J2EE架构的 GeoServer,MapServer显得非常精巧,5.6版本的核

2016-04-08 15:16:54 1840

转载 Qt下 QString转char*

Qt下面,字符串都用QString,确实给开发者提供了方便,想想VC里面定义的各种变量类型,而且函数参数类型五花八门,经常需要今年新那个类型转换Qt再使用第三方开源库时,由于库的类型基本上都是标准的类型,字符串遇的多的就是Char*类型在Qt下怎样将QString转char*呢,需要用到QByteArray类,QByteArray类的说明详见Qt帮助文档。因为char*最后

2016-04-08 10:21:41 267

转载 COM编程入门

第一部分 什么是COM,如何使用COM文/赵湘宁下载例子代码    本文的目的是为刚刚接触COM的程序员提供编程指南,并帮助他们理解COM的基本概念。内容包括COM规范简介,重要的COM术语以及如何重用现有的COM组件。本文不包括如何编写自己的COM对象和接口。        COM即组件对象模型,是Component Object Model

2016-04-01 17:35:17 621

转载 C++ COM

前言:为了介绍C#写界面,C++写算法的快捷交互开发方式,首先介绍c++,C#内部的DLL,COM调用。一,COMCOM (Component Object Model),微软为提高代码的可从用性而开发的组件对象模型的软件架构,在windows系统的开发中大量的使用了这种技术,使用这种技术我们尽可能的把我们的软件划分位许多组件,通过组件的组合调用最总实现软件的目的,COM的使用不仅大大

2016-04-01 16:28:05 934

转载 const char*转char*,去掉const 属性

const char* = char*  char*转const char* 可以转。发过来不行去掉const属性方法如下:string str = "aaa";char* p =const_cast(str.c_str());printf("%s",p);const_cast用来丢弃变量的const声明,但不能改变变量所指向的对象的const属性。即:const_cast用于原本非c

2016-03-30 15:39:08 1641

转载 共有24款C/C++ 地理信息系统GIS开源软件

http://www.oschina.net/project/tag/78/gis?lang=21&os=0&sort=view

2016-03-30 15:31:07 3552

转载 GDAL输出影像

[cpp] view plain copy//输出影像  /** * @brief    ReadImageToBuff. * 把数据从内存中输出到文件中,默认保存为tif格式。 * @created: 2012/03/25 * @author:  Zhengwen.Fu * @param    szPath      输出路径 * @p

2016-03-15 16:04:43 2230

转载 不可不表的OSG智能指针之强指针与弱指针 《转载》

使用OSG的人都知道OSG的内存管理方式采用了智能指针,通过智能指针的方式让OSG自己处理对象的销毁工作。在OSG中有两个智能指针类型,一个就 是我们再熟悉不过的ref_ptr,另外一个可能很多人不一定经常用,但确实非常好的observer_ptr。这两种类型都是作为智能指针而出现的,那 他们到底有什么区别?为什么会出现两个类似的东西?下面我们慢慢揭开它们的面纱。    其实它们是两种智能

2016-03-15 09:15:18 322

转载 十大OpenGL教程

1.http://nehe.gamedev.net/    这个是我觉得全世界最知名的OpenGL教程,而且有网友将其中48个教程翻译成了中文http://www.owlei.com/DancingWind/Nehe 此教程最大的特点是提供了针对不同平台、不同编译器、不同语言的各种版本。你不用考虑自己用的是Linux/Windows、VC/BC、C++/Java/C#/VB,甚至D语言

2016-02-27 16:58:13 562

转载 OpenGL之坐标转换(好文-清晰版)

下面这篇文章详细讲述了OpenGL里的坐标转换,清晰,明了。但是其所谓的渲染管线只包括modelview 转换 和 投影变换,我觉得不是这样的。这只是从坐标角度吧。比如什么顶点着色、光栅化、送至帧缓存都没有涉及到。原文地址:http://blog.csdn.net/zhulinpptor/article/details/5897102http://blog.csdn.net

2016-02-27 15:21:46 364

转载 已知三点求平面方程、平面法向量和点到平面的距离(转载)

已知三点p1(x1,y1,z1),p2(x2,y2,z2),p3(x3,y3,z3),要求确定的平面方程关键在于求出平面的一个法向量,为此做向量p1p2(x2-x1,y2-y1,z2-z1), p1p3(x3-x1,y3-y1,z3-z1),平面法线和这两个向量垂直,因此法向量n:平面方程:a(x-x1)+b(y-y1)+ c(z-z1)=0;d=-a*

2016-02-27 14:42:18 12563

转载 ((a+b) + abs(a-b))/2 的用法

((a+b) + abs(a-b))/2 用于找出两个数中的较大者如果a>b 则 ((a+b) + abs(a-b))/2 = (a + b + a - b) / 2 = a如果a

2016-02-27 11:24:20 1951

转载 C语言函数sscanf()的用法

 C语言函数sscanf()的用法sscanf() - 从一个字符串中读进与指定格式相符的数据.  函数原型:  int sscanf( string str, string fmt, mixed var1, mixed var2 ... );  int scanf( const char *format [,argument]... );  说明:  ssca

2016-02-27 10:59:48 191

转载 fscanf()函数详解

以前解析有规律的文件的时候要么用正则表达式,要么就是傻傻的自己写程序来解析有规律的文件。今天突然发现c的库函数中有一个现成的可以解析有规律的文件的函数,就是fscanf()函数。哎 以前自己做了这么多无用功,在这里详细解析一下fscanf函数:fscanf()函数(有点像正则表达式):功 能: 从一个流中执行格式化输入,fscanf遇到空格和换行时结束,注意空格时也结束。用

2016-02-27 10:57:05 400

转载 OpenGL函数思考-gluLookAt

OpenGL函数思考-gluLookAt函数原型:      void gluLookAt(GLdouble eyex,GLdouble eyey,GLdouble eyez,GLdouble centerx,GLdouble centery,GLdouble centerz,GLdouble upx,GLdouble upy,GLdouble upz)参数说明:     

2016-02-26 17:07:23 516

空空如也

空空如也

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

TA关注的人

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