自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

自由理想的足迹

只要功夫深,铁杆磨成针

  • 博客(14)
  • 资源 (10)
  • 收藏
  • 关注

原创 OGL光照

基本概念光照影响整个场景的氛围,缺少光照还会缺乏三维的感觉。光照主要集中在光源的类型位置方向等参数,光照物体的材质(狭隘的指光照属性)和纹理,采用的光照模型。     OGL镜面高光颜色GL_SEPARATE_SPECULAR_COLOR在纹理处理Fragment 纹理映射后进行, 目的是减少纹理颜色对镜面光颜色的影响。其它类型的光照都是在纹理映射前进行。现在光照都要求在Shader中计算

2016-07-27 10:24:51 1236

原创 OGL颜色和图片颜色存储位移压缩

OGL颜色抖动是有限的颜色下,在一个着色块区域混合不同的颜色成分,比如黑色50%,白色50%就是灰色,指的是一个块区域混合不同的像素,而不是在一个像素内混合。显示模式的选择:用RGBA模式通常可以表示更大的颜色空间,在光照,能够使用纹理映射Shader着色,雾,抗锯齿上表现效果更加灵活,而丰富。但是颜色位平面太小单个通道小于8位的性能优化程序中,缩略图中,或需要移植

2016-07-14 11:15:12 568

原创 现代OGL Shader中VAO,VBO和GL_ELEMENT_ARRAY_BUFFER之间的关系

本文主要参考自:http://www.zwqxin.com/archives/opengl/vao-and-vbo-stuff.html前提和概念老式的客户端的 VertexArrayObject是在客户端的,维护了指向的VBO以及如何解析VBO,还在客户端(CPU端)维护了一些渲染状态的设置,老式的VAO相关状态是在CPU端维护的。而现代的GPU Shader中使用的VAO包括了Ve

2016-07-06 10:40:10 7092 2

原创 模块与模块之间通信设计-组件设计思想

--模块与模块之间的设计,除了大范围的设计模式,更多不属于模式的多种方法调用都可以通信。        -- 如何设计低耦合的,高内聚的模块之间通信?原则:        -- 1.用管理器用接口,尽量关联接口(管理器),在其它模块中用管理器设置和调用,而不是关联具体的类(会导致太错综复杂)。        -- 2.高内聚控制变量,关于本模块相关的控制尽量写在自身模块中,其它模块调用

2016-07-05 10:26:33 6758

原创 空间换时间设计-多索引结构实现高效查询算法

当设计索引结构时候,一个数据容器,一个索引结构,但是有时候需要引入多个空间结构的,比如需要两个索引结构才能实现方便高效的算法。这就是典型的空间换时间算法思想。例如:3D空间,需要四元数来表示,而不是3元素。lua 的map需要2个索引结构。local UnorderedDict = class("UnorderedDict")function UnorderedDict:cto

2016-07-05 10:25:14 880

原创 平行模块思考和模块双向关系思考

如果本模块有很多控制变量,而且需要统一初始化,那个可以在管理器方设置一个变量,由本模块来取管理器的控制变量,而不是把所有控制变量都放置到管理器中初始化。降低模块之间的耦合度,经常要双向思考。也要独立并行模块思考,降低耦合度,同时开工。

2016-07-05 10:24:15 540

原创 严格单一接口和严谨调用点

尽量减少依赖特别是对外有多接口,多表现时候,尽量对外统一一个接口, 一定要这样设计。调用依赖,调用依赖点一定要准确,随便调用或者不严谨的调用很容易导致问题。

2016-07-05 10:23:34 705

原创 拆分变化或有规律部分为单独类且统一接口

架构能力要好,写出拓展性强的代码。一定要用好抽象细分逻辑,参数化,单一职责。好的分层,好的归纳细节抽象为一个模块,利用好封装 继承 多态 接口 单一职责 中介者通信。合理的扇入扇出数。通信中的参数,可以设计为参数类。通过发送消息的形式进行通信。对于频繁的逻辑状态操作封装,对发送的消息,需要有一个状态类型,状态值,状态值参数列表;状态值参数

2016-07-05 10:22:39 632

转载 依赖注入是控制反转的一种实例,也叫反射,运行时从配置文件字符串来创建类,插件思想降低耦合度

深度理解依赖注入作者: EagleFish(邢瑜琨)  来源: 博客园  发布时间: 2009-03-13 11:01  阅读: 72138 次  推荐: 11   原文链接   [收藏]  摘要:提到依赖注入,大家都会想到老马那篇经典的文章。其实,本文就是相当于对那篇文章的解读。所以,如果您对原文已经有了非常深刻的理解,完全不需要再看此文;但是,如果您和笔者一样,以前曾经看过

2016-07-05 10:19:56 746

转载 编写灵活代码之五大技巧

几年前,笔者参与过一个基于复杂的代码和来自客户源源不断变更功能需求的大项目。开发过程中,项目经理需要与客户不断沟通确认,因为根据项目早期的技术规划,新需求的部分功能无法实现或实现成本过高。这种情况将开发者置于压抑状态下。作为一名软件开发人员,笔者并不认为编写软件应该如建造摩天大厦一番,随着项目的进行客户有越来越少的自由改变其想法。随着建筑业的发展,丝丝变化导致成本逐渐增加。软件并非

2016-07-05 10:18:24 567

原创 数字信号思想-映射接口规范-引入中间层减少错误-中间层重构-时分复用服务-客户规范接口

现代计算机技术和通信技术都是建立在数字信号上面,无论是在传输中,还是在电子装置的内部。映射接口规范:数字信号最主要是将如何采用,如何量化,和如何编码;其中最核心的思想就是映射,按照规定映射,将物理电磁波信号映射为离散的01数字,用了数学中的转换思想。所以一个大的软件架构体系,一个良好设计的体系结构,都要有提早设计好的接口映射规范(无论是面向对象的接口,还是面向过程的函数指针),当新

2016-07-05 09:42:03 842

原创 OGL编程中的错误处理汇总和优化编码流程感悟-持续更新

OGL编程错误处理汇总在处理OGL编码错误时候,大部分是调用不一致导致的(代码参数不一致,检查上下文和查看官方文档,弄清楚参数含义;头文件和库文件不一致,需要工具检查)。优化编码流程感悟在解决这些问题时候,需要敏锐的观察,分析,google, 更好的是提取出工作流程,例如Google C++编码规范中对构造和析构的宏定义,对于容易不一致的提供统一调用封装接口检查

2016-07-04 11:55:05 613

原创 OGL绘制相关函数总结2

本文主要整理自http://www.aiuxian.com/article/p-1704414.html,感谢作者wangdingqiaoit传统的图形绘制方法传统立即模式Immediate Mode绘图,性能低且设置复杂(新版ogl建议丢弃该绘制功能)每次绘制CPU向GPU传递数据并绘制://包含头文件# include # include #pragma comm

2016-07-04 11:46:00 3244

原创 图形学数学变换的领悟-持续更新

一、基本概念和前提基本矩阵含义,四元数含义,欧拉角。理解矩阵的基向量特点分解组合作用;四元数有一般的信息在变换乘法中;欧拉角存在万向锁。不同坐标系下乘法顺序,矩阵逆,旋转绕向,正面定义不同。变换坐标系区别(左手坐标系,右手坐标系是不同的,3ds max坐标系),矩阵行列式的区别,乘法顺序的区别,正反面的区别,一定要清楚变换前提条件,否则很容易导致难以觉察的计算错误。

2016-07-01 10:42:37 1070

VisualAssist.X_10.9.2333

Visual Assist X For Visual Studio, 番茄助手支持VS2019 VS2017 VS2015 VS2012 VS2010. 亲测可用,欢迎评论

2020-05-31

Python学习文档

Python学习文档

2018-10-04

C++ 11 学习总结文档

c++特性11 学习 总结文档,对特性查询很有帮助,欢迎下载

2018-10-04

Unreal Engine 4 Game Development in 24 Hours

Unreal Engine 4 Game Development in 24 Hours英文版本,欢迎下载。

2018-10-03

CC++黑色星期五计算方法

C C++黑色星期五代码,逻辑严谨,代码清晰的实现,VC Linux下代码可以直接运行;欢迎下载切磋。

2013-03-12

Linux帮助文档用户指南手册

Linux帮助文档 用户指南 linux/unix用户手册,新手管理员指南;必备文档,chm格式。

2011-04-11

C/C++语言帮助文档

C/C++ 帮助文档 参考文档 ,包含C函数库,C++标准模板库,chm格式易于查询,C/C++程序员手册

2011-04-11

MFC最详细的帮助文档

MFC详细的帮助文档,内涵win32 API 函数,MFC详细类库;VC开发人员的详细文档。

2011-03-08

linux帮助文档linux.chm

linux帮助文档;全面了解最流行的linux版本特征;详解linux操作系统;对初学者很有帮助哦。

2010-11-26

空空如也

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

TA关注的人

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