HarmonyOS opengl es3.0绘制图形颜色有问题

设置颜色为0xFF0051E6,画出来颜色不对,实验过红黄蓝等其它颜色还是正常的。从api10到现在最新的,一直都有这个问题。

https://gitee.com/harmonyos/samples/tree/master/HarmonyOS_NEXT/Native/NdkOpenGL

这个Sample里面我尝试修改了一下颜色,也是一样的结果。

在tetrahedron.cpp里面修改

/* 创建顶点颜色数组colorData */
/atic float g_colorData[] = {
// 1, 0, 0, 1, 0, 0, 1, 0, 0, /* 红色——面1 */
// 1, 0, 0, 1, 0, 0, 1, 0, 0, /* 红色——面2 */
// 1, 0, 0, 1, 0, 0, 1, 0, 0, /* 红色——面3 */
// 1, 0, 0, 1, 0, 0, 1, 0, 0 /* 红色——面4 */
//};

static float g_colorData[] = {
  0.9f, 0.3f, 0, 0.9f, 0.3f, 0, 0.9f, 0.3f, 0,
  0.9f, 0.3f, 0, 0.9f, 0.3f, 0, 0.9f, 0.3f, 0,
  0.9f, 0.3f, 0, 0.9f, 0.3f, 0, 0.9f, 0.3f, 0,
  0.9f, 0.3f, 0, 0.9f, 0.3f, 0, 0.9f, 0.3f, 0
};
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
HarmonyOS
2024-12-27 16:56:02
1025浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
Excelsior_abit

根据描述0xFF0051E6对应的是下面的值:

static float g_colorData[] = {
  0x00 / 255.0f, 0x51 / 255.0f, 0xe6 / 255.0f, 0x00 / 255.0f, 0x51 / 255.0f, 0xe6 / 255.0f, 0x00 / 255.0f, 0x51 / 255.0f, 0xe6 / 255.0f,
  0x00 / 255.0f, 0x51 / 255.0f, 0xe6 / 255.0f, 0x00 / 255.0f, 0x51 / 255.0f, 0xe6 / 255.0f, 0x00 / 255.0f, 0x51 / 255.0f, 0xe6 / 255.0f,
  0x00 / 255.0f, 0x51 / 255.0f, 0xe6 / 255.0f, 0x00 / 255.0f, 0x51 / 255.0f, 0xe6 / 255.0f, 0x00 / 255.0f, 0x51 / 255.0f, 0xe6 / 255.0f,
  0x00 / 255.0f, 0x51 / 255.0f, 0xe6 / 255.0f, 0x00 / 255.0f, 0x51 / 255.0f, 0xe6 / 255.0f, 0x00 / 255.0f, 0x51 / 255.0f, 0xe6 / 255.0f,
};
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

绘制出来是一个蓝色的立体三角形

此示例中为了实现3D图形的效果为其增加了光照等效果,会对实际色值进行一些处理,因此展示出来的色值与设置的色值不是完全一致。

如需测试色值展示可以使用2D图形示例:

https://gitee.com/openharmony/codelabs/tree/master/NativeAPI/XComponent

分享
微博
QQ
微信
回复
2024-12-27 18:45:34


相关问题
使用Native、XComponent和EGL绘制图形
1800浏览 • 1回复 待解决
HarmonyOS Canvas中关于绘制图问题
1024浏览 • 1回复 待解决
画布上绘制图片如何实现?
826浏览 • 1回复 待解决
XComponent、openGL实现3D图形绘制
3068浏览 • 1回复 待解决
XComponent使用OpenGl ES
2315浏览 • 1回复 待解决
HarmonyOS OPENGL ES外部纹理使用
993浏览 • 1回复 待解决
HarmonyOS OpenGL 绘制的相关资料
936浏览 • 1回复 待解决
HarmonyOS opengl怎么绘制中英文
507浏览 • 1回复 待解决
使用Drawing实现图形绘制与显示
1776浏览 • 1回复 待解决