真正认识 realloc 的工作方式。 realloc 用过很多次了。无非就是将已经存在的一块内存扩大。char* p = malloc(1024);char* q = realloc(p,2048);现在的问题是我们应该如何处理指针 p。 刚开始按照我最直观的理解,如果就是直接将 p = NULL
vs2003属性窗口空白的问题 一个困扰很久的问题一直没有解决,因为vs的属性窗口没显示不方便修改mfc程序的id和属性等等,但是可以直接在代码里修改。问题始终是问题,最近准备画时间解决之,上网差资料搜索办法,一帖说是win7的问题。删除.net framework1.1可解决此问题。我试了下,的确可以解决此问
vc++命令行编译命令 项目中往往存在一些批量编译处理的需求,例如自动构建,自动从vss上down下来代码命令行编译。想升级vs版本,vs6.0到vs2003,vs2003到vs2008等等等。下面就这些需求用一个个批处理命令实现之。 1.vs2003升级vs2008项目或者解决方案的命令: "C:/Program Files (x86)/Microsoft Visual Studio 9.0/Common7/IDE/devenv" test.vcpr
vs2005 vs2008 mainfest出错的一个很常见的情况 vs2008调用了vs2005编译的库 或者是vs2005调用了vs2008编译的库.要确保程序所有的依赖库都是同一个版本的vs编译的。
win7 "ClassFactory cannot supply requested class" in VS 2008的错误解决方法 点击右键菜单vs2008执行文件或者快捷方式 属性 兼容性 却掉 禁用视觉主题 多选框
一个简单实用的SSAO实现 收藏 by José María Méndez 原文链接: http://www.gamedev.net/reference/programming/features/simpleSSAO/--------------------------------------------------------------------------------绪论 全局照明(global illumination, GI)
SVN代码提交流程 SVN代码提交流程前言:经常从SVN上取最新代码下来后发现编译过不去,查找提交log找到之前提交的人,了解其提交代码的流程后,发现SVN代码提交流程有点问题. SVN代码提交虽然简单,但是如果没严格按照步骤来的话,很容易出错,出现代码覆盖,遗漏提交的情况。现在整理一个SVN提交代码流程的精简的版本。有2种方法,推荐方法1。方法1 通过本地SVN代码库中转提交:1。本地SVN代码库更新为了方便代码提交,建议本地维护一个与SVN对应的,只用来存放最新代码的本地SVN代码库(不做开发用)。其作用主要是用来在每次代
vs2003快捷键速查 Ctrl+l:删除当前行; Ctrl+Enter:插入当前行: shift+F7查看到设计器; F7到代码: 开始运行,不调试:Ctrl+F5 重新生成解决方案:Ctrl+Shift+B 增加一个新项:Ctrl+Shift+A 到html设计器:Ctrl+PageD
(转) 欧拉角与万向节死锁 (转) 欧拉角与万向节死锁首先来看一下什么是欧拉角(Euler angles)?构件在三维空间中的有限转动,可依次用三个相对转角表示,即进动角、章动角和自旋角,这三个转角统称为欧拉角。——引自百度百科莱昂哈德·欧拉用欧拉角来描述刚体在三维欧几里得空间的取向。对于任何一个参考系,一个刚体的取向,是依照顺序,从这参考系,做三个欧拉角的旋转而设定的。所以,刚体的取向可以用三个基本旋转矩阵来决定。换句话说,任何关于刚体旋转的旋转矩阵是由三个基本旋转矩阵复合而成的。——引自wikipedia好了,引完了,我来说一下
Terrain Splatting Terrain Splattingspalatting技术指的是在terrain中给指定的tile贴纹理,并且所纹理之间是非线性过渡的.这种技术基本上不耗费CPU,通过显卡多次渲染同一个三角形,在帧缓存中合成纹理.基础Splatting把terrain分成若干个块,对每个块,找出影响它的所有贴图,即块中所有单元(一个或多个tile,取决于你的粒度)所用的贴图和紧邻这个块的单元所使用的贴图.这就是所谓的"splat块"和"splat纹理".为每个块创建顶点缓存,优化.
有关3d引擎优化的一些搜索整理 【游戏开发】DirectX 性能优化:(From D3D9 SDK)2009-06-04 15:19性能优化:(From D3D9 SDK) 常规技巧1 只在必须的时候Clear。IDirect3DDevice9::Clear函数通常需要花费较多的时间,因此要尽量少调用,而且只清空的确需要清空的缓存。2 尽量减少状态切换。并且将需要进行的状态切换组合在一起设置。状态包括RenderState,SamplerState,TextureStageSta
有关3d引擎优化的一些搜索整理 【游戏开发】DirectX 性能优化:(From D3D9 SDK)2009-06-04 15:19性能优化:(From D3D9 SDK) 常规技巧1 只在必须的时候Clear。IDirect3DDevice9::Clear函数通常需要花费较多的时间,因此要尽量少调用,而且只清空的确需要清空的缓存。2 尽量减少状态切换。并且将需要进行的状态切换组合在一起设置。状态包括RenderState,SamplerState,TextureStageSta
次时代引擎技术一览 API: Driectx 11.0 & 10 Driectx 9.0CTexture Resolution(材质解析度) :16384*16384Quadcore-Multithreading(多核心多线程) √Tesselation(曲面细分) √Deferred shading(延迟渲染) √Live Create(编辑器动态创建) √Ambient Occlusion (环境光遮蔽) √Sof
批次渲染 其实,根据我最近研究发现,暴雪早在DX8时代就做了批量渲染这件事,所以一举占据了RTS老大的地位.很凑巧的时候我现在的项目也是个RTS类游戏.所以批量渲染就成了一个亟待解决的问题. Gamebryo是支持MeshInstancing的,就是模型的批量渲染。 哦,先介绍下DX9支持的几种Instancing的方式吧,一种叫HardwareInstancing,中文叫硬件批量渲染吧,其实是DX9提供了SetStreamSourceFreq这个接口,让你可以把一
LOD 3 LODLOD包括地形LOD,模型LOD,材质LOD,骨骼LOD等。地形LOD方法很多,如二元三角细分算法。模型LOD,可以使用自动减面算法对模型在不同距离时进行处理。也可以采用让美工手动对模型处理,分成多级模型。材质LOD,指渲染得复杂度控制,如远距离把逐像素光照(PPL)变为顶点光照,多层纹理变为单层纹理。骨骼LOD指逐级减少骨骼数量。对于复杂场景LOD的效果会非常明显 遍历,寻找需要去掉的面找到三个点,补全对应的相邻三角形根据某种原则,寻找
模型纹理闪点的问题 Mip-Mapping 我第一次看到Mip-mapping技术是在游戏QUAKE里,而现在这种技术早已是随处可见了。这种技术是由Williams在1983年发明的,“Mip”这个名称起源于“multum in parvo”,大概就是在一小块地方有很多东西的意思。 具体说来,Mip-Mapping的思想就是构建一套纹理,总共需要大约1.3倍的内存。其中,每块子纹理是通过对父纹理过滤而得到,它的长和宽都是其父纹理的1/2,其面积为父纹理的1/4。接下来,在应用的时候,
开源3d引擎WildMagic4p7编译方法 用firefox翻墙才跑到其官网上http://www.geometrictools.com,在中国生活真是幸福啊!能体验到其他国家的人民不需要体验的东东!万岁!看这个文件就行 WildMagic4p7/GeometricTools/WildMagic4/Wm4p7InstallationRelease.pdf1.环境变量(1.3 Environment Variables) WM4_PATH 我的是
把linux双向循环链表拿出来用用 //dlist.h #ifndef __VOILA_DOUBLY_LINKED_LIST_H#define __VOILA_DOUBLY_LINKED_LIST_H#include <stdio.h>/** * @file dlist.h * @brif Simple doubly linked list implementation * @author monnand ( monnand at gm