`
absolute
  • 浏览: 188294 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
文章列表
图像的深度: 图片是由一个个像素点构成的,所有不同颜色的像素点构成了一副完整的图像,计算机存储图片是以二进制来进行的。 1 bit : 用一位来存储,那么这个像素点的取值范围就是0或者1,那么我们看来这幅图片要么是黑色要么是白色。 4 bit : 取值范围为 0 到 2 的4次方 8 bit : 来存储像素点的取值范围为 0 到 2 的8次方   以此类推,我们把计算机存储单个像素点所用到的bit为称之为图像的深度.   图像的通道: 我们知道了图片的深度信息,如果是24位的图片他的取值范围为 0 到 2的24次方,这个取值范围是相当的庞大的,那怎么根据图片某像素的深度值来 ...

什么叫灰度图

    博客分类:
  • CG
任何颜色都有红、绿、蓝三原色组成,假如原来某点的颜色为RGB(R,G,B),那么,我们可以通过下面几种方法,将其转换为灰度:1.浮点算法:Gray=R*0.3+G*0.59+B*0.112.整数方法:Gray=(R*30+G*59+B*11)/1003.移位方法:Gray =(R*28+G*151+B*77)>>8; 4.平均值法:Gray=(R+G+B)/3;5.仅取绿色:Gray=G;  通过上述任一种方法求得Gray后,将原来的RGB(R,G,B)中的R,G,B统一用Gray替换,形成新的颜色RGB(Gray,Gray,Gray),用它替换原来的RGB(R,G,B)就是灰度图了 ...
/** * Returns reference to ICompilationUnit object within the given project name and java file name. * * @param projectName * Name of project created in Eclipse workspace. * @param fileName * packageName.JavaFileNameWithoutDotJava * ...
1. 隐喻的重要性     重要的科学研究成果往往来自于类比,光的波动性最早是研究声音跟光之间的相似性得出来的结论,光和声音都有振幅(亮度,响度),频率(色彩,音调)和其他一些共有的属性。我们在对系统建模的时候也是靠一些已有的模型来对一些未知领域的类比,分析共性来理清对新系统的理解。   2. 常见的软件隐喻     写作型     就好比我们写一封信一样,从头到尾一直写下去,发现不满意撕了从来。一封信写完往往是一垃圾篓废纸。当我们没有意识的去写软件时候就是如此,这往往是最糟糕的情况。     生长型     试想一下一颗珍珠的养成过程,一颗小小的石头在牡蛎的肚子里慢慢的演化成一颗 ...
软件构建是一个非常复杂的过程,过去25年以来人们总结出了如下几个清晰的构建过程: 1. Concept阶段 这个阶段用来定义问题,即当前系统存在什么样的问题,开发软件要解决一个什么样的问题。 2. Requirement阶段 这个阶段用来收集需求,详细定义软件的各个功能。系统的业务流程,规则。 3. 架构阶段 这个阶段用来定义软件的结构,软件各个组成部分之间的联系,数据流向,各个模块之间的交互方式。 4. 设计阶段 这个阶段用来实现软件各个功能的详细方式,类的静态图,流程图,详细的实现过程。这个阶段做完基本上对软件的实现过程已经了如指掌了。 ...
SELECT a.username, a.machine, a.program, a.sid, a.serial#, a.status, c.piece, c.sql_text FROM v$session a, v$sqltext c WHERE a.sid = 139 and a.sql_address=c.address(+) ORDER BY c.piece  
有许多人学了很长时间的Java,但一直不明白hashCode方法的作用,我来解释一下吧。首先,想要明白hashCode的作用,你必须要先知道Java中的集合。  总的来说,Java中的集合(Collection)有两类,一类是List,再有一类是Set。你知道它们的区别吗?前者集合内的元素是有序的,元素可以重复;后者元素无序,但元素不可重复。那么这里就有一个比较严重的问题了:要想保证元素不重复,可两个元素是否重复应该依据什么来判断呢?这就是Object.equals方法了。但是,如果每增加一个元素就检查一次,那么当元素很多时,后添加到集合中的元素比较的次数就非常多了。也就是说,如果集合中现在已经 ...
       又一篇学习笔记,参考Mathematics for 3D Game Programming and Computer Graphics和ShaderX4上一篇关于tangent space计算的文章写的东西。对于计算时需要分裂顶点的内容看的还不是太清楚-_-b。另外,目前的算法还不能完美处理镜像或者 ...

Bump Mapping概述

    博客分类:
  • CG
Bump Mapping概述   1. 概述   无论是程序员还是美工人员,几乎每个游戏开发者都知道一些3D图形学的知识,因此每个人都或多或少了解一点bump mapping。Bump mapping是在像素级别扰动物体表面法向量的一种光照技术,它一般采用纹理 ...
饱和度(纯度)Saturation – 彩色强度的浓度。   饱和度为零是白色,而最大饱和度可能是最深的颜色。 饱和度是指色彩的鲜艳程度,也称色彩的纯度。 饱和度取决于该色中含色成分和消色成分 ( 灰色 ) 的比例。 含色成分越大,饱和度越大;消色成分越大,饱和度越小。       对比度 – 一幅图像中明暗区域最亮的白和最暗的黑之间不同亮度层级的测量,   差异范围越大代表对比越大,差异范围越小代表对比越小, 好的对比率120:1就可容易地显示生动、丰富的色彩,当对比率高达300:1时,
这个教程用到了向量数学知识,如果你对向量数学还不是很了解,请先阅读向量教程:read the tutorial。 光照与物体表面的相互作用可以通过将一些数学公式应用于基于per pixel(区别于基于顶点)的着色,从而模拟出真实生活中的各种材质效果。比如浮雕效果,波浪效果,油漆效果等。 在这个教程中,我们有如下假定: 第一,我们讨论的是基于像素着色(per-pixel basis),每个pixel有它自己的位置向量,法线向量以及表面颜色(Surface color,在这里可以是来自纹理的颜色,也可以是RGB颜色(flat color)); 第二,表面颜色(Surface color)通常是由R, ...
应用和技术的发展总是带来新的需求,从而推动新技术的发展。HTTP 1.1 与 1.0 规范有一个很大的不同:1.0 规范下服务器在处理完每个 Get/Post 请求后会关闭套接口连接; 而 1.1 规范下服务器会保持这个连接,在处理两个请求的间隔时间里,这个连接处于空闲状态。 Java 1.4 引入了支持异步 IO 的 java.nio 包。当连接处于空闲时,为这个连接分配的线程资源会返还到线程池,可以供新的连接使用;当原来处于空闲的连接的客户发出新的请求,会从线程池里分配一个线程资源处理这个请求。 这种技术在连接处于空闲的机率较高、并发连接数目很多的场景下对于降低服务器的资源负载非常有效。

置换贴图

    博客分类:
  • CG
displacement mapping。我习惯叫这个东西置换贴图,但是今天看到有人翻译成位移映射,似乎更准确。翻译一篇介绍,原文来自维基百科。位移映射是同凹凸贴图,法线贴图,切线贴图相区别的另一种制造凹凸细节的技术,它使用一个高度贴图制造出几何物体表面上点的位置被替换到另一位置的效果。这种效果通常是让点的位置沿面法线移动一个贴图中定义的距离。它使得贴图具备了表现细节和深度的能力,且可以同时允许自我遮盖,自我投影和呈现边缘轮廓。而另一方面,这种技术是同类技术中消耗性能最大的,因为它需要额外的增加大量几何信息。很多年来,位移映射是高端渲染器独有的功能,比如说 RenderMan,而那些实时的程序接 ...

光线跟踪

    博客分类:
  • CG
      在我们的场景中,有一个点光源L,两个透明的物体Q1与Q2,一个不透明的物体Q3。首先,从视点出发经过一个像素点的视线E传播到达球体Q1,与其交点为P1.从P1向光源L作一条阴影测试线S1,发现其间没有遮挡的物体,那么就用局部光照模型计算光源对P1在其视线E的方向上的光强,作为该点的局部光强。同时还要跟踪该点处反射光线R1和折射光线T1,他们也对P1点的光强也有贡献。在反射光线R1方向上,没有再与其他物体相交,那么就设该方向的光强为零,并结束该光线方向的跟踪。然后对折射光线T1方向进行跟踪,计算该光线的光强贡献。折射光线T1在物体Q1内部传播,与Q1相交与点P2,由于该店在物体内部, ...

Shadow Map

    博客分类:
  • CG
有光则有影,即时渲染的阴影可以使场景看上去更加真实。 算法描述:  ShadowMap是一种基于阴影图的阴影生成方法,阴影图是一张2D贴图。阴影图中的每个像素都记录了从光源到遮挡物(遮挡物就是阴影生成物体)的每个“可见 ...
Global site tag (gtag.js) - Google Analytics