游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1924|回复: 0

【基础问题】关于DirectX的色彩的设置函数的迷惑

[复制链接]

2

主题

3

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2012-5-12 16:48:00 | 显示全部楼层 |阅读模式
在【Windows游戏编程大师技巧(第二版)】这书、220页有描述到

#define __RGB16BIT565(red, green, blue) ((blue & 31) + ((green & 63) << 5) + ((r & 31) << 11))


inline void Plot8(int x, int y,
                    UCHAR color,
                    UCHAR *buffer,
                    int mempitch)
{
      buffer[x+y*mempitch] = color;
}

inline void Plot16(int x, int y,
                    UCHAR red,
                    UCHAR green,
                    UCHAR blue,
                    UCHAR *buffer,
                    int mempitch)
{
      buffer[x+y*(mempitch >> 1)] = __RGB16BIT565(red, green, blue);
}

这里的buffer[x+y*(mempitch >> 1)] = __RGB16BIT565(red, green, blue);和
buffer[x+y*mempitch] = color;
是什么意思啊、不懂
那个宏定义也不知是啥冬冬、为啥是31为啥是63、各种?濉⑶蟾呷酥傅阋欢?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-2-28 12:32

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表