取自《Focus On 3D Terrain Programming》中的一段:
 //--------------------------------------------------------------
// Name: CIMAGE::LoadUncompressedTGA - private
// Description: Load an uncompressed targa (TGA)
// Arguments: None
// Return Value: A boolean variable: -true: TGA was loaded
// -false: TGA was not loaded
//--------------------------------------------------------------
bool CIMAGE::LoadUncompressedTGA( void )
{
........
....
pTGAinfo.m_uiBytesPerPixel= m_uiBPP/;
pTGAinfo.m_uiImageSize = ( pTGAinfo.m_uiBytesPerPixel*m_uiWidth*m_uiHeight ); //copy the image data
memcpy( m_ucpData, ucpFile, pTGAinfo.m_uiImageSize ); //byte swapping ( optimized by Steve Thomas )
for( uiCSwap=; uiCSwap<( int )pTGAinfo.m_uiImageSize; uiCSwap+=pTGAinfo.m_uiBytesPerPixel )
{
m_ucpData[uiCSwap]^= m_ucpData[uiCSwap+]^=m_ucpData[uiCSwap]^= m_ucpData[uiCSwap+];
} //the uncompressed TGA has been successfully loaded
return true;
}
===============
开开眼界,把BGR转换为RGB的交换代码,过于高大上了,直接操作的硬件,可以提高一定的速度,对大图片有用。

    m_ucpData[uiCSwap]^= m_ucpData[uiCSwap+2]^=m_ucpData[uiCSwap]^= m_ucpData[uiCSwap+2];

《Focus On 3D Terrain Programming》中一段代码的注释三的更多相关文章

  1. 《Focus On 3D Terrain Programming》中一段代码的注释二

    取自<Focus On 3D Terrain Programming>中的一段: bool CTERRAIN::MakeTerrainFault( int iSize, int iIter ...

  2. 《Focus On 3D Terrain Programming》中一段代码的注释一

    取自<Focus On 3D Terrain Programming>中的一段: //--------------------------------------------------- ...

  3. 【鸡渣饲料系列】《Introdution to 3D Game Programming With DirectX11》 代码转移至vs2015

    <Introdution to 3D Game Programming With DirectX11>我是从这本书学习的directx,被称为“龙书”dx11版,由于是通过这本书学习的所以 ...

  4. bootstrap 中这段代码 使bundles 失败

    _:-ms-fullscreen, :root input[type="date"], _:-ms-fullscreen, :root input[type="time& ...

  5. SQL SERVER中如何查找存储过程中一段代码

    select b.name ,a.text from syscomments a,sysobjects b where and object_id(b.name)=a.id and b.xtype i ...

  6. phpstorm 代码注释后,撤销某段代码的注释的,快捷键是什么?

    phpstorm 的代码注释有两种风格,一种是双斜杠,另一种是 /* ...  */风格,两者的快捷键都是开关式(即按第一次为注释,再按一次为撤销注释),快捷键如下: 1.双斜杠注释   Ctrl + ...

  7. Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第七章:在Direct3D中绘制(二)

    原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第七章:在Direct3D中绘制(二) 代码工程地址: https:/ ...

  8. Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第六章:在Direct3D中绘制

    原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第六章:在Direct3D中绘制 代码工程地址: https://gi ...

  9. Introduction to 3D Game Programming with DirectX 11 翻译--开篇

    Direct3D 11简介 Direct3D 11是一个渲染库,用于在Windows平台上使用现代图形硬件编写高性能3D图形应用程序.Direct3D是一个windows底层库,因为它的应用程序编程接 ...

随机推荐

  1. magento url rewrite using config.xml

    magento url rewrite using config.xml 2012-08-03 14:34:22|  分类: magento|举报|字号 订阅     郁闷了两天啊 http://12 ...

  2. linq世界走一走(LINQ TO SQL)

    前言:作为linq的一个组件,同时作为ADO.NET的一个组成部分,LINQ TO SQL提供了将关系数据映射为对象的运行时基础结构. LINQ TO SQL是通过将关系数据库对象的数据模型(如一个数 ...

  3. CodeMIrror 简单使用

    代码高亮是程序员的刚需,不管是在笔记类,论坛类,博客类web网站中,都对代码高亮提出要求,不高亮的代码阅读体验很差,codeMirror是一个前端代码高亮库,使用方便. codeMirror可以直接在 ...

  4. Java学习-003-JDK、JRE、JVM简介

    此文主要对 JDK.JRE.JVM进行简单的介绍,给各位亲们一个参考.若有不足之处,敬请各位大神指正,不胜感激! 一.基本概念 JDK(Java Development Kit:Java 开发工具包) ...

  5. web页面的适配问题

    一个web页面既要在宽屏上显示,又要在窄屏上显示,既要在电脑上显示,又要在手机上显示,这个适配问题相当的麻烦. 其实解决电脑与手机的适配问题,一般有两个思路:一个是做判断,根据不同条件在css和js做 ...

  6. 我的工具箱之MySql Front 5.3

    下载地址:http://pan.baidu.com/s/1i4sJpNB 这款软件用来连接MySql,作为前端使用. 它功能全面,方便快捷,如果说有缺点的话,sql窗口中不能执行选择的部分有遗憾. 2 ...

  7. css中的zoom的使用

    css中的zoom的使用  zoom : normal | number  normal : 默认值.使用对象的实际尺寸  number : 百分数 | 无符号浮点实数.浮点实数值为1.0或百分数为1 ...

  8. 给网卡配置10个临时ip地址,但是不配置192.168.17.15这个ip

    给网卡配置10个临时ip地址,但是不配置192.168.17.15这个ip #!/bin/bash `;do ];then continue fi ifconfig eth0:$i .$i netma ...

  9. C#资源释放

    转自:http://www.cnblogs.com/psunny/archive/2009/07/07/1518812.html 深刻理解C#中资源释放 今天我的一个朋友看到我写的那篇<C#中用 ...

  10. 微信JS SDK使用权限签名算法

    jsapi_ticket 生成签名之前必须先了解一下jsapi_ticket,jsapi_ticket是公众号用于调用微信JS接口的临时票据.正常情况下,jsapi_ticket的有效期为7200秒, ...