Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
itdan3344
stb
提交
df0c8e92
S
stb
项目概览
itdan3344
/
stb
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
stb
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
df0c8e92
编写于
10月 14, 2019
作者:
A
Andreas Haferburg
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fixed compiler warnings C4244 conversion from 'int' to 'unsigned char'/'unsigned short'.
上级
052dce11
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
19 addition
and
19 deletion
+19
-19
stb_dxt.h
stb_dxt.h
+19
-19
未找到文件。
stb_dxt.h
浏览文件 @
df0c8e92
...
...
@@ -120,7 +120,7 @@ static void stb__From16Bit(unsigned char *out, unsigned short v)
static
unsigned
short
stb__As16Bit
(
int
r
,
int
g
,
int
b
)
{
return
(
stb__Mul8Bit
(
r
,
31
)
<<
11
)
+
(
stb__Mul8Bit
(
g
,
63
)
<<
5
)
+
stb__Mul8Bit
(
b
,
31
);
return
(
unsigned
short
)((
stb__Mul8Bit
(
r
,
31
)
<<
11
)
+
(
stb__Mul8Bit
(
g
,
63
)
<<
5
)
+
stb__Mul8Bit
(
b
,
31
)
);
}
// linear interpolation at 1/3 point between a and b, using desired rounding type
...
...
@@ -139,9 +139,9 @@ static int stb__Lerp13(int a, int b)
// lerp RGB color
static
void
stb__Lerp13RGB
(
unsigned
char
*
out
,
unsigned
char
*
p1
,
unsigned
char
*
p2
)
{
out
[
0
]
=
stb__Lerp13
(
p1
[
0
],
p2
[
0
]);
out
[
1
]
=
stb__Lerp13
(
p1
[
1
],
p2
[
1
]);
out
[
2
]
=
stb__Lerp13
(
p1
[
2
],
p2
[
2
]);
out
[
0
]
=
(
unsigned
char
)
stb__Lerp13
(
p1
[
0
],
p2
[
0
]);
out
[
1
]
=
(
unsigned
char
)
stb__Lerp13
(
p1
[
1
],
p2
[
1
]);
out
[
2
]
=
(
unsigned
char
)
stb__Lerp13
(
p1
[
2
],
p2
[
2
]);
}
/****************************************************************************/
...
...
@@ -163,11 +163,11 @@ static void stb__PrepareOptTable(unsigned char *Table,const unsigned char *expan
// +-1.5% error, but nowhere in the spec does it say that the error has to be
// unbiased - better safe than sorry).
err
+=
STBD_ABS
(
maxe
-
mine
)
*
3
/
100
;
if
(
err
<
bestErr
)
{
Table
[
i
*
2
+
0
]
=
mx
;
Table
[
i
*
2
+
1
]
=
mn
;
{
Table
[
i
*
2
+
0
]
=
(
unsigned
char
)
mx
;
Table
[
i
*
2
+
1
]
=
(
unsigned
char
)
mn
;
bestErr
=
err
;
}
}
...
...
@@ -488,13 +488,13 @@ static int stb__RefineBlock(unsigned char *block, unsigned short *pmax16, unsign
fg
=
frb
*
63
.
0
f
/
31
.
0
f
;
// solve.
max16
=
stb__sclamp
((
At1_r
*
yy
-
At2_r
*
xy
)
*
frb
+
0
.
5
f
,
0
,
31
)
<<
11
;
max16
|=
stb__sclamp
((
At1_g
*
yy
-
At2_g
*
xy
)
*
fg
+
0
.
5
f
,
0
,
63
)
<<
5
;
max16
|=
stb__sclamp
((
At1_b
*
yy
-
At2_b
*
xy
)
*
frb
+
0
.
5
f
,
0
,
31
)
<<
0
;
max16
=
(
unsigned
short
)(
stb__sclamp
((
At1_r
*
yy
-
At2_r
*
xy
)
*
frb
+
0
.
5
f
,
0
,
31
)
<<
11
)
;
max16
|=
(
unsigned
short
)(
stb__sclamp
((
At1_g
*
yy
-
At2_g
*
xy
)
*
fg
+
0
.
5
f
,
0
,
63
)
<<
5
)
;
max16
|=
(
unsigned
short
)(
stb__sclamp
((
At1_b
*
yy
-
At2_b
*
xy
)
*
frb
+
0
.
5
f
,
0
,
31
)
<<
0
)
;
min16
=
stb__sclamp
((
At2_r
*
xx
-
At1_r
*
xy
)
*
frb
+
0
.
5
f
,
0
,
31
)
<<
11
;
min16
|=
stb__sclamp
((
At2_g
*
xx
-
At1_g
*
xy
)
*
fg
+
0
.
5
f
,
0
,
63
)
<<
5
;
min16
|=
stb__sclamp
((
At2_b
*
xx
-
At1_b
*
xy
)
*
frb
+
0
.
5
f
,
0
,
31
)
<<
0
;
min16
=
(
unsigned
short
)(
stb__sclamp
((
At2_r
*
xx
-
At1_r
*
xy
)
*
frb
+
0
.
5
f
,
0
,
31
)
<<
11
)
;
min16
|=
(
unsigned
short
)(
stb__sclamp
((
At2_g
*
xx
-
At1_g
*
xy
)
*
fg
+
0
.
5
f
,
0
,
63
)
<<
5
)
;
min16
|=
(
unsigned
short
)(
stb__sclamp
((
At2_b
*
xx
-
At1_b
*
xy
)
*
frb
+
0
.
5
f
,
0
,
31
)
<<
0
)
;
}
*
pmin16
=
min16
;
...
...
@@ -592,8 +592,8 @@ static void stb__CompressAlphaBlock(unsigned char *dest,unsigned char *src, int
}
// encode them
((
unsigned
char
*
)
dest
)[
0
]
=
mx
;
((
unsigned
char
*
)
dest
)[
1
]
=
mn
;
dest
[
0
]
=
(
unsigned
char
)
mx
;
dest
[
1
]
=
(
unsigned
char
)
mn
;
dest
+=
2
;
// determine bias and emit color indices
...
...
@@ -622,7 +622,7 @@ static void stb__CompressAlphaBlock(unsigned char *dest,unsigned char *src, int
// write index
mask
|=
ind
<<
bits
;
if
((
bits
+=
3
)
>=
8
)
{
*
dest
++
=
mask
;
*
dest
++
=
(
unsigned
char
)
mask
;
mask
>>=
8
;
bits
-=
8
;
}
...
...
@@ -633,10 +633,10 @@ static void stb__InitDXT()
{
int
i
;
for
(
i
=
0
;
i
<
32
;
i
++
)
stb__Expand5
[
i
]
=
(
i
<<
3
)
|
(
i
>>
2
);
stb__Expand5
[
i
]
=
(
unsigned
char
)((
i
<<
3
)
|
(
i
>>
2
)
);
for
(
i
=
0
;
i
<
64
;
i
++
)
stb__Expand6
[
i
]
=
(
i
<<
2
)
|
(
i
>>
4
);
stb__Expand6
[
i
]
=
(
unsigned
char
)((
i
<<
2
)
|
(
i
>>
4
)
);
for
(
i
=
0
;
i
<
256
+
16
;
i
++
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录