自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (3)
  • 收藏
  • 关注

原创 苹果iOS13.2闷杀后台程序,你游戏APP或游戏有中招?PerfDog"狗"可以帮提前检测

最近万众期待的苹果更新了iOS13.2系统,本以为带来超速体验,谁知道,微信聊着聊着,接个电话,微信挂了。哦呀发现其他app或者游戏切换后台,也出现同样情况,挂了。小弟君也是喜欢折腾的人,在iPhone数据分析里找到对应挂掉resource日志文件,发现如下:是wakeups超过iOS对后台单进程的限制了。哦呀,为什么呢,之前iOS11、iOS12都木问题。小弟君进一...

2019-11-07 08:55:17 2256

原创 法线贴图

一,法线贴图实际上是一张纹理图,但纹理中存储的并不是颜色值,而是法向量坐标。这项技术的主要目的是实现物体表面的粗糙细节。二,法向量在纹理中的存储形式。对于24位纹理格式,r g b 三个元素中分别存储了法向量的三个坐标值。然而,法向量三个坐标值 的取值范围均为(-1.1),而纹理格式中rgb分量的范围是(0,255),因此我们必须做相应的变换。变换方程如下:f(x)=(0.5x+0.5

2011-06-20 17:58:00 634

原创 坐标系

最近在写一个骨骼动画系统及3dmax插件。总结下有几点需要注意的地方1 d3d用的是左手坐标系统,一般旋转是顺时针(俯视) 如:D3DXRoation....Y(); 点是左乘的P*[],矩阵是以行来存储2 Opengl用的是右手坐标系统,一般旋转的是逆时针(俯视)glRoation....Y(), 点是右乘的[]*p,且矩阵是以列来存储3 3Dmax用的是右手坐标系统,但是Y和Z是互

2010-03-31 23:40:00 445

转载 索引顶点混合

Direct3D通过索引顶点混合,扩展了使用多个混合矩阵对顶点进行混合的支持。在索引顶点混合中,混合矩阵被保存在矩阵调色板(可以看成一个矩阵数组)中,使用矩阵索引来引用特定的混合矩阵。矩阵索引使用8位无符号整数表示,由每个顶点提供,因为Direct3D中限定每个顶点最多受到4个混合矩阵的影响,所以每个顶点最多具有4个矩阵索引,每个顶点的矩阵索引被组合成一个DWORD类型的整数存储和表示。因为每个顶

2010-03-11 22:59:00 1126

原创 pool

搞笑mempool class aa{public: aa() {  x = 577;  y = 66;  z = 5666.54; } virtual void haha(){} int x; int y; double z;};class bb : public aa{public: void haha() {  x = 555555; }}; #define POOL_M

2010-01-06 19:48:00 443

原创 TGA文件类

#include #include #include #include class tgaImageFile{public: tgaImageFile(void) :  m_texFormat(-1), m_nImageWidth(0), m_nImageHeight(0), m_nImageBits(0), m_nImageData(NULL) {} ~tgaImageFile(void); e

2009-09-23 09:13:00 578

转载 优化

常规技巧1 只在必须的时候Clear。   IDirect3DDevice9::Clear函数通常需要花费较多的时间,因此要尽量少调用,而且只清空的确需要清空的缓存。2 尽量减少状态切换。并且将需要进行的状态切换组合在一起设置。   状态包括RenderState,SamplerState,TextureStageState等3 纹理尺寸尽可能小4 从前至后渲染场景中的对象   从

2009-08-17 17:25:00 385

原创 shader Sky

struct VS_INPUT {  // We only need 2d screen position, that's all. float2 pos : POSITION; }; struct VS_OUTPUT{  float4 pos : POSITION;  float3 texCoord : TEXCOORD0; };  VS_OUTP

2009-08-06 18:16:00 548

转载 HLSL的应用—反射环境映射

HLSL的应用—反射环境映射  反射环境映射有两种,静态环境映射和动态环境映射,我们从简单的即静态的开始看  静态的环境映射其实很简单,原理是主程序中先把CUBE贴图生成好,然后在shader里面计算出相对视线的反射向量,然后用一个texCUBE采样函数就可以了.来看看shader代码://----------------------------------------

2009-08-06 18:08:00 1774

转载 用HLSL实现凹凸纹理映射

 用HLSL实现凹凸纹理映射---(读书笔记) 用HLSL实现凹凸纹理映射有很多种方法,现在介绍的这种有一个缺点就是对美工资源的要求比较高.首先我们需要两张纹理,第一张是纹理的颜色图(即普通的一张纹理),第二张是保存法线信息的纹理. 也可以用一张既有原始颜色信息又有发现信息的纹理。下面的例子给的HLSL代码用的是两张分开的。好了废话不多说我们先来看看代码:*******

2009-08-06 18:03:00 2267

原创 Auto Build Texture Coordinate

纹理坐标的五种生成方法:1.D3DTSS_TCI_PASSTHRU:使用顶点信息中的纹理坐标.2.D3DTSS_TCI_CAMERASPACENORMAL:以顶点在观察坐标系中的法线向量作为该纹理层的纹理坐标输出.3.D3DTSS_TCI_CAMERASPACEPOSITION:以顶点在观察坐标系中的顶点坐标作为该纹理层的纹理坐标输出.即在相机空间里,顶点坐标的u,v是这样计算的.u = x, v

2009-08-06 18:01:00 893

原创 D3DRS_COLORVERTEX

D3DRS_COLORVERTEX逐点光照计算SetRenderState(D3DRS_COLORVERTEX, TRUE);默认TRUE若需要用顶点定义的颜色作为材质比例颜色的话,则需要设D3DRS_COLORVERTEX为TRUE,若只用材质比例颜色的话,则设FALSE只有D3DRS_COLORVERTEX为TRUE的情况下,用SetRenderState(D3DRS_DIFFUSEM

2009-08-05 14:23:00 1569

转载 DDS 文件

2009-06-11 17:01:00 698 1

原创 二叉空间分割碰撞

BSP(二叉空间分割Binary Space Partitioning)树是另一种类型的空间分割技术,其已经在游戏工业上应用了许多年(Doom是第一个使用BSP树的商业游戏)。尽管在今天BSP树已经没像过去那么受欢迎了,但现在仍在广泛地采用这项技术。当你看一下BSP在碰撞检测方面那极度干净漂亮和高速的效率,立刻能让你眼前一亮。不但BSP树在多边形剪切方面表现出色,而且还能让我们有效地自由运用wor

2009-06-10 15:01:00 1083

原创 关于对象的construct与destruct

大卫注:今天整理Computer上的旧资料,偶然发现了两篇不知什么时候从网上下来的文章,谈的是关于对象construct与destruct的问题,感觉作者讲的不是太清楚,按其思想进行改写后发布于此.对象的construct与destruct是C++中一个最基本的概念,虽然简单,但其中有些特性也值得我们去关注,以便更好地加以利用,写出有效而且高效的代码.先看一个程序,程序很简单,只是添加了一些输出信

2009-06-10 14:30:00 602

原创 堆(Heap)和栈(Stack)的区别

五大内存分区        在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。        栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。        堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释

2009-06-10 14:26:00 534 1

原创 编码转换

大家说torsion工具中文输入很麻烦,这段时间不忙,刚好静下心来,研究了下,只要把字符串转化从GB2312为UTF-8就可以了。主要修改static int Sc_ScanString(int ret)这个函数就ok了static int Sc_ScanString(int ret){   CMDtext[CMDleng - 1] = 0;   if(!collapseEscape(CM

2009-06-03 16:33:00 430

转载 设备丢失

 设置丢失设备丢失的典型情况:图形显示丢失焦点,例如按下alt+tab键,或者弹出一个系统对话框;调用Reset接口函数的任何错误也会导致设备丢失。丢失后,所有继承自IUnknown的方法仍可以继续正常正作,除了Present()会返回D3DERR_DEVICELOST错误代码。处理设备丢失:在重设(reset)丢失的设备之前,必须重新创建所有相关的资源(包括显存!)。在设备丢失后,应查询是否可以

2009-05-23 10:48:00 710

转载 2D Application

 转载2D Application这一章将讨论IDirect3DDevices9接口怎样应用到简单的两维应用程序里去。然而,接下来讨论的方法和接口的方法不仅仅只应用在两维应用程序里面。   开始我们将看看IDirect3DSurface9接口,它用于存放像素数据。我们将看看怎样创建surfaces,怎样填充数据,并且执行像素拷贝操作。   接下来,我们讨论IDirect3DSwap

2009-05-21 19:30:00 2799

原创 POOL

说一下内存池的问题,一般有这三种:D3DPOOL_DEFAULT   ,D3DPOOL_MANAGED,D3DPOOL_SYSTEMMEM。D3DPOOL_DEFAULT   在显存中创建对象,这里的显存包括真正的显存和AGP内存。D3DPOOL_MANAGED   在显存中创建对象,同时在内存中创建一个备份。D3DPOOL_SYSTEMMEM只在系统内存中创建对象。   如果使用D3DPOOL_

2009-05-21 19:28:00 791

转载 转 Swap Chains

Introduction In DirectX 8, support for rendering to multiple windows is provided through the creation of additional swap chains.  However, there are currently no examples of this in the SDK, and t

2009-05-21 19:26:00 667

转载 多屏幕

转载#include "stdafx.h"#include "windows.h"#include "d3d9.h"#include "d3dx9.h"#ifdef _DEBUG#pragma comment(lib, "d3d9.lib")#pragma comment(lib, "d3dx9d.lib")#else#pragma comment(lib, "d3d9.lib")#pra

2009-05-21 19:24:00 738

原创 介绍RenderTexture,RenderSurface和SetRenderTarget

转载#include  #include  typedef std:: string  String; #define  SAFE_RELEASE(o) {if(o){o->Release();o = 0;}}   LPDIRECT3D9 g_pD3D  =   0 ;                 //  D3D Driver  LPDIRECT3DDEVICE9 g_pd3dDevi

2009-05-21 19:22:00 3090

原创 Input Chinese in TGEA

 最近由于项目需求,需要在TGEA引擎环境下中文输入,我在网上找了很久,找到的都是关于TGE中文输入。包括官方网都是讲些TGE natural language(Chinese) ,没办法只有自己研究输入那块,花了一天时间, 终于搞定了。          实际上明白了TGE下修改思路就够了, 都是基于IME Windows消息思想,当输入event消息分发时,可以修改charEvent,

2009-02-18 17:06:00 605 1

point light cube maping

point light cube maping

2015-06-30

Deferred Shading延迟光照

Deferred Shading延迟光照,例子简单易懂,很容易理解哈

2011-09-27

hook_3d_Demo

hook 3d demo, dll 注入第三进程中

2011-01-27

空空如也

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

TA关注的人

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