自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

技术成就梦想,知识改变命运 !

  • 博客(210)
  • 资源 (22)
  • 论坛 (1)
  • 收藏
  • 关注

原创 小型三维引擎设计实现-渲染层的设计总结

1 设计目标: 1.1: 易于开发,对渲染API做抽象,向上层提供更容易使用的接口, 另外还可以扩充渲染API功能,比如增加自定义GLSL常量, GLSL结构体,GLSL公用函数,自定义GLSL uniforms, 并在每帧渲染时自动拼凑成完整的GLSL代码,并自动为GLSL uniforms赋值, 对上层开发提供了便利性。 1.2: 可移植性,一方面呢可以支持Linux上的Op...

2019-03-16 12:40:19 605 1

原创 小型三维引擎设计实现-高程影像渲染总结

1:思路 第0级瓦片渲染思路走通->多级瓦片渲染2:主要技术点的实现:2.1:Screen-Space Error 的概念 Screen-Space Error(屏幕空间误差),它就是类似于比例尺的概念, 就形象的叫比例尺好了, 由于地图分为好多层,当我们在渲染地图的时候,怎么确定当期细节程度不够了,还要继续请求细节程度更高的一层呢?就是由这个值...

2019-03-14 17:01:19 645

原创 VS经常使用的快捷键总结

关于编辑1: Ctrl + J 智能感知2: Ctrl + Shift + 空格 显示参数信息3: Ctrl + K, Ctrl + S 或者 Ctrl + K, Ctrl + X 快速输入代码4: Shift+Alt+Enter: 切换全屏编辑5:Ctrl+Shift+U: 全部变为大写6:Ctrl+U: 全部变为小写7:F12 查看定义8:Ctrl + F12 查看声明 9: Alt + F...

2018-02-13 11:47:40 339

原创 WIN8 + AMD 下OpenCL 开发环境布置

1:下载AMD APP SDK 3.0, https://developer.amd.com/amd-accelerated-parallel-processing-app-sdk/2:安装(过程可能比较慢),完成后重启。3:运行->cmd, 在命令行窗口查看OpenCL环境变量是否存在,echo %AMDAPPSDKROOT%, echo %PATH%, 存在说明安装

2018-02-06 16:26:46 1534 1

原创 Linux 环境中编程开发命令大总结

零: 帮助    man command一: 查找相关    1: find [目录] [搜索条件]        (1) find ./  列出当前目录及子目录下所有文件和文件夹       (2) find /home -name "*.txt" 查找/home目录下以.txt结尾的文件名       (3) find /home -iname "*.txt" 同上, 忽略大小写    2: ...

2018-02-01 16:26:00 266

原创 编译OpenVX的Android版本, 记录以下, 免得下次做重复工作

0: 下载最新NDK版本android-ndk-r16b-linux-x86_64, 解压,设置NDK环境变量 ANDROID_NDK1: 生成独立交叉编译工具链,切换到NDK目录下,运行    ./build/tools/make_standalone_toolchain.py --arch=arm64 --api=26 --install-dir=../android_ndk_tool

2018-01-30 10:40:32 870

原创 小型三维引擎设计实现-球的渲染方法

球的渲染方法:渲染地球其中的重中之重是椭球体的曲面细分算法和着色算法。流行的有三种细分算法,用于产生近似地球表面的三角形:1 基于单位球的简单的表面细分算法,这种方法经常会在计算机图形学课程看到。2 基于立方体的椭球的曲面细分算法。3 基于大地测量网格(经纬度)的曲面细分算法(Geographic-Grid Tessellation)。我们的着色算法起始于简单的片段着色和用低分辨率的卫星...

2017-08-10 23:38:09 1823

原创 Ubuntu 14.04 编译 Unreal Engine 4 (UE4) 哈哈

1:sudo apt-get install build-essential mono-gmcs mono-xbuild mono-dmcs libmono-corlib4.0-cil libmono-system-data-datasetextensions4.0-cil libmono-system-web-extensions4.0-cil libmono-system-managem...

2017-08-04 05:44:40 3563

翻译 小型三维引擎设计实现-怎样通过减少对驱动程序的调用来提高性能

本文先翻译> 的 25章Improving Performance by Reducing Calls to the Driver, 然后介绍一下"小擎" 在OpenGL状态的管理, 批次渲染的设计和实现。 水平实在有限, 有些地方翻译的不像人话。25通过减少对驱动程序的调用来提高性能25.1 介绍渲染场景可能涉及到几个渲染过程,如阴影贴图构造,光贡献累积和帧缓冲后处理

2017-07-29 01:22:56 591

原创 小型三维引擎设计实现-app层如何跨平台2

之前提到在Android平台下,  有以下两个问题需要解决: 一: 在Android上如何读写文件? 三维程序需要载入模型, 纹理, 着色器脚本等数据, 如何读写这些文件?二: 如何把第三方库移植到Android平台上,  可以使用CMake?  还是为其编写Android.mk

2017-07-18 09:07:00 684

原创 小型三维引擎设计实现-app层如何跨平台1

”小擎“可以作为一个第三方库或者独立可执行程序来运行, 目前可以在windows, linux, android 上运行。 app层可以说是应用程序抽象层, 来屏蔽不同平台的接口细节。一: 首先考虑一个问题:  一个应用程序如何做到跨平台? 1: C/C++ 标准库是跨平台的, 所以稍加注意的话用C/C++写的应用程序是跨平台的。 2: OpenGL 是跨平台的

2017-07-11 16:20:50 1061

原创 Android上的OpenCV程序--开发环境介绍

一: 开发Android上的OpenCV程序概述       为Android开发OpenCV程序, 有两种方式, 第一种用java形式的OpenCV库,  第二种用C++形式的OpenCV库,  这两种库都在OpenCV官方提供的SDK中。 我们可以从官网下载 http://opencv.org/releases.html。       第一种形式呢, 需要在开发环境中导入 OpenCV

2017-07-06 19:30:23 512

原创 Android上的OpenGLES程序--开发环境介绍

我觉得这篇文章思路是对的, 随着项目的积累, 我发现这里面有些细节描述是不对的, 希望不要误导大家! 几年前搞过一个Android项目, 对Android开发有个简单了解, OpenGLES 是嵌入式三维图形规范, 如果不在Android上做点东西,感觉有点遗憾。 从现在开始, 尝试写一套OpenGLES 的 Android 开发教程.一: Android 开发环境和流程介

2017-07-05 09:13:07 2004

原创 Summary of OpenGL ES 3.0 Programming Guide

零:OpenGLES简介:    OpenGLES 是用于嵌入式系统的一个3D图形编程接口规范,支持IOS,Android,Linux,Windows,WebGL。一:渲染管线:      1: VertexBufferArrayObject     2:VertexShader (坐标变换和光照)      3:Primitive Assembly(Clipping, Per

2017-05-25 12:34:01 466

原创 OpenGL ES 3.0 Programming Guide Sample Code

https://github.com/danginsburg/opengles3-book/

2017-05-24 08:22:37 857

原创 opengl opengles 版本对应的时间

1992: OpenGL1.0~OpenGL 1.5是经典的固定管线时代;              (1): 顶点数组              (2): 显示列表              (3): 纹理对象              (4): 帧缓冲区              (5): 缓冲对象           2004: OpenGL 2.0~OpenGL2.

2017-05-23 17:53:29 3518

原创 推荐Git教程

http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

2017-05-17 16:51:51 355

原创 How install Skype on ubuntu 14.04 ?

1: wget -O skype.deb http://download.skype.com/linux/skype-ubuntu-precise_4.2.0.13-1_i386.deb2: sudo dpkg -i skype.deb3: sudo apt-get -f install;rm skype.deb

2017-04-27 11:49:35 450

原创 搭建gtest测试环境 脚本

cmake_minimum_required(VERSION 2.6)project(gtest_framework)add_subdirectory(gtest-1.7.0)set(GTEST_LIB_PATH ${PROJECT_BINARY_DIR}/gtest-1.7.0)include_directories(${gtest_SOURCE_DIR}/inclu

2017-03-22 18:58:55 762

原创 OpenCV 及 OpenCV Samples 在 Window, Linux上的编译及使用

Window上:       怎么编译,只注意一个问题,就是需要下载个第三方包:  ippicv_windows_20141027,http://blog.csdn.net/sunshine_in_moon/article/details/46651039     其他不多说了, 推荐下这篇博客,说的很详细  http://blog.csdn.net/bestgonghuibin/arti

2017-02-28 23:41:35 2232

原创 c 和 C++ 秒 毫秒 微妙 纳秒 精度支持

标准库 提供了秒级别的精度如果想精确到毫秒,微妙的精度,需要系统API的帮助windows:  QueryPerformanceCounter( &counter )linux :     struct timespec tp; struct timeval tv;

2017-02-16 17:40:59 1395

原创 理解OpenGLSuperbible7-窗口和GLContext

#pragma once#include #include #include #include #include #include #include #include #include class GLApplication{public:    GLApplication();    virtual ~GLApplication

2016-12-06 17:28:14 1157

原创 OpenGL 驱动 与 扩展的关系

为什么驱动是OpenGL 4.3 的实现, 而却找不到glTextureStorage2D的定义呢。 那是因为GLEW版本较旧, 升级下GLEW就可以了。驱动是OpenGL的实现。 而扩展是调用驱动的接口, 两回事, 一个是面向底层硬件, 一个是面向开发者。GLEW封装了OpenGL的扩展, 从1.1 到  4.5 。

2016-11-28 10:09:22 803

原创 glfw 如何 在创建 context 指定 opengl 版本

1:     if (ctxconfig->major != 1 || ctxconfig->minor != 0)        {            setGLXattrib(GLX_CONTEXT_MAJOR_VERSION_ARB, ctxconfig->major);            setGLXattrib(GLX_CONTEXT_MINOR_VERSIO

2016-11-20 11:34:20 1267

原创 C++ 如何在宏定义中输出函数名

#define CHECK_GL_ERROR(glFunc) \{ \   glFunc; \   char msgBuf[4096]; \   std::string token = #glFunc; \   std::cout }int test_func(int a, int b, int c){     c = a+ b;}CHECK

2016-11-17 09:24:13 1944

原创 can't install opengles on ubuntu 12.04

sudo apt-get cleansudo apt-get autocleansudo apt-get -f installsudo dpkg --configure -asudo apt-get -f installsudo apt-get -u dist-upgradesudo apt-get -o Debug::pkgProblemResolver=yes dist

2016-11-09 21:05:30 759

原创 H264 VDPAU 硬解及环境布置

====================================================================================================================================1:安装英伟达显卡驱动  http://www.nvidia.com/object/unix.html   1. Add PPA

2016-11-09 09:11:42 3591 1

原创 install jdk on ubuntu 12.04

sudo apt-get updatesudo apt-get install openjdk-7-jdk编辑/etc/profile,添加环境变量:   export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_H

2016-11-03 19:15:34 339

转载 OpenCV Tutorial: Harris 角點

Harris 角點在影像中檢測特徵點時,角點可以做為一個重要的參考,因為角點是兩條邊緣的交點處,可以被精確定位,這和位於相同強度的區域不同,與物體輪廓的點也不同,輪廓點難以在其他影像的相同物體進行精確定位。Harris特徵檢測器是一個經典的角點檢測方法,OpenCV使用cornerHarris()實現Harris角點偵測演算法,輸出結果為浮點數類型的影像,每個像素值為相對位置的角點強度

2016-10-31 13:41:32 418

转载 OpenCV Tutorial: 輪廓和點距離(pointPolygonTest、distanceTransform)

輪廓和點距離(pointPolygonTest、distanceTransform)當我們有一個物體的輪廓後,我們可以從OpenCV的pointPolygonTest()函式,得到輸入點和這個輪廓的關係,比如這個點在輪廓的內側、線上或外側,以及和這輪廓的距離。OpenCV輪廓距離double pointPolygonTest(InputArray contour, Point2

2016-10-31 11:45:12 1415

转载 OpenCV Tutorial: 特徵(moment、contourArea、arcLength)

特徵(moment、contourArea、arcLength)找出物體輪廓後,我們可以根據這個輪廓,找出這個物體的一些特徵,這邊用OpenCV的moment()、contourArea()、arcLength()函式,來找輪廓的質心、周長、面積,而這些特徵可以作為物件辨識的資訊。OpenCV計算矩Moments moments(InputArray array, bool b

2016-10-31 11:41:04 1673

转载 OpenCV Tutorial: 輪廓(findContours、drawContours)

當我們做物件辨識時,透過輪廓可得到特定物件的資訊,協助我們做判斷,OpenCV的findContours()函式可找到影像的輪廓,依實際需求調整參數輸入,而這邊的輪廓和Sobel這些找邊緣的處理不同,Sobel是將物件內部消除,只保留物件邊緣,findContours是在經過Sobel處理之後,將這個只有邊緣的影像,把各個邊緣點做分類,連結的邊緣點儲存在同個容器內,當我們找到輪廓後,可用drawC

2016-10-31 11:39:39 1043

转载 OpenCV Tutorial: 凸殼(convexHull)

凸殼(convexHull)凸殼(Convex Hull)是一個計算幾何中的概念,簡單的說,在給定二維平面上的點集合,凸殼就是將最外層的點連接起來的凸多邊型,它能包含點集合中的所有點,在影像處理中,通常是找到某個物件後,用來填補空隙,或者是進一步的進行物件辨識。OpenCV凸殼void convexHull(InputArray points, OutputArray hull,

2016-10-31 11:38:14 567

转载 OpenCV Tutorial: 侵蝕、膨脹(erode、dilate)

侵蝕、膨脹(erode、dilate)形態學主要用於二值化後的影像,根據使用者的目的,用來凸顯影像的形狀特徵,像邊界和連通區域等,同時像細化、像素化、修剪毛刺等技術也常用於圖像的預處理和後處理,形態學操作的結果除了影像本身,也和結構元素的形狀有關,結構元素和空間域操作的濾波概念類似,如以下即為一個3×3的結構元素,我們可以自行決定大小和形狀,在實際的使用上,是以奇數的矩形如3×3、5×5、7×

2016-10-31 11:30:09 25090 2

转载 OpenCV Tutorial: 開運算、閉運算(morphologyEx、MORPH_OPEN、MORPH_CLOSE)

開運算、閉運算(morphologyEx、MORPH_OPEN、MORPH_CLOSE)這邊介紹開運算和閉運算,這兩種都是侵蝕和膨脹複合而成,開運算是先侵蝕後膨脹,閉運算是先膨脹後侵蝕。對於集合I和H,假設使用H對I進行開運算,代表H對I進行侵蝕後膨脹,記作:開運算可以使物體輪廓變得光滑,還能使狹窄的連結斷開,以及消除外觀上的毛刺,但在物體大於結構元素的情況下,開運算與侵蝕並不相同

2016-10-31 11:28:56 5477

转载 OpenCV Tutorial: 影像分割(grabCut)

影像分割(grabCut)OpenCV提供另一個grabCut影像分割演算法,計算方式較watershed更複雜,但結果比較精確,如果想要從靜態影像提取前景物體,像是將一幅影像中的物體剪貼到另一幅圖中,這是最佳算法。提取前景void grabCut(InputArray img, InputOutputArray mask, Rect rect, InputOutputArray

2016-10-31 11:26:10 1101

转载 OpenCV Tutorial: 分水嶺算法(watershed)

分水嶺算法(watershed)分水嶺算法就是根據分水嶺的構成來考慮圖像的分割,我們可以想像一個有山有湖的景象,山水環繞,而區分高山與水的界線,以及不同湖之間的間隔,就是我們的分水嶺。分水嶺算法基本上是把影像看作是地貌,每一點像素的灰階值表示該點的海拔高度,每一個局部極小值及其影響區域稱為集水盆,我們從第0層填充影像,隨著水逐漸漲高,集水盆形成,這些盆地的尺寸緩緩增加,最終兩個不同的盆

2016-10-31 11:25:27 512

转载 OpenCV Tutorial: 區域生長(floodFill)

區域生長(floodFill)區域生長是將像素,或是子區域合併成更大區域的過程,基本上是從一組生長點開始,生長點可以是單個像素,也可以是某個小區域,把和生長點性質相似的相鄰像素或是區域合併,成為一個新的生長點,重複此過程直到不能生長為止,生長點和相鄰區域的相似性判斷,可以依據強度、顏色、紋理等多種影像訊息,OpenCV提供floodFill()函式進行區域生長,用顏色來進行相似性判斷,可選

2016-10-31 11:24:37 678

转载 OpenCV Tutorial: 霍夫找圓(HoughCircles)

霍夫找圓(HoughCircles)我們用和霍夫直線偵測同樣的概念,進行霍夫圓形偵測,圓方程式為(x-a)2 + (y-b)2 = r2,其中(a,b)為圓心座標,r為圓的半徑,用這個三維數據組,讓(a,b)在影像座標內不斷改變位置,找出所有可能的半徑r,最後當這三維數據組的點數,超過我們定的閾值時就判斷為圓。因為傳統的霍夫圓偵測是三維空間上的計數,基於效率上的考量,而且維度變多,

2016-10-31 11:17:50 3927

转载 OpenCV Tutorial: 霍夫找線(HoughLines、HoughLinesP)

霍夫找線(HoughLines、HoughLinesP)計算機視覺中經常需要識別或者定位某些幾何圖形,像直線、圓、橢圓等,檢測直線的霍夫變換提供在圖像中尋找直線的一種算法,後來這概念發展到能檢測圓、橢圓等,不僅能夠識別出圖像中想要的圖形,而且能夠得到位置、角度等資訊,這邊解釋霍夫直線偵測的原理。核心思想是把圖像中某個點集映射到另一空間的一個點集上,這個點記錄了點集合的數目,通過搜索峰值

2016-10-31 11:01:30 4191

计算机图形学几何工具算法详解 pdf

经典计算几何算法实现,比较好的一本书,适合做图形,几何算法库的人参考。

2014-07-10

计算机图形学经典书籍资料-渲染部分

计算机图形学渲染书籍: 1):Andrew Glassner 的An Introduction to Ray tracing (光线追踪) 2):Francois X. Sillion的Radiosity and Global Illumination(辐射度) 3):Ian Ashdown的Radiosity: A Programmer's Perspective 4)Evan Pipho Focus On 3D Models(对于图形学的常用模型格式) 5)James D. Foley等人的 Computer Graphics: Principles

2014-11-06

一个简单的OpenGL多线程渲染模型

用多线程实现OpenGL渲染, 子线程负责渲染, 主线程负责干其他事情.

2015-01-22

OSG 三维引擎架构

对OSG引擎整体总结, 对架构会有整体的认识.

2014-11-14

linux 下 OpenGL 读取 JPG, PNG, TAG 纹理数据

OpenGL 读取JPG, PNG, TAG 纹理图片的代码, 经测试验证通过.

2014-12-30

OpenGL 超级宝典第六版(英文)

OpenGL 超级宝典第六版, 英文版, 非常新的书籍, 不错的参考书籍,

2014-12-01

计算机图形学经典书籍资料-建模部分

计算机图形学经典建模书籍: 1):Gerald Farin 的Curves and Surfaces for CAGD: A Practical 2):Les A. Piegl, Wayne Tiller 的The Nurbs Book 3):曲线与曲面的数学 4):Introduction to Implicit Surfaces 5):Joe Warren的Subdivision Methods for Geometric Design: A Constructive Approach 6):David Luebke编著的 Level of Detail for 3D Graphics

2014-11-06

三维地形算法(英文版)Focus On 3D Terrain Programming

三维地形算法,地层地形生成算法,比较好的书。

2014-09-17

三维地形生成算法源码

Focus On 3D Terrain Programming.pdf 配套源码,非常有参考意义。

2014-09-17

地理信息系统算法基础

GIS 相关算法,系统介绍了GIS相关算法,很有指导意义

2014-09-11

3D数学基础图形与游戏开发

书中详细介绍了三维数学基础:向量,矩阵,四元数,几何图元,几何算法的C++ 实现,内容通俗易懂,实战性强,难得的好书!

2014-08-25

3D Engine Design for Virtual Globes 卷一

讲述三维引擎设计实现,底层算法,虚拟地球实践。对想了解三维引擎设计及GIS平台开发的很有帮助。

2014-08-08

程序员的自我修养—链接、装载与库(扫描)

程序员的自我修养—链接、装载与库,难得资料。

2014-08-08

3D Engine design for Virtual Globles 卷三

讲述三维引擎设计实现,底层算法,虚拟地球实践。对想了解三维引擎设计及GIS平台开发的很有帮助。

2014-08-08

3D Engine Design for Virtual Globes 卷二

讲述三维引擎设计实现,底层算法,虚拟地球实践。对想了解三维引擎设计及GIS平台开发的很有帮助。

2014-08-08

帮助理解 Ogre 源码体系结构的几张图片

Ogre 类关系图,一帧渲染流程图,结构图,对理解Ogre源码有帮助。

2014-07-10

ubuntu 12.04 Ogre 开发环境配置

linux 下 Ogre环境配置, Ogre是流行的的三维引擎, 使用方便。

2014-04-04

C++_STL使用例子大全

C++_STL使用例子大全.pdf, STL练习资料。

2013-09-23

OpenGL编程精粹

OpenGL 编程精粹 入门级书籍 适合初学者

2013-04-19

rubber.cpp

实现类似Photoshop的画刷和橡皮擦功能, 基于OpenCV和C++实现, 简单实用。

2020-03-06

OpenGL一个小框架

OpenGL Demo 框架, 我把它摘出来了,VS13, VS10 都能顺利编译运行。 需要的可以看看。 简单清晰的框架。

2016-01-25

人件-人月神话-最后期限-与熊共舞-个体软件过程-软件制胜之道

软件工程书籍合集: 人件 人月神话 最后期限 与熊共舞 个体软件过程 软件制胜之道

2015-02-12

黑不溜秋的的留言板

发表于 2020-01-02 最后回复 2020-01-02

空空如也

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

TA关注的人 TA的粉丝

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