Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

OpenGL FBO 对象

OpenGL FBO 对象

概要在OpenGL的渲染管线中,几何数据和纹理通过一系列变换和测试,最终被渲染成屏幕上的二维像素。那些用于存储颜色值和测试结果的二维数组的几何被称为帧缓冲区(frame buffer)。这些二维数组按用途划分,可分为颜色缓冲区(color buffer),深度缓冲区(depth buffer),模版缓冲区(stencil buffer)和累加缓冲区(accumulation buffer)。当我们创建了一个可供OpenGL绘制用的窗体后,窗体系统会为我们生...
OpenGL 深度缓冲区 Z缓冲区 介绍

OpenGL 深度缓冲区 Z缓冲区 介绍

第一篇【颜色缓冲区】 颜色缓冲区(COLOR_BUFFER)就是帧缓冲区(FRAME_BUFFER),你需要渲染的场景最终每一个像素都要写入该缓冲区,然后由它在渲染到屏幕上显示.【深度缓冲区】 深度缓冲区(DEPTH_BUFFER)与帧缓冲区对应,用于记录上面每个像素的深度值,通过深度缓冲区,我们可以进行深度测试,从而确定像素的遮挡关系,保证渲染正确.【模板缓冲区】 模版缓冲(STENCIL_BUFFER)与深度缓冲大小相同,通过设置模版缓冲每个像素...
C++ 基于Policy 的 模板编程

C++ 基于Policy 的 模板编程

在没真正接触C++ 模板编程之前,真的没有想到C++ 还可以这么用,最大的感触是:太灵活了,太强大了。最初接触模板威力还是在Delta3d中,感觉里面的模板使用实在是灵活与方便,特别是dtAI中使用了大量的模板,大大增强了库的可扩展性。本文基于《C++ 设计新思维》 而写。 下载见 http://www.linuxidc.com/Linux/2014-07/104850.htmC++ Primer Plus 第6版 中文版 清晰有书签PDF+源代码 htt...
【OpenGL4.0】GLSL渲染语言入门与VBO、VAO使用:绘制一个三角形

【OpenGL4.0】GLSL渲染语言入门与VBO、VAO使用:绘制一个三角形

以前都是用Cg的,现在改用GLSL,又要重新学,不过两种语言很多都是相通的。下面的例子是实现绘制一个三角形的简单程序。采用了VBO(veretx buffer object)、VAO(vertex array object)等OpenGL的一些新特性。越往后发展,可编程管线肯定是大势所趋,OpenGL里原来的一些固定管线的内容肯定会被废弃掉。所以从现在开始写程序就要养成使用新特性、采用可编程管线技术的好习惯。一、VAO、VBO介绍随着OpenGL状态和固定...
二叉树的遍历-递归与非递归

二叉树的遍历-递归与非递归

二叉树的遍历-递归与非递归二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有前序、中序以及后序三种遍历方法。因为树的定义本身就是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁。而对于树的遍历若采用非递归的方法,就要采用栈去模拟实现。在三种遍历中,前序和中序遍历的非递归算法都很容易实现,非递归后序遍历实现起来相对来说要难一点。二叉树的常见问题及其解决程序 http://www.linuxi...
二叉树类型笔试面试题大总结(含代码)

二叉树类型笔试面试题大总结(含代码)

一、二叉树的遍历-前序、中序、后序以及层次遍历(递归与非递归)参考另外一篇笔记《二叉树的遍历-递归与非递归》 http://www.linuxidc.com/Linux/2014-07/104853.htm。二、重建二叉树,依据前序遍历结果和中序遍历结果《剑指Offer》面试题6.思想:递归代码:// 《剑指Offer——名企面试官精讲典型编程题》代码// 著作权所有者:何海涛struct BinaryTreeNode{int m_...
起泡排序和简单选择排序小结

起泡排序和简单选择排序小结

起泡排序和简单选择排序都是一种很简单的排序方法,它们的时间复杂度都为O(N2). 其中起泡排序是一种稳定的排序方法,而简单选择排序是一种不稳定的排序方法.这里直接贴代码// 起泡排序和简单选择排序.cpp : 定义控制台应用程序的入口点。#include "stdafx.h"#include <iostream>using namespace std;//交换a与bvoid swap(int &a,int &b){ int te...
轻松搞定面试中的二叉树题目

轻松搞定面试中的二叉树题目

树是一种比较重要的数据结构,尤其是二叉树。二叉树是一种特殊的树,在二叉树中每个节点最多有两个子节点,一般称为左子节点和右子节点(或左孩子和右孩子),并且二叉树的子树有左右之分,其次序不能任意颠倒。二叉树是递归定义的,因此,与二叉树有关的题目基本都可以用递归思想解决,当然有些题目非递归解法也应该掌握,如非递归遍历节点等等。本文努力对二叉树相关题目做一个较全的整理总结,希望对找工作的同学有所帮助。二叉树的常见问题及其解决程序 http://www.linuxi...
AngularJS 的自定义指令

AngularJS 的自定义指令

这是一篇angularjs自定义指令的教程。就让我们来看看,如何在angularjs中自定义指令吧!我们将利用现有的guitar angularjs app,这在 教程14: AngularJ表单验证 中用到过。你可以在本文最后的连接下载 之前的app.好吧,现在我们看看angularjs的指令。我们知道:Angularjs Directives是DOM元素(例如属性,元素名,注释或CSS类)上的标记,它告诉AngularJS的 html 编译器($com...
使用Python进行线程编程

使用Python进行线程编程

对于Python来说,并不缺少并发选项,其标准库包括了对线程、进程和异步I/O的支持。在许多情况下,通过创建诸如异步、线程和子进程之类的高层模块,Python简化了各种并发方法的使用。除了标准库之外,还有一些第三方的解决方案。例如Twisted、Stackless和进程Module。因为GIL,CPU受限的应用程序无法从线程中受益。使用Python时,建议使用进程,或者混合创建进程和线程。首先弄清楚进程和线程的区别。线程和进程的不同之处在于,它们共享状态、...
HttpClient使用详解

HttpClient使用详解

Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性。因此熟练掌握HttpClient是很重要的必修内容,掌握HttpClient后,相信对于Http协议的了解会更加深入。使用HttpClient实现文件的上传下载 htt...
Java使用HttpURLConnection上传文件

Java使用HttpURLConnection上传文件

从普通Web页面上传文件很简单,只需要在form标签叫上enctype="multipart/form-data"即可,剩余工作便都交给浏览器去完成数据收集并发送Http请求。但是如果没有页面的话要怎么上传文件呢?由于脱离了浏览器的环境,我们就要自己去完成数据的收集并发送请求,所以就很麻烦了。Android使用HttpURLConnection下载图片 http://www.linuxidc.com/Linux/2014-05/101854.htmAdro...
Java如何获取Content-Type的文件类型Mime Type

Java如何获取Content-Type的文件类型Mime Type

在Http请求中,有时需要知道Content-Type类型,尤其是上传文件时,更为重要,虽然有些办法可以解决,但都不太准确或者繁琐,索性我发现一个开源的类库能够解决相对完美的解决这个问题,它就是jMimeMagic。jMimeMagic是一个用来检测文件或者数据流的 MIME 类型的 Java 类库。 最新版本是V 0.1.2。需要jar包:commons-logging-1.0.x.jar,log4j-1.2.x.jar下载地址:------------...
利用jQuery Ajax技术实现每隔5秒向某页面传值

利用jQuery Ajax技术实现每隔5秒向某页面传值

有时候我们需要每隔一段时间向某页面传值,比如说聊天室,每隔几秒就像数据库处理页面传值并取回,然后显示在聊天窗口。又或者是每隔一段时间就查询用户最后发言时间到现在是否间隔2分钟,如果是则将用户退出。这个时候我们就要用到HTML DOM setInterval() 方法。setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。...
二叉树遍历递归与非递归实现

二叉树遍历递归与非递归实现

说明:本文仅供学习交流,转载请标明出处,欢迎转载!二叉树遍历是二叉树中非常基础的部分,也是学习二叉树必须熟练掌握的部分,下面我们先给出二叉树三种遍历方式的定义,并通过举例来说明二叉树遍历的过程。二叉树的遍历分为:前序遍历(也叫先序遍历)、中序遍历、后序遍历。所谓前、中、后都是根据当前子树根结点相对左右孩子的位置而言,也就是说:前序遍历:根结点在前,即:根 ----->左------->右;中序遍历:根结点在中间,即:左------>根--...
Linux 程序设计学习笔记----文件管理实例应用

Linux 程序设计学习笔记----文件管理实例应用

一、使用ls -l 以排序方式输出目录信息1.需求以及知识点覆盖ls -l 命令根据后面的参数将列出某文件即目录下的基本信息。如果没有具体的目录或者文件,则列出当前目录下所有的非隐藏文件的信息,包括文件类型,文件权限,硬链接个数,拥有者。拥有者所在组,文件大小,文件更新时间等。such as :若没有指定的文件,则输出所有目录下的文件信息:所以,本应用要实现的基本功能和需要的知识点有:①参数检查。包括参数个数检查,如果有多个需要列出信息的文件及目录,则遍历...
Linux 程序设计学习笔记----Linux下文件类型和属性管理

Linux 程序设计学习笔记----Linux下文件类型和属性管理

Linux文件类型和权限数据表示文件属性存储结构体Inode的成员变量i_mode存储着该文件的文件类型和权限信息。该变量为short int类型。这个16位变量的各个位功能划分为:第0-8位为权限位,为别对应拥有者(user),同组其他用户(group)和其他用户(other)的读R写W和执行X权限。第9-11位是权限修饰位,包括设置有效ID(setuid)位,设置有效用户组ID(setgid),和粘贴位(sticky)。第12-15位是文件类型位。如下...
<< 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 >>