feat():initial version

This commit is contained in:
2026-04-17 18:22:45 +08:00
commit ebc372aa44
2824 changed files with 445824 additions and 0 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,79 @@
src/InsRender/Render.o: src/InsRender/Render.c \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/stdio.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/features.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/sys/cdefs.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/wordsize.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/gnu/stubs.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../lib/gcc/arm-fsl-linux-gnueabi/4.6.2/include/stddef.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/types.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/typesizes.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/libio.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/_G_config.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/wchar.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../lib/gcc/arm-fsl-linux-gnueabi/4.6.2/include/stdarg.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/stdio_lim.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/sys_errlist.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/stdio.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/stdlib.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/waitflags.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/waitstatus.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/endian.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/endian.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/byteswap.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/sys/types.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/time.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/sys/select.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/select.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/sigset.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/time.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/sys/sysmacros.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/pthreadtypes.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/alloca.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/math.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/huge_val.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/huge_valf.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/huge_vall.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/inf.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/nan.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/mathdef.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/mathcalls.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/mathinline.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/string.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/xlocale.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/string.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/string2.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/sys/time.h \
include/lib/InsGL.h include/BaseTypes.h include/lib/InsFont.h \
include/lib/InsMatrix.h include/InsCfg.h \
/home/lst/workspace/rootfs//usr/include/GLES2/gl2.h \
/home/lst/workspace/rootfs//usr/include/GLES2/gl2platform.h \
/home/lst/workspace/rootfs//usr/include/KHR/khrplatform.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../lib/gcc/arm-fsl-linux-gnueabi/4.6.2/include/stdint.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/stdint.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/wchar.h \
/home/lst/workspace/rootfs//usr/include/GLES2/gl2rename.h \
/home/lst/workspace/rootfs//usr/include/GLES2/gl2ext.h \
include/InsTask/DisplayRender.h include/InsTask.h \
include/Protocol/MainBoard_IIC_App.h include/Protocol/MainBoard_IIC.h \
include/Protocol/Cdu_TCP_App.h include/Protocol/Cdu_TCP.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/sys/socket.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/sys/uio.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/uio.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/socket.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/sockaddr.h \
/home/lst/workspace/rootfs//usr/src/linux/include/asm/socket.h \
/home/lst/workspace/rootfs//usr/src/linux/include/asm/sockios.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/arpa/inet.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/netinet/in.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/in.h \
include/InsTask/ResourceLoader.h include/InsDbg.h \
src/InsRender/RenderUtils.h src/InsRender/Res_Font.h \
src/InsRender/Res_Shader.h src/InsRender/Res_Png.h include/lib/InsPng.h \
src/InsRender/Res_Tga.h src/InsRender/Res_BmpPool.h \
src/InsRender/Res_TxtBasic.h src/InsRender/Res_TxtHintAlarm.h \
src/InsRender/Res_Model.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/unistd.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/posix_opt.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/environments.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/confname.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/getopt.h

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,53 @@
src/InsRender/RenderUtils.o: src/InsRender/RenderUtils.c \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/math.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/features.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/sys/cdefs.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/wordsize.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/gnu/stubs.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/huge_val.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/huge_valf.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/huge_vall.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/inf.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/nan.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/mathdef.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/mathcalls.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/mathinline.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/stdio.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../lib/gcc/arm-fsl-linux-gnueabi/4.6.2/include/stddef.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/types.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/typesizes.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/libio.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/_G_config.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/wchar.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../lib/gcc/arm-fsl-linux-gnueabi/4.6.2/include/stdarg.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/stdio_lim.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/sys_errlist.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/stdio.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/stdlib.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/waitflags.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/waitstatus.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/endian.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/endian.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/byteswap.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/sys/types.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/time.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/sys/select.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/select.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/sigset.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/time.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/sys/sysmacros.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/pthreadtypes.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/alloca.h \
src/InsRender/RenderUtils.h include/InsCfg.h include/BaseTypes.h \
/home/lst/workspace/rootfs//usr/include/GLES2/gl2.h \
/home/lst/workspace/rootfs//usr/include/GLES2/gl2platform.h \
/home/lst/workspace/rootfs//usr/include/KHR/khrplatform.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../lib/gcc/arm-fsl-linux-gnueabi/4.6.2/include/stdint.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/stdint.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/bits/wchar.h \
/home/lst/workspace/rootfs//usr/include/GLES2/gl2rename.h \
/home/lst/workspace/rootfs//usr/include/GLES2/gl2ext.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/sys/time.h \
include/lib/InsMatrix.h \
/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../arm-fsl-linux-gnueabi/multi-libs/usr/include/xlocale.h \
include/InsDbg.h

View File

@@ -0,0 +1,324 @@
#ifndef RENDERUTILS_H_INCLUDED
#define RENDERUTILS_H_INCLUDED
#include <InsCfg.h>
#include <BaseTypes.h>
#ifdef COMPILE_IN_WINDOWS
#include <windows.h>
#define GLEW_STATIC
#include <GL/glew.h>
#else
#include <GLES2/gl2.h>
#include <GLES2/gl2ext.h>
#ifndef GL_CLAMP_TO_BORDER
#define GL_CLAMP_TO_BORDER GL_CLAMP_TO_BORDER_VIV
#endif // GL_CLAMP_TO_BORDER
#include <sys/time.h>
#endif // COMPILE_IN_WINDOWS
#ifndef Align_Default
#define Align_Left_H 0x01
#define Align_Right_H 0x02
#define Align_Center_H 0x03
#define Align_Top_V 0x04
#define Align_Bottom_V 0x08
#define Align_Center_V 0x0C
#define Align_Default ((Align_Center_H)|(Align_Center_V))
#endif
#define VBO_NOT_NOR_AND_TXC 0x0
#define VBO_HAVA_NORMALS 0x1
#define VBO_HAVA_TEXTCOORDS 0x2
#define SetArray4f(arr, f0, f1, f2, f3) do{ \
(arr)[0] = (f0); \
(arr)[1] = (f1); \
(arr)[2] = (f2); \
(arr)[3] = (f3);}while(0)
#define CopyArray4f(arrDes, arrSrc) do{ \
(arrDes)[0] = (arrSrc)[0]; \
(arrDes)[1] = (arrSrc)[1]; \
(arrDes)[2] = (arrSrc)[2]; \
(arrDes)[3] = (arrSrc)[3];}while(0)
#define SetArray3f(arr, f0, f1, f2) do{ \
(arr)[0] = (f0); \
(arr)[1] = (f1); \
(arr)[2] = (f2);}while(0)
#define CopyArray3f(arrDes, arrSrc) do{ \
(arrDes)[0] = (arrSrc)[0]; \
(arrDes)[1] = (arrSrc)[1]; \
(arrDes)[2] = (arrSrc)[2];}while(0)
#define SetArray2f(arr, f0, f1) do{ \
(arr)[0] = (f0); \
(arr)[1] = (f1);}while(0)
#ifndef COMPILE_IN_WINDOWS
void PrintCurrentTimeMs();
#else
#define PrintCurrentTimeMs()
#endif // COMPILE_IN_WINDOWS
/**
* 加载Tga文件
* @fileName [in]文件路径名
* @image [out]图像信息
* 返回加载结果: 加载成功 INS_TRUE, 加载失败 INS_FALSE
*/
Int08 LoadTga
(
const char *fileName,
Image *image
);
Int08 LoadVbo
(
Model3DVbo *model,
const char *vbofile
);
/**
* 加载shader程序对
* @szVtxProg [in]顶点着色器代码文件路径
* @szFrgProg [in]片段着色器代码文件路径
* 返回加载结果: 加载成功 shader ID, 加载失败 INS_INVALID_RES_ID
*/
GLuint LoadShaderPair
(
const char *szVtxProg,
const char *szFrgProg
);
/**
* 设置透视投影参数
* @fovy [in]视角(夹角角度)
* @dspWidth [in]显示区域宽度
* @dspHigh [in]显示区域高度
* @zNear [in]近截取深度(正值)
* @zFar [in]远截取深度(正值)
* 返回设置结果: 参数设置有效 INS_TRUE, 参数设置无效 INS_FALSE
*/
Bool SetPerspectiveParameters
(
GLfloat fovy,
GLint dspWidth,
GLint dspHigh,
GLfloat zNear,
GLfloat zFar
);
void CollectMergeRect
(
Recti *result,
const Recti *src0,
const Recti *src1
);
/**
* 获取透视投影参数
* @fovy [out]视角(夹角角度)
* @dspWidth [out]显示区域宽度
* @dspHigh [out]显示区域高度
* @zNear [out]近截取深度(正值)
* @zFar [out]远截取深度(正值)
* 返回无
*/
void GetPerspectiveParameters
(
GLfloat *fovy,
GLint *dspWidth,
GLint *dspHigh,
GLfloat *zNear,
GLfloat *zFar
);
/**
* 计算并取得透视投影矩阵
* @mat4x4 [out]透视投影矩阵
* 返回无
*/
void CalcPerspectiveMatrix
(
GLfloat* mat4x4
);
#define ScalePoint(pDes, pSrc, pCent, xScl, yScl, zScl) do{\
(pDes)[0] = (pSrc)[0] - (pCent)[0];\
(pDes)[1] = (pSrc)[1] - (pCent)[1];\
(pDes)[2] = (pSrc)[2] - (pCent)[2];\
(pDes)[0] *= xScl;\
(pDes)[1] *= yScl;\
(pDes)[2] *= zScl;\
(pDes)[0] += (pCent)[0];\
(pDes)[1] += (pCent)[1];\
(pDes)[2] += (pCent)[2];\
}while(0)
#define ScalePointXY(pDes, pSrc, pCent, xScl, yScl) ScalePoint(pDes, pSrc, pCent, xScl, yScl, 1.0f)
#define ScalePointX(pDes, pSrc, pCent, xScl) ScalePoint(pDes, pSrc, pCent, xScl, 1.0f, 1.0f)
#define ScalePointY(pDes, pSrc, pCent, yScl) ScalePoint(pDes, pSrc, pCent, 1.0f, yScl, 1.0f)
void CalcClipPoints
(
GLfloat zTrans,
Vec2i *pntPos_i,
Vec2f *pntPos_f,
Int32 pntNum
);
void CalcClipFltPoints
(
GLfloat zTrans,
Vec2f *pntPos_fi,
Vec2f *pntPos_fo,
Int32 pntNum
);
void DrawGlClrRect
(
GLfloat zTrans,
Recti *rect,
GLint hVtx,
GLint hClr,
GLfloat *clr
);
void DrawGlClrTriangleStrip
(
GLfloat zTrans,
Vec2i *quadVtx,
GLint vtxnum,
GLint hVtx,
GLint hClr,
GLfloat *vtx,
GLfloat *clr
);
/**
* 绘制图片(矩形)
* @zTrans Z depth
* @rect 图片矩形信息,(x, y, w, h: 左上角定位xy, 尺寸wh)
* @hVtx shader handle vertex
* @hTxc shader handle texcoord
@ @txc 纹理坐标, Triangle Fans 顺序(左下, 右下, 右上, 左上)
@ @tex 纹理ID
*/
void DrawGlPicRect
(
GLfloat zTrans,
Recti *rect,
GLint hVtx,
GLint hTxc,
GLfloat *txc,
GLuint tex
);
/**
* 绘制图片(矩形)
* @zTrans Z depth
* @rect 图片矩形信息,(x, y, w, h: 左上角定位xy, 尺寸wh)
* @hVtx shader handle vertex
* @hTxc shader handle texcoord
@ @txc 纹理坐标, Triangle Fans 顺序(左下, 右下, 右上, 左上)
@ @tex 纹理ID
*/
void DrawGlHorRollPicRect
(
GLfloat zTrans,
Recti *rect,
GLint hVtx,
GLint hTxc,
GLint hAlp,
GLint hideWidth,
Recti *img,
GLuint tex
);
/**
* 绘制图片(矩形)
* @zTrans Z depth
* @rect 图片矩形信息,(x, y, w, h: 左上角定位xy, 尺寸wh)
* @hVtx shader handle vertex
* @hTxc shader handle texcoord
@ @txc 纹理坐标, Triangle Fans 顺序(左下, 右下, 右上, 左上)
@ @tex 纹理ID
*/
void DrawRotzGlPicRect
(
GLfloat zTrans,
Recti *rect,
GLint hVtx,
GLint hTxc,
GLint centX,
GLint centY,
GLfloat degree,
GLfloat *txc,
GLuint tex
);
Bool RegisterFontParameters
(
GLint styleId,
GLuint texture,
GLfloat *texcoord,
GLfloat *widthRate,
GLint glyphNum,
GLint invalidIdx
);
GLint DrawGlHorTextSingleLine
(
GLfloat zTrans,
GLint lefTopX,
GLint lefTopY,
GLint glyphW,
GLint glyphH,
GLint glyphGap,
GLuint style,
const UInt32 *txtIdx,
GLint txtLen,
GLint hVtx,
GLint hTxc,
GLint layout,
GLint *dspLen
);
GLint DrawGlHorTextMultiLine
(
GLfloat zTrans,
GLint lefTopX,
GLint lefTopY,
GLint glyphW,
GLint glyphH,
GLint glyphGap,
GLint lineGap,
GLint rightX,
GLuint style,
const UInt32 *txtIdx,
GLint txtLen,
GLint hVtx,
GLint hTxc
);
void ConvUtf8ToUcs
(
UInt32 *ucs,
const Int08 *utf8,
Int32 nUcs
);
#endif // RENDERUTILS_H_INCLUDED

Binary file not shown.

View File

@@ -0,0 +1,75 @@
#ifndef RES_BMPPOOL_H_INCLUDED
#define RES_BMPPOOL_H_INCLUDED
#define BMP_POOL_SIZE 100
static UInt08 *bmpPool[BMP_POOL_SIZE];
static GLuint texPool[BMP_POOL_SIZE];
static void Once_InitBmpPoolInfo()
{
static Bool flag = INS_FALSE;
if(flag == INS_TRUE)return;
flag = INS_TRUE;
Int32 i;
for(i = 0; i < BMP_POOL_SIZE; i++)
{
texPool[i] = INS_INVALID_RES_ID;
bmpPool[i] = NULL;
}
}
static Int32 GrabAvailableBmpPoolIdx()
{
Int32 i;
for(i = 0; i < BMP_POOL_SIZE; i++)
{
if(bmpPool[i] == NULL)
{
bmpPool[i] = (UInt08*)INS_INVALID_RES_ID;
texPool[i] = INS_INVALID_RES_ID;
return i;
}
}
return INS_INVALID_RES_ID;
}
static void DropBmpPool(Int32 idx)
{
if(idx < 0 || idx >= BMP_POOL_SIZE)return;
if(bmpPool[idx] == (UInt08*)INS_INVALID_RES_ID)
{
bmpPool[idx] = NULL;
}
else if(bmpPool[idx] != NULL)
{
free(bmpPool[idx]);
bmpPool[idx] = NULL;
}
if(texPool[idx] != INS_INVALID_RES_ID)
{
glDeleteTextures(1, &texPool[idx]);
texPool[idx] = INS_INVALID_RES_ID;
}
}
static void DestroyBmpPoolResouces()
{
Int32 i;
for(i = 0; i < BMP_POOL_SIZE; i++)
{
if(bmpPool[i] != NULL
&& bmpPool[i] != (UInt08*)INS_INVALID_RES_ID)
{
free(bmpPool[i]);
bmpPool[i] = NULL;
}
if(texPool[i] != INS_INVALID_RES_ID)
{
glDeleteTextures(1, &texPool[i]);
}
}
}
#endif // RES_BMPPOOL_H_INCLUDED

View File

@@ -0,0 +1,162 @@
#ifndef RES_DDS_H_INCLUDED
#define RES_DDS_H_INCLUDED
#include <BaseTypes.h>
#include <lib/InsGL.h>
#include "RenderUtils.h"
enum
{
Dds_Unload = 0,
Dds_Loaded,
Dds_TexGen,
Dds_LoadFail,
};
static const char *ddsFilePath[] =
{
// "./Res/image/logo.tga",
"./Res/image/ui3_basic_bg_backing.dds",
"./Res/image/ui3_basic_bg_parking.dds",
"./Res/image/ui3_basic_bg_backing_night.dds",
"./Res/image/ui3_basic_bg_parking_night.dds",
};
static const Vec2i ddsLtp[] =
{
// {531,312},//logo
{0,0},//ui3_basic_bg_backing
{0,0},//ui3_basic_bg_parking
{0,0},//ui3_basic_bg_backing_night
{0,0},//ui3_basic_bg_parking_night
};
enum
{
// TGA_logo,
DDS_ui3_basic_bg_backing,
DDS_ui3_basic_bg_parking,
DDS_ui3_basic_bg_backing_night,
DDS_ui3_basic_bg_parking_night,
DDS_NUM
};
static UInt08 ddsStatus[DDS_NUM];
static Image ddsImg[DDS_NUM];
static void Once_InitDdsInfo()
{
static Bool flag = INS_FALSE;
if(flag == INS_TRUE)return;
flag = INS_TRUE;
Int32 i;
for(i = 0; i < TGA_NUM; i++)
{
ddsImg[i].ltx = ddsLtp[i].x;
ddsImg[i].lty = ddsLtp[i].y;
ddsImg[i].dat = NULL;
ddsImg[i].tex = INS_INVALID_RES_ID;
ddsImg[i].w = 0;
ddsImg[i].h = 0;
ddsStatus[i] = Tga_Unload;
}
}
static void Once_LoadDdsData(Int32 id)
{
if(id < 0 || id >= DDS_NUM || ddsStatus[id] != Dds_Unload)return;
if(LoadDds(ddsFilePath[id], &ddsImg[id]) != INS_TRUE)
{
printf("load dds file fail[%s]\n", ddsFilePath[id]);
ddsStatus[id] = Dds_LoadFail;
return;
}
// tgaImg[id].ltx = tgaLtp[id].x;
// tgaImg[id].lty = tgaLtp[id].y;
// printf("Image ltx:%d, lty:%d w:%d, h:%d, fmt:0x%x[%s]\n",
// tgaImg[id].ltx, tgaImg[id].lty,
// tgaImg[id].w, tgaImg[id].h, tgaImg[id].fmt, tgaFilePath[id]);
ddsStatus[id] = Dds_Loaded;
// PrintCurrentTimeMs();
}
static void Once_GenDdsTexture(Int32 id, GLint interalformat, GLenum format)
{
GLsizei imageSize;
if(id < 0 || id >= DDS_NUM || ddsStatus[id] != Dds_Loaded)return;// || tgaImg[id].tex[id] != 0
ddsStatus[id] = Dds_TexGen;
//printf("before Once_GenTgaTexture GL_ERR_CODE[0x%x]\n", glGetError());
glGenTextures(1, &(ddsImg[id].tex));
//printf("glGenTextures GL_ERR_CODE[0x%x]\n", glGetError());
glBindTexture(GL_TEXTURE_2D, ddsImg[id].tex);
//printf("glBindTexture GL_ERR_CODE[0x%x]\n", glGetError());
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
//printf("glTexParameteri GL_ERR_CODE[0x%x]\n", glGetError());
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
//printf("glTexParameteri GL_ERR_CODE[0x%x]\n", glGetError());
//glTexImage2D(GL_TEXTURE_2D, 0, interalformat, tgaImg[id].w, tgaImg[id].h, 0, format, GL_UNSIGNED_BYTE, tgaImg[id].dat);
//printf("glTexImage2D GL_ERR_CODE[0x%x]\n", glGetError());
switch (interalformat)
{
case D3DFMT_DXT1:
imageSize = SIZE_OF_DXT1(ddsImg[id].w, ddsImg[id].h);
glCompressedTexImage2D(GL_TEXTURE_2D, 0, GL_COMPRESSED_RGB_S3TC_DXT1_EXT, ddsImg[id].w, ddsImg[id].h, 0, imageSize, ddsImg[id].dat);
break;
case D3DFMT_DXT3:
imageSize = SIZE_OF_DXT2(ddsImg[id].w, ddsImg[id].h);
glCompressedTexImage2D(GL_TEXTURE_2D, 0, GL_COMPRESSED_RGBA_S3TC_DXT3_EXT, ddsImg[id].w, ddsImg[id].h, 0, imageSize, ddsImg[id].dat);
break;
case D3DFMT_DXT5:
imageSize = SIZE_OF_DXT2(ddsImg[id].w, ddsImg[id].h);
glCompressedTexImage2D(GL_TEXTURE_2D, 0, GL_COMPRESSED_RGBA_S3TC_DXT5_EXT, ddsImg[id].w, ddsImg[id].h, 0, imageSize, ddsImg[id].dat);
break;
}
if(ddsImg[id].dat != NULL)
{
free(ddsImg[id].dat);
ddsImg[id].dat = NULL;
}
}
static void DestroyDdsResources(Int32 idRangeBegin, Int32 idRangeEnd)
{
Int32 i;
if(idRangeBegin < 0)
{
idRangeBegin = 0;
}
if(idRangeEnd >= DDS_NUM)
{
idRangeEnd = DDS_NUM-1;
}
for(i = idRangeBegin; i <= idRangeEnd; i++)
{
if(ddsImg[i].dat != NULL)
{
free(ddsImg[i].dat);
ddsImg[i].dat = NULL;
}
if(ddsImg[i].tex != INS_INVALID_RES_ID)
{
glDeleteTextures(1, &(ddsImg[i].tex));
ddsImg[i].tex = INS_INVALID_RES_ID;
}
ddsStatus[i] = Dds_Unload;
}
}
#endif // RES_DDS_H_INCLUDED

View File

@@ -0,0 +1,346 @@
#ifndef RES_FONT_H_INCLUDED
#define RES_FONT_H_INCLUDED
#include <BaseTypes.h>
#include <lib/InsGL.h>
#include <lib/InsFont.h>
#include "RenderUtils.h"
enum
{
Ftm_Unload = 0,
Ftm_Loaded,
Ftm_TexGen,
Ftm_LoadFail,
};
enum
{
Style_SiYuan_R = 0,
Style_SiYuan_M,
// Style_Number,
Style_NUM,
};
#if Style_NUM > MAX_FT_FACE_NUM
#error Style_NUM should not greater than MAX_FT_FACE_NUM
#endif // Style_NUM
static const char* fontFilePath[Style_NUM] =
{
// "./Res/font/SourceHanSansCN-Regular.otf",
// "./Res/font/SourceHanSansCN-Medium.otf",
"./Res/font/Xpeng-Regular.ttf",
"./Res/font/Xpeng-Medium.ttf",
// "./Res/font/xpnumber.ttf",
};
static const Int32 fontSize_SiYuan_R_70[] = {70, 120, 3}; /* glyph width, glyph high, glyph gap(horizontal) */
static const Int32 fontSize_SiYuan_R_30[] = {30, 48, 4}; /* glyph width, glyph high, glyph gap(horizontal) */
static const Int32 fontSize_SiYuan_R_28[] = {28, 42, 2}; /* glyph width, glyph high, glyph gap(horizontal) */
static const Int32 fontSize_SiYuan_R_27[] = {27, 45, 2}; /* glyph width, glyph high, glyph gap(horizontal) */
static const Int32 fontSize_SiYuan_R_26[] = {26, 39, 1}; /* glyph width, glyph high, glyph gap(horizontal) */
static const Int32 fontSize_SiYuan_R_26_3[] = {26, 39, 3}; /* glyph width, glyph high, glyph gap(horizontal) */
static const Int32 fontSize_SiYuan_R_26_2[] = {26, 39, 2}; /* glyph width, glyph high, glyph gap(horizontal) */
static const Int32 fontSize_SiYuan_R_24[] = {24, 36, 1}; /* glyph width, glyph high, glyph gap(horizontal) */
static const Int32 fontSize_SiYuan_M_60[] = {60, 90, 5}; /* glyph width, glyph high, glyph gap(horizontal) */
static const Int32 fontSize_SiYuan_M_48[] = {48, 75, 2}; /* glyph width, glyph high, glyph gap(horizontal) */
static const Int32 fontSize_SiYuan_M_46[] = {46, 75, 4}; /* glyph width, glyph high, glyph gap(horizontal) */
static const Int32 fontSize_SiYuan_M_30[] = {30, 48, 2}; /* glyph width, glyph high, glyph gap(horizontal) */
static const Int32 fontSize_SiYuan_M_28[] = {28, 42, 2}; /* glyph width, glyph high, glyph gap(horizontal) */
static const Int32 fontSize_SiYuan_M_28_1[] = {28, 50, 2}; /* glyph width, glyph high, glyph gap(horizontal) */
static const Int32 fontSize_SiYuan_M_26[] = {26, 39, 1}; /* glyph width, glyph high, glyph gap(horizontal) */
static const Int32* const fs_Trip_0 = fontSize_SiYuan_M_30;
static const Int32* const fs_Trip_1 = fontSize_SiYuan_R_27;
static const Int32* const fs_Time = fontSize_SiYuan_R_27;
static const Int32* const fs_Temperature = fontSize_SiYuan_R_27;
static const Int32* const fs_SpeedUnit = fontSize_SiYuan_R_28;
static const Int32* const fs_SpeedLimit = fontSize_SiYuan_R_26;
static const Int32* const fs_ChargeTips0 = fontSize_SiYuan_M_46;// fontSize_SiYuan_M_48;
static const Int32* const fs_RadarTips0 = fontSize_SiYuan_M_48;
static const Int32* const fs_RadarTips1 = fontSize_SiYuan_M_28_1;
static const Int32* const fs_HintInfo = fontSize_SiYuan_R_28;
static const Int32* const fs_AlarmInfoTxt = fontSize_SiYuan_R_28;
static const Int32* const fs_AlarmInfoConfirm = fontSize_SiYuan_M_28;
static const Int32* const fs_MdTripValue = fontSize_SiYuan_R_28;
static const Int32* const fs_MdEngCostAvgValue = fontSize_SiYuan_R_28;
static const Int32* const fs_MdStatusTitle = fontSize_SiYuan_R_30;
static const Int32* const fs_MdStatusPressure = fontSize_SiYuan_M_28;
static const Int32* const fs_MdStatusTemperature = fontSize_SiYuan_M_28;
static const Int32* const fs_MdWeatherStatus = fontSize_SiYuan_R_26_2;
static const Int32* const fs_MdWeatherTemp = fontSize_SiYuan_R_30;
static const Int32* const fs_MdPhoneAction = fontSize_SiYuan_M_30;
static const Int32* const fs_MdPhoneOper = fontSize_SiYuan_R_28;
static const Int32* const fs_XccSpeed = fontSize_SiYuan_M_28;
static const Int32* const fs_MenuValueSetTxt = fontSize_SiYuan_M_60;
static const Int32* const fs_MenuValueSetUnit = fontSize_SiYuan_M_26;
static const Int32* const fs_MenuTipsTxt = fontSize_SiYuan_R_26_2;
//static const Int32* const fs_facergnidentificationTipsTxt = fontSize_SiYuan_R_26;
static const Vec2i txtPos[] =
{
{1359, 662+5}, //CTP_Time
{1523, 662+5}, //CTP_Temperature
{923, 89}, //CTP_Speed_X 一位车速位置
{888, 89}, //CTP_Speed_XX 两位车速位置
{859, 89}, //CTP_Speed_XXX 三位车速位置
{960, 89}, //CTP_Speed_Invalid 无效车速位置
{926, 212}, //CTP_Speed_Unit
{850, 318}, //CTP_Speed_Limit
{960, 603}, //CTP_ChargingBat
{1004, 662+5}, //CTP_TripRange
{200, 201}, //CTP_ChargeStatus
{165, 315}, //CTP_ChargeTips0
{200, 320}, //CTP_ChargeTips1
{960, 326+10}, //CTP_HintInfo
{960, 573+10}, //CTP_AlarmInfoSimpleTxt
{960, 506+10}, //CTP_AlarmInfoDialogTxt
{960, 587}, //CTP_AlarmInfoDialogCfm
{601, 259}, //CTP_MdTripValue0
{601, 306}, //CTP_MdTripValue1
{508, 353}, //CTP_MdTripValue2
{601, 457}, //CTP_MdTripValue3
{603, 502}, //CTP_MdTripValue4
{401-5, 483-2}, //CTP_MdEngCostAvgValue
{423+10, 169+8}, //CTP_MdStatusTitle
{257+110-21, 300+5+2-49}, //CTP_MdStatusPressureLf
{612-66+21, 300+5+2-49}, //CTP_MdStatusPressureRf
{257+110-21, 490+8-2-36}, //CTP_MdStatusPressureLb
{612-66+21, 490+8-2-36}, //CTP_MdStatusPressureRb
{212+12-5+110+37-21, 348+5-49-15}, //CTP_MdStatusTempLf
{649-5+5-66-37+21, 348+5-49-15}, //CTP_MdStatusTempRf
{212+12-5+110+37-21, 538+5-36-15}, //CTP_MdStatusTempLb
{649-5+5-66-37+21, 538+5-36-15}, //CTP_MdStatusTempRb
{1533, 231}, //CTP_MdPhoneCti
{1400, 229}, //CTP_MdPhoneListCtiName1
{1400, 265}, //CTP_MdPhoneListCtiNum1
{1400, 332}, //CTP_MdPhoneListCtiName2
{1400, 370}, //CTP_MdPhoneListCtiNum2
{1400, 441}, //CTP_MdPhoneListCtiName3
{1400, 476}, //CTP_MdPhoneListCtiNum3
{1533, 280}, //CTP_MdPhoneAction
{1516, 366+5}, //CTP_MdPhoneOper0
{1516, 434+5}, //CTP_MdPhoneOper1
{1516, 493+5}, //CTP_MdPhoneOper2
{1518-8, 343}, //CTP_MenuValueSetTxt
{792+40-10, 163+75+3-60}, //CTP_XccSpeed
{400,200}, //CTP_RadarFront
{400,450}, //CTP_RadarBack
{1383+5, 560-3}, //CTP_Facergnidentification_1
{1383-10, 560-1}, //CTP_Facergnfront
{1383+35, 560-3}, //CTP_Facergnleft
{1383+35, 560-3}, //CTP_Facergnright
// {1383, 560-3}, //CTP_Facergnup
// {1383, 560-3}, //CTP_Facergndown
{1385, 560}, //CTP_Facergncover
{1390+10, 560-36}, //CTP_Facergnsuccess_1
{1390+40, 560-10}, //CTP_Facergnidentification_2
{1390+40, 563-79}, //CTP_Facergnsuccess_2
};
enum
{
CTP_Time,
CTP_Temperature,
CTP_Speed_X,
CTP_Speed_XX,
CTP_Speed_XXX,
CTP_Speed_Invalid,
CTP_Speed_Unit,
CTP_Speed_Limit,
CTP_ChargingBat,
CTP_TripRange,
CTP_ChargeStatus,
CTP_ChargeTips0,
CTP_ChargeTips1,
CTP_HintInfo,
CTP_AlarmInfoSimpleTxt,
CTP_AlarmInfoDialogTxt,
CTP_AlarmInfoDialogCfm,
CTP_MdTripValue0,
CTP_MdTripValue1,
CTP_MdTripValue2,
CTP_MdTripValue3,
CTP_MdTripValue4,
CTP_MdEngCostAvgValue,
CTP_MdStatusTitle,
CTP_MdStatusPressureLf,
CTP_MdStatusPressureRf,
CTP_MdStatusPressureLb,
CTP_MdStatusPressureRb,
CTP_MdStatusTempLf,
CTP_MdStatusTempRf,
CTP_MdStatusTempLb,
CTP_MdStatusTempRb,
CTP_MdPhoneCti,
CTP_MdPhoneListCtiName1,
CTP_MdPhoneListCtiNum1,
CTP_MdPhoneListCtiName2,
CTP_MdPhoneListCtiNum2,
CTP_MdPhoneListCtiName3,
CTP_MdPhoneListCtiNum3,
CTP_MdPhoneAction,
CTP_MdPhoneOper0,
CTP_MdPhoneOper1,
CTP_MdPhoneOper2,
CTP_MenuValueSetTxt,
CTP_XccSpeed,
CTP_RadarFront,
CTP_RadarBack,
CTP_Facergnidentification_1,
CTP_Facergnfront,
CTP_Facergnleft,
CTP_Facergnright,
// CTP_Facergnup,
// CTP_Facergndown,
CTP_Facergncover,
CTP_Facergnsuccess_1,
CTP_Facergnidentification_2,
CTP_Facergnsuccess_2,
};
static Int32 fontLibId[Style_NUM] = {INS_INVALID_RES_ID,INS_INVALID_RES_ID,INS_INVALID_RES_ID};
static Flt32* fontWidthRate[Style_NUM] = {NULL};
static Flt32* fontTexcoord[Style_NUM] = {NULL};
static UInt32 fontTexture[Style_NUM] = {0};
static UInt08 *fontMapBmpData0[Style_NUM] = {NULL};
static UInt08 *fontMapBmpData1[Style_NUM] = {NULL};
static UInt08 *fontMapBmpData2[Style_NUM] = {NULL};
static UInt08 fontMapStatus[Style_NUM];
static Int32 fontTexHigh[Style_NUM];
#define FONT_TEXTURE_WIDTH 1024
#define FONT_GLYPH_WIDTH 32
static void Once_InitFontBase()
{
static Bool flag = INS_FALSE;
if(flag == INS_TRUE)return;
flag = INS_TRUE;
if(InitFtLibs(fontFilePath, fontLibId, Style_NUM) == INS_FALSE)
{
printf("init font libs failure[%s]\n", fontFilePath);
}
Int32 i;
for(i = 0; i < Style_NUM; i++)
{
if(fontLibId[i] == INS_INVALID_RES_ID)
{
fontMapStatus[i] = Ftm_LoadFail;
}
else
{
fontMapStatus[i] = Ftm_Unload;
fontTexHigh[i] = 0;
}
fontMapBmpData0[i] = NULL;
// fontMapBmpData1[i] = NULL;
// fontMapBmpData2[i] = NULL;
}
// printf("init font libs success\n");
}
static void Once_LoadFontMapBmpData(const Int32 style, const Int32 codeNum, const UInt32 *code)
{
if(style < 0 || style > Style_NUM || fontMapStatus[style] != Ftm_Unload)return;
// PrintCurrentTimeMs();
//GenFontBmps(fontLibId[style], FONT_GLYPH_WIDTH/4, FONT_TEXTURE_WIDTH/4, codeNum, code, &fontTexHigh[style], &fontMapBmpData2[style], NULL, NULL, INS_TRUE);
//GenFontBmps(fontLibId[style], FONT_GLYPH_WIDTH/2, FONT_TEXTURE_WIDTH/2, codeNum, code, &fontTexHigh[style], &fontMapBmpData1[style], NULL, NULL, INS_TRUE);
if(GenFontBmps(fontLibId[style], FONT_GLYPH_WIDTH, FONT_TEXTURE_WIDTH, codeNum, code, &fontTexHigh[style], &fontMapBmpData0[style], &fontWidthRate[style], &fontTexcoord[style], INS_TRUE) != INS_TRUE)
{
fontMapStatus[style] = Ftm_LoadFail;
printf("generate font texture bitmap failure\n");
return;
}
fontMapStatus[style] = Ftm_Loaded;
printf("font texture[%d] width:%d, high:%d\n", style, FONT_TEXTURE_WIDTH, fontTexHigh[style]);
// PrintCurrentTimeMs();
}
static void Once_GenFontMapTexture(const Int32 style, const Int32 codeNum, const Int32 codeIdxForInvalid)
{
if(style < 0 || style > Style_NUM || fontMapStatus[style] != Ftm_Loaded)return;
// PrintCurrentTimeMs();
fontMapStatus[style] = Ftm_TexGen;
//printf("bedore Once_GenFontMapTexture GL_ERR_CODE[0x%x]\n", glGetError());
glGenTextures(1, &fontTexture[style]);
//printf("glGenTextures GL_ERR_CODE[0x%x]\n", glGetError());
printf("fontTexture_Style_%d[%d]\n", style, fontTexture[style]);
glBindTexture(GL_TEXTURE_2D, fontTexture[style]);
//printf("glBindTexture GL_ERR_CODE[0x%x]\n", glGetError());
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
glTexImage2D(GL_TEXTURE_2D, 0, GL_ALPHA, FONT_TEXTURE_WIDTH, fontTexHigh[style], 0, GL_ALPHA, GL_UNSIGNED_BYTE, fontMapBmpData0[style]);
//glTexImage2D(GL_TEXTURE_2D, 1, GL_RED, FONT_TEXTURE_WIDTH/2, fontTexHigh[style]/2, 0, GL_RED, GL_UNSIGNED_BYTE, fontMapBmpData1[style]);
//glTexImage2D(GL_TEXTURE_2D, 2, GL_RED, FONT_TEXTURE_WIDTH/4, fontTexHigh[style]/4, 0, GL_RED, GL_UNSIGNED_BYTE, fontMapBmpData2[style]);
//printf("glTexImage2D GL_ERR_CODE[0x%x]\n", glGetError());
//glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_BASE_LEVEL, 0);
//glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, 2);
glGenerateMipmap(GL_TEXTURE_2D);
if(fontMapBmpData0[style] != NULL)
{
free(fontMapBmpData0[style]);
fontMapBmpData0[style] = NULL;
}
// if(fontMapBmpData1[style] != NULL)
// {
// free(fontMapBmpData1[style]);
// fontMapBmpData1[style] = NULL;
// }
// if(fontMapBmpData2[style] != NULL)
// {
// free(fontMapBmpData2[style]);
// fontMapBmpData2[style] = NULL;
// }
//printf("glGenerateMipmap GL_ERR_CODE[0x%x]\n", glGetError());
RegisterFontParameters(style, fontTexture[style], fontTexcoord[style], fontWidthRate[style], codeNum, codeIdxForInvalid);
// PrintCurrentTimeMs();
}
static void DestroyFontResouces()
{
Int32 i;
for(i = 0; i < Style_NUM; i++)
{
if(fontWidthRate[i] != NULL)
{
free(fontWidthRate[i]);
fontWidthRate[i] = NULL;
}
if(fontTexcoord[i] != NULL)
{
free(fontTexcoord[i]);
fontTexcoord[i] = NULL;
}
if(fontMapBmpData0[i] != NULL)
{
free(fontMapBmpData0[i]);
fontMapBmpData0[i] = NULL;
}
// if(fontMapBmpData1[i] != NULL)
// {
// free(fontMapBmpData1[i]);
// fontMapBmpData1[i] = NULL;
// }
// if(fontMapBmpData2[i] != NULL)
// {
// free(fontMapBmpData2[i]);
// fontMapBmpData2[i] = NULL;
// }
if(fontTexture[i] != INS_INVALID_RES_ID)
{
glDeleteTextures(1, &fontTexture[i]);
}
fontMapStatus[i] = Ftm_Unload;
}
}
#endif // RES_FONT_H_INCLUDED

View File

@@ -0,0 +1,218 @@
#ifndef RES_MODEL_H_INCLUDED
#define RES_MODEL_H_INCLUDED
#include <BaseTypes.h>
enum
{
Vbo_Unload = 0,
Vbo_Loaded,
Vbo_BufGen,
Vbo_LoadFail,
};
#define VBO_HDR_NONE 0
#define VBO_HDR_NORML 1
#define VBO_HDR_TEXC 2
#define VBO_HDR_NOR_TXC (VBO_HDR_NORML|VBO_HDR_TEXC)
static const char *vboFilePath[] =
{
// "./Res/model3d/CarTestPrd.vbo",
// "./Res/model3d/CarTestPrd.vbo",
// "./Res/model3d/CarTestPrd.vbo",
// "./Res/model3d/CarLargePrd.vbo",
// "./Res/model3d/CarMediumPrd.vbo",
// "./Res/model3d/CarSmallPrd.vbo",
// "./Res/model3d/TexCarLarge_rd0.vbo",
// "./Res/model3d/TexCarMedium.vbo",
// "./Res/model3d/TexCarSmall.vbo",
"./Res/model3d/truck_1.vbo",
"./Res/model3d/car_1.vbo",//car_1
"./Res/model3d/bicycle_1.vbo",
};
enum
{
VBO_CarLarge = 0,
VBO_CarMedium,
VBO_CarSmall,
VBO_NUM,
};
static GLfloat vboMaterialGray[] =
{
0.3f, 0.3f, 0.3f, 1.0f,
0.3f, 0.3f, 0.3f, 1.0f,
0.3f, 0.3f, 0.3f, 1.0f,
0.0f, 5.0f, 40.0f, 1.0f,
};
static GLfloat vboMaterialRed[] =
{
0.5f, 0.25f, 0.25f, 1.0f,
0.4f, 0.3f, 0.3f, 1.0f,
0.35f, 0.3f, 0.3f, 1.0f,
0.0f, 5.0f, 40.0f, 1.0f,
};
static GLfloat vboMaterialBlue[] =
{
0.1f, 0.2f, 0.45f, 1.0f,
0.1f, 0.2f, 0.45f, 1.0f,
0.1f, 0.2f, 0.45f, 1.0f,
0.0f, 5.0f, 40.0f, 1.0f,
};
static UInt08 vboStatus[VBO_NUM];
static Model3DVbo vboModel[VBO_NUM];
static const GLenum vboIdxType[5] =
{
GL_UNSIGNED_BYTE, /*-0-*/
GL_UNSIGNED_BYTE, /* 1 */
GL_UNSIGNED_SHORT, /* 2 */
GL_UNSIGNED_SHORT, /*-3-*/
GL_UNSIGNED_INT, /* 4 */
};
static void Once_InitVboModelInfo()
{
static Bool flag = INS_FALSE;
if(flag == INS_TRUE)return;
flag = INS_TRUE;
Int32 i;
for(i = 0; i < VBO_NUM; i++)
{
vboModel[i].hdr = VBO_NOT_NOR_AND_TXC;
vboModel[i].idx_type = 1;
vboModel[i].idx_num = 0;
vboModel[i].face_num = 0;
vboModel[i].vtxs = NULL;
vboModel[i].txcs = NULL;
vboModel[i].nors = NULL;
vboModel[i].idx = NULL;
vboModel[i].buf[0] = INS_INVALID_RES_ID;
vboModel[i].buf[1] = INS_INVALID_RES_ID;
vboModel[i].buf[2] = INS_INVALID_RES_ID;
vboModel[i].buf[3] = INS_INVALID_RES_ID;
vboStatus[i] = Vbo_Unload;
}
}
static void Once_LoadVboModelData(Int32 id)
{
if(id < 0 || id >= VBO_NUM || vboStatus[id] != Vbo_Unload)return;
PrintCurrentTimeMs();
printf("loading vbo file[%s]\n", vboFilePath[id]);
if(LoadVbo(&vboModel[id], vboFilePath[id]) != INS_TRUE)
{
printf("load vbo file fail[%s]\n", vboFilePath[id]);
vboStatus[id] = Vbo_LoadFail;
return;
}
vboStatus[id] = Vbo_Loaded;
PrintCurrentTimeMs();
}
enum{VBO_BUF_VTX = 0, VBO_BUF_TXC, VBO_BUF_NOR, VBO_BUF_IDX};
static void Once_GenVboBuffer(Int32 id)
{
if(vboModel[id].vtxs == NULL || (vboModel[id].txcs == NULL && vboModel[id].nors == NULL))return;
vboStatus[id] = Vbo_BufGen;
PrintCurrentTimeMs();
// printf("generating vbo buffer[%s]\n", vboFilePath[id]);
// printf("Once_GenVboBuffer GL_ERR_CODE[0x%x]\n", glGetError());
glGenBuffers(4, vboModel[id].buf);
// printf("glGenBuffers GL_ERR_CODE[0x%x]\n", glGetError());
glBindBuffer(GL_ARRAY_BUFFER, vboModel[id].buf[VBO_BUF_VTX]);
// printf("glBindBuffer vtx GL_ERR_CODE[0x%x]\n", glGetError());
glBufferData(GL_ARRAY_BUFFER, vboModel[id].idx_num*3*sizeof(Flt32), vboModel[id].vtxs, GL_STATIC_DRAW);
// printf("glBufferData vtx GL_ERR_CODE[0x%x]\n", glGetError());
if((vboModel[id].hdr & VBO_HAVA_TEXTCOORDS) && vboModel[id].txcs != NULL)
{
glBindBuffer(GL_ARRAY_BUFFER, vboModel[id].buf[VBO_BUF_TXC]);
// printf("glBindBuffer txc GL_ERR_CODE[0x%x]\n", glGetError());
glBufferData(GL_ARRAY_BUFFER, vboModel[id].idx_num*2*sizeof(Flt32), vboModel[id].txcs, GL_STATIC_DRAW);
// printf("glBufferData txc GL_ERR_CODE[0x%x]\n", glGetError());
}
if((vboModel[id].hdr & VBO_HAVA_NORMALS) && vboModel[id].nors != NULL)
{
glBindBuffer(GL_ARRAY_BUFFER, vboModel[id].buf[VBO_BUF_NOR]);
// printf("glBindBuffer nor GL_ERR_CODE[0x%x]\n", glGetError());
glBufferData(GL_ARRAY_BUFFER, vboModel[id].idx_num*3*sizeof(Flt32), vboModel[id].nors, GL_STATIC_DRAW);
// printf("glBufferData nor GL_ERR_CODE[0x%x]\n", glGetError());
}
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, vboModel[id].buf[VBO_BUF_IDX]);
// printf("glBindBuffer idx GL_ERR_CODE[0x%x]\n", glGetError());
switch(vboModel[id].idx_type)
{
case 4:
// *idx_type = GL_UNSIGNED_INT;
glBufferData(GL_ELEMENT_ARRAY_BUFFER, vboModel[id].face_num*3*sizeof(UInt32), vboModel[id].idx, GL_STATIC_DRAW);
// printf("glBufferData idx 4 GL_ERR_CODE[0x%x]\n", glGetError());
break;
case 2:
// *idx_type = GL_UNSIGNED_SHORT;
glBufferData(GL_ELEMENT_ARRAY_BUFFER, vboModel[id].face_num*3*sizeof(UInt16), vboModel[id].idx, GL_STATIC_DRAW);
// printf("glBufferData idx 2 GL_ERR_CODE[0x%x]\n", glGetError());
break;
default:
// *idx_type = GL_UNSIGNED_BYTE;
glBufferData(GL_ELEMENT_ARRAY_BUFFER, vboModel[id].face_num*3*sizeof(UInt08), vboModel[id].idx, GL_STATIC_DRAW);
// printf("glBufferData idx 1 GL_ERR_CODE[0x%x]\n", glGetError());
break;
}
PrintCurrentTimeMs();
}
static void DestroyVboResources()
{
Int32 i;
for(i = 0; i < VBO_NUM; i++)
{
if(vboModel[i].vtxs != NULL)
{
free(vboModel[i].vtxs);
}
if(vboModel[i].txcs != NULL)
{
free(vboModel[i].txcs);
}
if(vboModel[i].nors != NULL)
{
free(vboModel[i].nors);
}
if(vboModel[i].idx != NULL)
{
free(vboModel[i].idx);
}
if(vboModel[i].buf[VBO_BUF_VTX] != INS_INVALID_RES_ID)
{
glDeleteBuffers(1, &(vboModel[i].buf[VBO_BUF_VTX]));
vboModel[i].buf[VBO_BUF_VTX] = INS_INVALID_RES_ID;
}
if(vboModel[i].buf[VBO_BUF_TXC] != INS_INVALID_RES_ID)
{
glDeleteBuffers(1, &(vboModel[i].buf[VBO_BUF_TXC]));
vboModel[i].buf[VBO_BUF_TXC] = INS_INVALID_RES_ID;
}
if(vboModel[i].buf[VBO_BUF_NOR] != INS_INVALID_RES_ID)
{
glDeleteBuffers(1, &(vboModel[i].buf[VBO_BUF_NOR]));
vboModel[i].buf[VBO_BUF_NOR] = INS_INVALID_RES_ID;
}
if(vboModel[i].buf[VBO_BUF_IDX] != INS_INVALID_RES_ID)
{
glDeleteBuffers(1, &(vboModel[i].buf[VBO_BUF_IDX]));
vboModel[i].buf[VBO_BUF_IDX] = INS_INVALID_RES_ID;
}
vboStatus[i] = Vbo_Unload;
}
}
#endif // RES_MODEL_H_INCLUDED

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,328 @@
#ifndef RES_SHADER_H_INCLUDED
#define RES_SHADER_H_INCLUDED
#include <BaseTypes.h>
static GLfloat QuadTexCoords[] =
{
0.0f, 0.0f,
1.0f, 0.0f,
1.0f, 1.0f,
0.0f, 1.0f,
};
static GLfloat RotQuadTexCoords[] =
{
1.0f, 0.0f,
0.0f, 0.0f,
0.0f, 1.0f,
1.0f, 1.0f,
};
static GLfloat RevQuadTexCoords[] =
{
0.0f, 1.0f,
1.0f, 1.0f,
1.0f, 0.0f,
0.0f, 0.0f,
};
static GLfloat EnergyTexCoords[] =
{
0.0f, 0.0f,
0.0f, 1.0f,
1.0f, 1.0f,
1.0f, 0.0f,
};
enum
{
Prgm_Simple_Texture = 0,
Prgm_Simple_Font,
Prgm_AttrAlpha_Font,
Prgm_AttrAlpha_Texture,
Prgm_Mask_Texture,
Prgm_Complex_Texture,
Prgm_Simple_Color,
Prgm_Color_TexAlpha,
Prgm_Model_Ads,
Prgm_Num,
};
static UInt32 shader[Prgm_Num] =
{
INS_INVALID_RES_ID,
INS_INVALID_RES_ID,
INS_INVALID_RES_ID,
INS_INVALID_RES_ID,
INS_INVALID_RES_ID,
INS_INVALID_RES_ID,
INS_INVALID_RES_ID,
INS_INVALID_RES_ID,
INS_INVALID_RES_ID,
};
static const char *path_shader[Prgm_Num*2] =
{
"./Res/shader/prog_texture.vp",
"./Res/shader/prog_texture.fp",
"./Res/shader/prog_font.vp",
"./Res/shader/prog_font.fp",
"./Res/shader/prog_font_attr_alpha.vp",
"./Res/shader/prog_font_attr_alpha.fp",
"./Res/shader/prog_texture_attr_alpha.vp",
"./Res/shader/prog_texture_attr_alpha.fp",
"./Res/shader/prog_texture_with_mask.vp",
"./Res/shader/prog_texture_with_mask.fp",
"./Res/shader/prog_texture_complex.vp",
"./Res/shader/prog_texture_complex.fp",
"./Res/shader/prog_color.vp",
"./Res/shader/prog_color.fp",
"./Res/shader/prog_color_with_tex_alpha.vp",
"./Res/shader/prog_color_with_tex_alpha.fp",
"./Res/shader/prog_model_ads.vp",
"./Res/shader/prog_model_ads.fp",
};
static GLint Prgm_Simple_Texture_ATTR_Vtx = INS_INVALID_RES_ID;
static GLint Prgm_Simple_Texture_ATTR_Txc = INS_INVALID_RES_ID;
static GLint Prgm_Simple_Texture_UNFM_Mdv = INS_INVALID_RES_ID;
static GLint Prgm_Simple_Texture_UNFM_Prj = INS_INVALID_RES_ID;
static GLint Prgm_Simple_Texture_UNFM_Tex = INS_INVALID_RES_ID;
static GLint Prgm_Simple_Texture_UNFM_Alp = INS_INVALID_RES_ID;
static GLint Prgm_Simple_Font_ATTR_Vtx = INS_INVALID_RES_ID;
static GLint Prgm_Simple_Font_ATTR_Txc = INS_INVALID_RES_ID;
static GLint Prgm_Simple_Font_UNFM_Mdv = INS_INVALID_RES_ID;
static GLint Prgm_Simple_Font_UNFM_Prj = INS_INVALID_RES_ID;
static GLint Prgm_Simple_Font_UNFM_Tex = INS_INVALID_RES_ID;
static GLint Prgm_Simple_Font_UNFM_Clr = INS_INVALID_RES_ID;
static GLint Prgm_Simple_Font_UNFM_Alp = INS_INVALID_RES_ID;
static GLint Prgm_AttrAlpha_Font_ATTR_Vtx = INS_INVALID_RES_ID;
static GLint Prgm_AttrAlpha_Font_ATTR_Txc = INS_INVALID_RES_ID;
static GLint Prgm_AttrAlpha_Font_ATTR_Alp = INS_INVALID_RES_ID;
static GLint Prgm_AttrAlpha_Font_UNFM_Mdv = INS_INVALID_RES_ID;
static GLint Prgm_AttrAlpha_Font_UNFM_Prj = INS_INVALID_RES_ID;
static GLint Prgm_AttrAlpha_Font_UNFM_Tex = INS_INVALID_RES_ID;
static GLint Prgm_AttrAlpha_Font_UNFM_Clr = INS_INVALID_RES_ID;
static GLint Prgm_AttrAlpha_Font_UNFM_Alp = INS_INVALID_RES_ID;
static GLint Prgm_AttrAlpha_Texture_ATTR_Vtx = INS_INVALID_RES_ID;
static GLint Prgm_AttrAlpha_Texture_ATTR_Txc = INS_INVALID_RES_ID;
static GLint Prgm_AttrAlpha_Texture_ATTR_Alp = INS_INVALID_RES_ID;
static GLint Prgm_AttrAlpha_Texture_UNFM_Mdv = INS_INVALID_RES_ID;
static GLint Prgm_AttrAlpha_Texture_UNFM_Prj = INS_INVALID_RES_ID;
static GLint Prgm_AttrAlpha_Texture_UNFM_Tex = INS_INVALID_RES_ID;
static GLint Prgm_AttrAlpha_Texture_UNFM_Alp = INS_INVALID_RES_ID;
static GLint Prgm_Mask_Texture_ATTR_Vtx = INS_INVALID_RES_ID;
static GLint Prgm_Mask_Texture_ATTR_Txc = INS_INVALID_RES_ID;
static GLint Prgm_Mask_Texture_UNFM_Mdv = INS_INVALID_RES_ID;
static GLint Prgm_Mask_Texture_UNFM_Prj = INS_INVALID_RES_ID;
static GLint Prgm_Mask_Texture_UNFM_Tex = INS_INVALID_RES_ID;
static GLint Prgm_Mask_Texture_UNFM_Alp = INS_INVALID_RES_ID;
static GLint Prgm_Mask_Texture_UNFM_MaskPos = INS_INVALID_RES_ID;
static GLint Prgm_Mask_Texture_UNFM_MaskTex = INS_INVALID_RES_ID;
static GLint Prgm_Complex_Texture_ATTR_Vtx = INS_INVALID_RES_ID;
//static GLint Prgm_Complex_Texture_ATTR_Txc = INS_INVALID_RES_ID;
static GLint Prgm_Complex_Texture_ATTR_Alp = INS_INVALID_RES_ID;
static GLint Prgm_Complex_Texture_UNFM_Mdv = INS_INVALID_RES_ID;
static GLint Prgm_Complex_Texture_UNFM_Prj = INS_INVALID_RES_ID;
//static GLint Prgm_Complex_Texture_UNFM_Tex = INS_INVALID_RES_ID;
static GLint Prgm_Complex_Texture_UNFM_Clr = INS_INVALID_RES_ID;
static GLint Prgm_Complex_Texture_UNFM_Alp = INS_INVALID_RES_ID;
static GLint Prgm_Complex_Texture_UNFM_MaskPos = INS_INVALID_RES_ID;
static GLint Prgm_Complex_Texture_UNFM_MaskTex = INS_INVALID_RES_ID;
static GLint Prgm_Simple_Color_ATTR_Vtx = INS_INVALID_RES_ID;
static GLint Prgm_Simple_Color_ATTR_Clr = INS_INVALID_RES_ID;
static GLint Prgm_Simple_Color_UNFM_Mdv = INS_INVALID_RES_ID;
static GLint Prgm_Simple_Color_UNFM_Prj = INS_INVALID_RES_ID;
static GLint Prgm_Simple_Color_UNFM_Alp = INS_INVALID_RES_ID;
static GLint Prgm_Color_TexAlpha_ATTR_Vtx = INS_INVALID_RES_ID;
static GLint Prgm_Color_TexAlpha_ATTR_Clr = INS_INVALID_RES_ID;
static GLint Prgm_Color_TexAlpha_ATTR_Txc = INS_INVALID_RES_ID;
static GLint Prgm_Color_TexAlpha_UNFM_Mdv = INS_INVALID_RES_ID;
static GLint Prgm_Color_TexAlpha_UNFM_Prj = INS_INVALID_RES_ID;
static GLint Prgm_Color_TexAlpha_UNFM_Alp = INS_INVALID_RES_ID;
static GLint Prgm_Color_TexAlpha_UNFM_Tex = INS_INVALID_RES_ID;
static GLint Prgm_Model_Ads_ATTR_Vtx = INS_INVALID_RES_ID;
static GLint Prgm_Model_Ads_ATTR_Nor = INS_INVALID_RES_ID;
static GLint Prgm_Model_Ads_UNFM_Mdv = INS_INVALID_RES_ID;
static GLint Prgm_Model_Ads_UNFM_Prj = INS_INVALID_RES_ID;
static GLint Prgm_Model_Ads_UNFM_Ads = INS_INVALID_RES_ID;
static void Once_LoadShaderProgram(Int32 id)
{
static Bool flag[Prgm_Num] = {INS_FALSE};
if(id < 0 || id >= Prgm_Num || flag[id] == INS_TRUE)return;
flag[id] = INS_TRUE;
shader[id] = LoadShaderPair(path_shader[2*id], path_shader[2*id+1]);
if(shader[id] == INS_INVALID_RES_ID)
{
printf("load shader Prgm_%d failure\n", id);
return;
}
switch(id)
{
case Prgm_Simple_Texture:
Prgm_Simple_Texture_UNFM_Mdv = glGetUniformLocation(shader[id], "u_mat4_mdv");
Prgm_Simple_Texture_UNFM_Prj = glGetUniformLocation(shader[id], "u_mat4_prj");
Prgm_Simple_Texture_UNFM_Tex = glGetUniformLocation(shader[id], "u_sam_tex");
Prgm_Simple_Texture_UNFM_Alp = glGetUniformLocation(shader[id], "u_flt_inv_alpha");
Prgm_Simple_Texture_ATTR_Vtx = glGetAttribLocation(shader[id], "a_v3_vtx");
Prgm_Simple_Texture_ATTR_Txc = glGetAttribLocation(shader[id], "a_v2_txc");
glUseProgram(shader[id]);
glUniform1i(Prgm_Simple_Texture_UNFM_Tex, 0);
printf("Prgm_Simple_Texture:%d, mdv:%d, prj:%d, tex:%d, alpha:%d, vtx:%d, txc:%d\n", shader[id],
Prgm_Simple_Texture_UNFM_Mdv, Prgm_Simple_Texture_UNFM_Prj, Prgm_Simple_Texture_UNFM_Tex,
Prgm_Simple_Texture_UNFM_Alp, Prgm_Simple_Texture_ATTR_Vtx, Prgm_Simple_Texture_ATTR_Txc);
break;
case Prgm_Simple_Font:
Prgm_Simple_Font_UNFM_Mdv = glGetUniformLocation(shader[id], "u_mat4_mdv");
Prgm_Simple_Font_UNFM_Prj = glGetUniformLocation(shader[id], "u_mat4_prj");
Prgm_Simple_Font_UNFM_Tex = glGetUniformLocation(shader[id], "u_sam_tex");
Prgm_Simple_Font_UNFM_Clr = glGetUniformLocation(shader[id], "u_v3_clr");
Prgm_Simple_Font_UNFM_Alp = glGetUniformLocation(shader[id], "u_flt_inv_alpha");
Prgm_Simple_Font_ATTR_Vtx = glGetAttribLocation(shader[id], "a_v3_vtx");
Prgm_Simple_Font_ATTR_Txc = glGetAttribLocation(shader[id], "a_v2_txc");
glUseProgram(shader[id]);
glUniform1i(Prgm_Simple_Font_UNFM_Tex, 0);
printf("Prgm_Simple_Font:%d, mdv:%d, prj:%d, tex:%d, clr:%d, alpha:%d, vtx:%d, txc:%d\n", shader[id],
Prgm_Simple_Font_UNFM_Mdv, Prgm_Simple_Font_UNFM_Prj, Prgm_Simple_Font_UNFM_Tex,
Prgm_Simple_Font_UNFM_Clr, Prgm_Simple_Font_UNFM_Alp, Prgm_Simple_Font_ATTR_Vtx, Prgm_Simple_Font_ATTR_Txc);
break;
case Prgm_AttrAlpha_Font:
Prgm_AttrAlpha_Font_UNFM_Mdv = glGetUniformLocation(shader[id], "u_mat4_mdv");
Prgm_AttrAlpha_Font_UNFM_Prj = glGetUniformLocation(shader[id], "u_mat4_prj");
Prgm_AttrAlpha_Font_UNFM_Tex = glGetUniformLocation(shader[id], "u_sam_tex");
Prgm_AttrAlpha_Font_UNFM_Clr = glGetUniformLocation(shader[id], "u_v3_clr");
Prgm_AttrAlpha_Font_UNFM_Alp = glGetUniformLocation(shader[id], "u_flt_inv_alpha");
Prgm_AttrAlpha_Font_ATTR_Vtx = glGetAttribLocation(shader[id], "a_v3_vtx");
Prgm_AttrAlpha_Font_ATTR_Txc = glGetAttribLocation(shader[id], "a_v2_txc");
Prgm_AttrAlpha_Font_ATTR_Alp = glGetAttribLocation(shader[id], "a_flt_alpha");
glUseProgram(shader[id]);
glUniform1i(Prgm_AttrAlpha_Font_UNFM_Tex, 0);
printf("Prgm_AttrAlpha_Font:%d, mdv:%d, prj:%d, tex:%d, clr:%d, alpha:%d, vtx:%d, txc:%d, alp:%d\n", shader[id],
Prgm_AttrAlpha_Font_UNFM_Mdv, Prgm_AttrAlpha_Font_UNFM_Prj, Prgm_AttrAlpha_Font_UNFM_Tex,
Prgm_AttrAlpha_Font_UNFM_Clr, Prgm_AttrAlpha_Font_UNFM_Alp, Prgm_AttrAlpha_Font_ATTR_Vtx,
Prgm_AttrAlpha_Font_ATTR_Txc, Prgm_AttrAlpha_Font_ATTR_Alp);
break;
case Prgm_AttrAlpha_Texture:
Prgm_AttrAlpha_Texture_UNFM_Mdv = glGetUniformLocation(shader[id], "u_mat4_mdv");
Prgm_AttrAlpha_Texture_UNFM_Prj = glGetUniformLocation(shader[id], "u_mat4_prj");
Prgm_AttrAlpha_Texture_UNFM_Tex = glGetUniformLocation(shader[id], "u_sam_tex");
Prgm_AttrAlpha_Texture_UNFM_Alp = glGetUniformLocation(shader[id], "u_flt_inv_alpha");
Prgm_AttrAlpha_Texture_ATTR_Vtx = glGetAttribLocation(shader[id], "a_v3_vtx");
Prgm_AttrAlpha_Texture_ATTR_Txc = glGetAttribLocation(shader[id], "a_v2_txc");
Prgm_AttrAlpha_Texture_ATTR_Alp = glGetAttribLocation(shader[id], "a_flt_alp");
glUseProgram(shader[id]);
glUniform1i(Prgm_Simple_Texture_UNFM_Tex, 0);
printf("Prgm_AttrAlpha_Texture:%d, mdv:%d, prj:%d, tex:%d, alpha:%d, vtx:%d, txc:%d, alp:%d\n", shader[id],
Prgm_AttrAlpha_Texture_UNFM_Mdv, Prgm_AttrAlpha_Texture_UNFM_Prj, Prgm_AttrAlpha_Texture_UNFM_Tex,
Prgm_AttrAlpha_Texture_UNFM_Alp, Prgm_AttrAlpha_Texture_ATTR_Vtx, Prgm_AttrAlpha_Texture_ATTR_Txc,
Prgm_AttrAlpha_Texture_ATTR_Alp);
break;
case Prgm_Mask_Texture:
Prgm_Mask_Texture_UNFM_Mdv = glGetUniformLocation(shader[id], "u_mat4_mdv");
Prgm_Mask_Texture_UNFM_Prj = glGetUniformLocation(shader[id], "u_mat4_prj");
Prgm_Mask_Texture_UNFM_Tex = glGetUniformLocation(shader[id], "u_sam_tex");
Prgm_Mask_Texture_UNFM_Alp = glGetUniformLocation(shader[id], "u_flt_inv_alpha");
Prgm_Mask_Texture_UNFM_MaskTex = glGetUniformLocation(shader[id], "u_sam_tex_mask");
Prgm_Mask_Texture_UNFM_MaskPos = glGetUniformLocation(shader[id], "u_flt_mask_pos");
Prgm_Mask_Texture_ATTR_Vtx = glGetAttribLocation(shader[id], "a_v3_vtx");
Prgm_Mask_Texture_ATTR_Txc = glGetAttribLocation(shader[id], "a_v2_txc");
glUseProgram(shader[id]);
glUniform1i(Prgm_Mask_Texture_UNFM_Tex, 0);
glUniform1i(Prgm_Mask_Texture_UNFM_MaskTex, 1);
printf("Prgm_Mask_Texture:%d, mdv:%d, prj:%d, tex:%d, alpha:%d, vtx:%d, txc:%d, maskPos:%d, maskTex:%d\n", shader[id],
Prgm_Mask_Texture_UNFM_Mdv, Prgm_Mask_Texture_UNFM_Prj, Prgm_Mask_Texture_UNFM_Tex,
Prgm_Mask_Texture_UNFM_Alp, Prgm_Mask_Texture_ATTR_Vtx, Prgm_Mask_Texture_ATTR_Txc,
Prgm_Mask_Texture_UNFM_MaskPos, Prgm_Mask_Texture_UNFM_MaskTex);
break;
case Prgm_Complex_Texture:
Prgm_Complex_Texture_UNFM_Mdv = glGetUniformLocation(shader[id], "u_mat4_mdv");
Prgm_Complex_Texture_UNFM_Prj = glGetUniformLocation(shader[id], "u_mat4_prj");
//Prgm_Complex_Texture_UNFM_Tex = glGetUniformLocation(shader[id], "u_sam_tex");
Prgm_Complex_Texture_UNFM_Clr = glGetUniformLocation(shader[id], "u_v4_clr");
Prgm_Complex_Texture_UNFM_Alp = glGetUniformLocation(shader[id], "u_flt_inv_alpha");
Prgm_Complex_Texture_UNFM_MaskTex = glGetUniformLocation(shader[id], "u_sam_tex_mask");
Prgm_Complex_Texture_UNFM_MaskPos = glGetUniformLocation(shader[id], "u_flt_mask_pos");
Prgm_Complex_Texture_ATTR_Vtx = glGetAttribLocation(shader[id], "a_v3_vtx");
//Prgm_Complex_Texture_ATTR_Txc = glGetAttribLocation(shader[id], "a_v2_txc");
Prgm_Complex_Texture_ATTR_Alp = glGetAttribLocation(shader[id], "a_flt_alpha");
glUseProgram(shader[id]);
//glUniform1i(Prgm_Complex_Texture_UNFM_Tex, 0);
glUniform1i(Prgm_Complex_Texture_UNFM_MaskTex, 0);
printf("Prgm_Complex_Texture:%d, mdv:%d, prj:%d, clr:%d, Malpha:%d, vtx:%d, Aalpha:%d, maskPos:%d, maskTex:%d\n", shader[id],
Prgm_Complex_Texture_UNFM_Mdv, Prgm_Complex_Texture_UNFM_Prj, Prgm_Complex_Texture_UNFM_Clr,
Prgm_Complex_Texture_UNFM_Alp, Prgm_Complex_Texture_ATTR_Vtx, Prgm_Complex_Texture_ATTR_Alp,
Prgm_Complex_Texture_UNFM_MaskPos, Prgm_Complex_Texture_UNFM_MaskTex);
break;
case Prgm_Simple_Color:
Prgm_Simple_Color_UNFM_Mdv = glGetUniformLocation(shader[id], "u_mat4_mdv");
Prgm_Simple_Color_UNFM_Prj = glGetUniformLocation(shader[id], "u_mat4_prj");
Prgm_Simple_Color_UNFM_Alp = glGetUniformLocation(shader[id], "u_flt_inv_alpha");
Prgm_Simple_Color_ATTR_Vtx = glGetAttribLocation(shader[id], "a_v3_vtx");
Prgm_Simple_Color_ATTR_Clr = glGetAttribLocation(shader[id], "a_v4_clr");
//glUseProgram(shader[id]);
printf("Prgm_Simple_Color:%d, mdv:%d, prj:%d, alpha:%d, vtx:%d, clr:%d\n", shader[id],
Prgm_Simple_Color_UNFM_Mdv, Prgm_Simple_Color_UNFM_Prj, Prgm_Simple_Color_UNFM_Alp,
Prgm_Simple_Color_ATTR_Vtx, Prgm_Simple_Color_ATTR_Clr);
break;
case Prgm_Color_TexAlpha:
Prgm_Color_TexAlpha_UNFM_Mdv = glGetUniformLocation(shader[id], "u_mat4_mdv");
Prgm_Color_TexAlpha_UNFM_Prj = glGetUniformLocation(shader[id], "u_mat4_prj");
Prgm_Color_TexAlpha_UNFM_Tex = glGetUniformLocation(shader[id], "u_sam_tex");
Prgm_Color_TexAlpha_UNFM_Alp = glGetUniformLocation(shader[id], "u_flt_inv_alpha");
Prgm_Color_TexAlpha_ATTR_Vtx = glGetAttribLocation(shader[id], "a_v3_vtx");
Prgm_Color_TexAlpha_ATTR_Clr = glGetAttribLocation(shader[id], "a_v4_clr");
Prgm_Color_TexAlpha_ATTR_Txc = glGetAttribLocation(shader[id], "a_v2_txc");
glUseProgram(shader[id]);
glUniform1i(Prgm_Color_TexAlpha_UNFM_Tex, 0);
printf("Prgm_Color_TexAlpha:%d, mdv:%d, prj:%d, tex:%d, alpha:%d, vtx:%d, clr:%d, txc:%d\n", shader[id],
Prgm_Color_TexAlpha_UNFM_Mdv, Prgm_Color_TexAlpha_UNFM_Prj, Prgm_Color_TexAlpha_UNFM_Tex, Prgm_Color_TexAlpha_UNFM_Alp,
Prgm_Color_TexAlpha_ATTR_Vtx, Prgm_Color_TexAlpha_ATTR_Clr, Prgm_Color_TexAlpha_ATTR_Txc);
break;
case Prgm_Model_Ads:
Prgm_Model_Ads_UNFM_Mdv = glGetUniformLocation(shader[id], "u_mat4_mdv");
Prgm_Model_Ads_UNFM_Prj = glGetUniformLocation(shader[id], "u_mat4_prj");
Prgm_Model_Ads_UNFM_Ads = glGetUniformLocation(shader[id], "u_mat4_ads");
Prgm_Model_Ads_ATTR_Vtx = glGetAttribLocation(shader[id], "a_v3_vtx");
Prgm_Model_Ads_ATTR_Nor = glGetAttribLocation(shader[id], "a_v3_nor");
printf("Prgm_Model_Ads:%d, mdv:%d, prj:%d, ads:%d, vtx:%d, nor:%d\n", shader[id],
Prgm_Model_Ads_UNFM_Mdv, Prgm_Model_Ads_UNFM_Prj, Prgm_Model_Ads_UNFM_Ads,
Prgm_Model_Ads_ATTR_Vtx, Prgm_Model_Ads_ATTR_Nor);
break;
default:
break;
}
}
static void DestroyShaderResources()
{
Int32 i;
for(i = 0; i < Prgm_Num; i++)
{
if(shader[i] != INS_INVALID_RES_ID)
{
glDeleteProgram(shader[i]);
shader[i] = INS_INVALID_RES_ID;
}
}
}
#endif // RES_SHADER_H_INCLUDED

View File

@@ -0,0 +1,805 @@
#ifndef RES_TGA_H_INCLUDED
#define RES_TGA_H_INCLUDED
#include <BaseTypes.h>
#include <lib/InsGL.h>
#include "RenderUtils.h"
enum
{
Tga_Unload = 0,
Tga_Loaded,
Tga_TexGen,
Tga_LoadFail,
};
static const char *tgaFilePath[] =
{
"./Res/image/logo.tga",
"./Res/image/AI_parking_available_leftarea.tga",
"./Res/image/AI_parking_available_leftslot1.tga",
"./Res/image/AI_parking_available_leftslot2.tga",
"./Res/image/AI_parking_available_leftslot3.tga",
"./Res/image/AI_parking_available_rightarea.tga",
"./Res/image/AI_parking_available_rightslot1.tga",
"./Res/image/AI_parking_available_rightslot2.tga",
"./Res/image/AI_parking_available_rightslot3.tga",
"./Res/image/AI_parking_unavailable_leftslot1.tga",
"./Res/image/AI_parking_unavailable_leftslot2.tga",
"./Res/image/AI_parking_unavailable_leftslot3.tga",
"./Res/image/AI_parking_unavailable_rightslot1.tga",
"./Res/image/AI_parking_unavailable_rightslot2.tga",
"./Res/image/AI_parking_unavailable_rightslot3.tga",
"./Res/image/AI_parking_used_leftslot1.tga",
"./Res/image/AI_parking_used_leftslot2.tga",
"./Res/image/AI_parking_used_leftslot3.tga",
"./Res/image/AI_parking_used_rigthslot1.tga",
"./Res/image/AI_parking_used_rigthslot2.tga",
"./Res/image/AI_parking_used_rigthslot3.tga",
"./Res/image/alert_dialog_background.tga",
"./Res/image/alert_dialog_cancel.tga",
"./Res/image/alert_dialog_confirm.tga",
"./Res/image/alert_dialog_confirm_single.tga",
"./Res/image/alert_simple_background.tga",
"./Res/image/charging_range_digit_0.tga",
"./Res/image/charging_range_digit_1.tga",
"./Res/image/charging_range_digit_2.tga",
"./Res/image/charging_range_digit_3.tga",
"./Res/image/charging_range_digit_4.tga",
"./Res/image/charging_range_digit_5.tga",
"./Res/image/charging_range_digit_6.tga",
"./Res/image/charging_range_digit_7.tga",
"./Res/image/charging_range_digit_8.tga",
"./Res/image/charging_range_digit_9.tga",
"./Res/image/charging_range_unit_KM.tga",
"./Res/image/cruise_arrow.tga",
"./Res/image/cruise_pointer_blue.tga",
"./Res/image/cruise_scale_disk_blue.tga",
"./Res/image/driving_high_beam.tga",
"./Res/image/driving_low_beam.tga",
"./Res/image/driving_white_body.tga",
"./Res/image/driving_white_led_brake.tga",
"./Res/image/driving_white_led_off.tga",
"./Res/image/driving_white_led_position.tga",
"./Res/image/driving_white_led_turn_left.tga",
"./Res/image/driving_white_led_turn_right.tga",
"./Res/image/hint_background.tga",
"./Res/image/gear_tip_d.tga",
// "./Res/image/gear_tip_d_gray.tga",
"./Res/image/gear_tip_n.tga",
// "./Res/image/gear_tip_n_gray.tga",
"./Res/image/gear_tip_p.tga",
// "./Res/image/gear_tip_p_gray.tga",
"./Res/image/gear_tip_r.tga",
// "./Res/image/gear_tip_r_gray.tga",
"./Res/image/led_acc_blue.tga",
"./Res/image/led_acc_blue_pointer.tga",
"./Res/image/led_acc_white_arrow.tga",
"./Res/image/led_brake_syserr.tga",
"./Res/image/led_main_alert.tga",
"./Res/image/led_charge_conn.tga",
"./Res/image/led_rear_fog.tga",
"./Res/image/led_high_beam.tga",
"./Res/image/led_high_beam_A.tga",
"./Res/image/led_low_beam.tga",
"./Res/image/led_low_beam_A.tga",
"./Res/image/led_position_hint.tga",
"./Res/image/led_epb.tga",
"./Res/image/led_seatbelt_d.tga",
"./Res/image/led_seatbelt_p.tga",
"./Res/image/led_car_body.tga",
"./Res/image/led_door_lb.tga",
"./Res/image/led_door_lf.tga",
"./Res/image/led_door_rb.tga",
"./Res/image/led_door_rf.tga",
"./Res/image/led_seatbelt_bl.tga",
"./Res/image/led_seatbelt_bl_gray.tga",
"./Res/image/led_seatbelt_bm.tga",
"./Res/image/led_seatbelt_bm_gray.tga",
"./Res/image/led_seatbelt_br.tga",
"./Res/image/led_seatbelt_br_gray.tga",
// "./Res/image/led_auto_pilot_blue.tga",
// "./Res/image/led_auto_pilot_gray.tga",
// "./Res/image/led_auto_pilot_red.tga",
"./Res/image/led_ac_overcost.tga",
"./Res/image/led_acc_hold.tga",
"./Res/image/led_battery_cold.tga",
"./Res/image/led_speed_limit_bg.tga",
"./Res/image/led_traffic_camera.tga",
"./Res/image/led_turn_left.tga",
"./Res/image/led_turn_right.tga",
"./Res/image/led_12v_bat.tga",
"./Res/image/led_abs.tga",
"./Res/image/led_air_bag.tga",
"./Res/image/led_anti_theft.tga",
"./Res/image/led_avh_green.tga",
"./Res/image/led_avh_yellow.tga",
"./Res/image/led_back_trunk_err.tga",
"./Res/image/led_battery_err.tga",
"./Res/image/led_bat_lack.tga",
"./Res/image/led_battery_lack.tga",
"./Res/image/led_battery_off.tga",
"./Res/image/led_battery_overheat.tga",
"./Res/image/led_epb_err.tga",
"./Res/image/led_eps.tga",
"./Res/image/led_esp.tga",
"./Res/image/led_esp_off.tga",
"./Res/image/led_hdc_green.tga",
"./Res/image/led_hdc_yellow.tga",
"./Res/image/led_intelligent_sys_err.tga",
"./Res/image/led_motor_err.tga",
"./Res/image/led_motor_overheat.tga",
"./Res/image/led_scrubbing_lack.tga",
"./Res/image/led_tpms.tga",
"./Res/image/led_power_limit.tga",
"./Res/image/menu_2nd_bg.tga",
"./Res/image/menu_2nd_icon_brightness.tga",
"./Res/image/menu_2nd_icon_fan.tga",
"./Res/image/menu_2nd_icon_temp_bg.tga",
"./Res/image/menu_2nd_icon_temp_progress.tga",
"./Res/image/menu_2nd_icon_windymode_down.tga",
"./Res/image/menu_2nd_icon_windymode_side.tga",
"./Res/image/menu_2nd_icon_windymode_up.tga",
"./Res/image/menu_2nd_value_set_cursor.tga",
"./Res/image/menu_2nd_value_set_progress.tga",
"./Res/image/menu_2nd_value_set_progress_bg.tga",
"./Res/image/menu_icon_brightness.tga",
"./Res/image/menu_icon_camera.tga",
"./Res/image/menu_icon_fan.tga",
"./Res/image/menu_icon_media.tga",
"./Res/image/menu_icon_thermometer.tga",
"./Res/image/menu_icon_version.tga",
"./Res/image/menu_icon_windymode.tga",
"./Res/image/menu_2nd_icon_music_blt.tga",
"./Res/image/menu_2nd_icon_music_local.tga",
"./Res/image/menu_2nd_icon_radio_local.tga",
"./Res/image/menu_2nd_icon_radio_tbook.tga",
"./Res/image/menu_left_acc_1.tga",
"./Res/image/menu_left_acc_2.tga",
"./Res/image/menu_left_acc_3.tga",
"./Res/image/menu_left_acc_4.tga",
"./Res/image/menu_left_acc_5.tga",
"./Res/image/menu_left_bg.tga",
"./Res/image/menu_left_icon_voice.tga",
"./Res/image/menu_left_progress_bar.tga",
"./Res/image/menu_left_progress_cursor.tga",
"./Res/image/menu_left_shadow.tga",
"./Res/image/menu_left_txt_acc.tga",
"./Res/image/menu_left_txt_voice_ai.tga",
"./Res/image/menu_left_txt_voice_media.tga",
"./Res/image/menu_left_txt_voice_phone.tga",
"./Res/image/module_L0_text_energy.tga",
"./Res/image/module_L0_text_media.tga",
"./Res/image/module_L0_text_navigation.tga",
"./Res/image/module_L0_text_null.tga",
"./Res/image/module_L0_text_status.tga",
"./Res/image/module_L0_text_telephone.tga",
"./Res/image/module_L0_text_trip.tga",
"./Res/image/module_L0_text_weather.tga",
"./Res/image/module_L0_text_clock.tga",
"./Res/image/nav_icon_nav_disable.tga",
"./Res/image/nav_icon_destination.tga",
"./Res/image/nav_icon_enter_roundabout.tga",
"./Res/image/nav_icon_enter_toll_station.tga",
"./Res/image/nav_icon_enter_tunnel.tga",
"./Res/image/nav_icon_exit_roundabout.tga",
"./Res/image/nav_icon_go_straight.tga",
"./Res/image/nav_icon_left_back.tga",
"./Res/image/nav_icon_left_front.tga",
"./Res/image/nav_icon_right_back.tga",
"./Res/image/nav_icon_right_front.tga",
"./Res/image/nav_icon_turn_left.tga",
"./Res/image/nav_icon_turn_right.tga",
"./Res/image/nav_icon_turn_round.tga",
"./Res/image/nav_tips_arrive_destination.tga",
"./Res/image/nav_tips_cost_left.tga",
"./Res/image/nav_tips_next_enter.tga",
"./Res/image/nav_unit_next_distance_km.tga",
"./Res/image/nav_unit_next_distance_m.tga",
"./Res/image/nav_module_shadow.tga",
"./Res/image/nav_tips_disable.tga",
"./Res/image/traffic_line_dotted.tga",
"./Res/image/traffic_line_solid.tga",
"./Res/image/ui3_basic_battery_bg.tga",
"./Res/image/ui3_basic_battery_full_green.tga",
"./Res/image/ui3_basic_battery_full_red.tga",
"./Res/image/ui3_basic_battery_full_yellow.tga",
"./Res/image/ui3_basic_battery_high_light.tga",
// "./Res/image/ui3_basic_bg_backing.tga",
"./Res/image/ui3_basic_bg_bottom.tga",
// "./Res/image/ui3_basic_bg_parking.tga",
"./Res/image/ui3_basic_temperature_icon.tga",
"./Res/image/ui3_basic_mute_icon.tga",
// "./Res/image/ui3_basic_bg_backing_night.tga",
"./Res/image/ui3_basic_bg_bottom_night.tga",
// "./Res/image/ui3_basic_bg_parking_night.tga",
"./Res/image/ui3_gear_D_gray.tga",
"./Res/image/ui3_gear_N_gray.tga",
"./Res/image/ui3_gear_PRND_gray.tga",
"./Res/image/ui3_gear_P_gray.tga",
"./Res/image/ui3_gear_R_gray.tga",
"./Res/image/ui3_led_ready.tga",
};
static const Vec2i tgaLtp[] =
{
{531,312},//logo
{630,397},//AI_parking_available_leftarea
{773,401},//AI_parking_available_leftslot1
{740,474},//AI_parking_available_leftslot2
{704,548},//AI_parking_available_leftslot3
{1040,397},//AI_parking_available_rightarea
{1057,401},//AI_parking_available_rightslot1
{1085,474},//AI_parking_available_rightslot2
{1113,548},//AI_parking_available_rightslot3
{773,401},//AI_parking_unavailable_leftslot1
{738,474},//AI_parking_unavailable_leftslot2
{704,548},//AI_parking_unavailable_leftslot3
{1057,401},//AI_parking_unavailable_rightslot1
{1084,474},//AI_parking_unavailable_rightslot2
{1113,548},//AI_parking_unavailable_rightslot3
{773,401},//AI_parking_used_leftslot1
{738,474},//AI_parking_used_leftslot2
{704,548},//AI_parking_used_leftslot3
{1057,401},//AI_parking_used_rigthslot1
{1082,474},//AI_parking_used_rigthslot2
{1113,548},//AI_parking_used_rigthslot3
{715,448},//alert_dialog_background
{778,546},//alert_dialog_cancel
{943,546},//alert_dialog_confirm
{840,546},//alert_dialog_confirm_single
{715,518},//alert_simple_background
{898,566},//charging_range_digit_0
{903,566},//charging_range_digit_1
{897,566},//charging_range_digit_2
{898,566},//charging_range_digit_3
{895,566},//charging_range_digit_4
{898,567},//charging_range_digit_5
{897,566},//charging_range_digit_6
{898,567},//charging_range_digit_7
{898,566},//charging_range_digit_8
{898,566},//charging_range_digit_9
{1041,599},//charging_range_unit_KM
{749+41-10,156+44-60},//cruise_arrow
{769+41-10,155+44-60},//cruise_pointer_blue
{764+41-10,136+44-60},//cruise_scale_disk_blue
{821,385},//driving_high_beam
{821,410},//driving_low_beam
{786,428},//driving_white_body
{898,528},//driving_white_led_brake
{897,542},//driving_white_led_off
{898,556},//driving_white_led_position
{899,562},//driving_white_led_turn_left
{983,562},//driving_white_led_turn_right
{715,270},//hint_background
{853+36,86+16},//gear_tip_d
// {853,91},//gear_tip_d_gray
{853+36,86+16},//gear_tip_n
// {853,91},//gear_tip_n_gray
{853+36,86+16},//gear_tip_p
// {853,91},//gear_tip_p_gray
{853+36,86+16},//gear_tip_r
// {853+36,91},//gear_tip_r_gray
{831,204},//led_acc_blue
{0,0},//led_acc_blue_pointer
{0,0},//led_acc_white_arrow
{1665,47},//led_brake_syserr
{1593,47},//led_main_alert
{1521,47},//led_charge_conn
{1449,47},//led_rear_fog
{1377,47},//led_high_beam
{1377,47},//led_high_beam_A
{1377,47},//led_low_beam
{1377,47},//led_low_beam_A
{1305,47},//led_position_hint
{1233,47},//led_epb
{758,47},//led_seatbelt_d
{1161,47},//led_seatbelt_p
{686,47},//led_car_body
{671,49},//led_door_lb
{671,40},//led_door_lf
{694,50},//led_door_rb
{694,41},//led_door_rf
{470,47},//led_seatbelt_bl
{470,47},//led_seatbelt_bl_gray
{542,46},//led_seatbelt_bm
{542,46},//led_seatbelt_bm_gray
{614,47},//led_seatbelt_br
{614,47},//led_seatbelt_br_gray
// {1092+3,203-57},//led_auto_pilot_blue
// {1092+3,203-57},//led_auto_pilot_gray
// {1092,203-60},//led_auto_pilot_red
{752,662},//led_ac_overcost
{959,225+7},//led_acc_hold
{753,662},//led_battery_cold
{849,313},//led_speed_limit_bg
{1068,313},//led_traffic_camera
{732,202},//led_turn_left
{1188,202},//led_turn_right
{0,0},//led_12v_bat
{0,0},//led_abs
{0,0},//led_air_bag
{0,0},//led_anti_theft
{0,0},//led_avh_green
{0,0},//led_avh_yellow
{0,0},//led_back_trunk_err
{0,0},//led_bat_lack
{0,0},//led_battery_err
{0,0},//led_battery_lack
{0,0},//led_battery_off
{0,0},//led_battery_overheat
{0,0},//led_epb_err
{0,0},//led_eps
{0,0},//led_esp
{0,0},//led_esp_off
{0,0},//led_hdc_green
{0,0},//led_hdc_yellow
{0,0},//led_intelligent_sys_err
{0,0},//led_motor_err
{0,0},//led_motor_overheat
{0,0},//led_scrubbing_lack
{0,0},//led_tpms
{0,0},//led_power_limit
{1302,250},//menu_2nd_bg
{1337,312},//menu_2nd_icon_brightness
{1337,297},//menu_2nd_icon_fan
{1342,298},//menu_2nd_icon_temp_bg
{1354,323},//menu_2nd_icon_temp_progress
{1407,432},//menu_2nd_icon_windymode_down
{1407,251},//menu_2nd_icon_windymode_side
{1407,251},//menu_2nd_icon_windymode_up
{1672,381},//menu_2nd_value_set_cursor
{1673,250},//menu_2nd_value_set_progress
{1673,250},//menu_2nd_value_set_progress_bg
{1413,514},//menu_icon_brightness
{1416,348},//menu_icon_camera
{1413,248},//menu_icon_fan
{1417,428},//menu_icon_media
{1423,157},//menu_icon_thermometer
{1418,519},//menu_icon_version
{1407,348},//menu_icon_windymode
{0,0},//menu_2nd_icon_music_blt
{0,0},//menu_2nd_icon_music_local
{0,0},//menu_2nd_icon_radio_local
{0,0},//menu_2nd_icon_radio_tbook
{463,323},//menu_left_acc_1
{450,323},//menu_left_acc_2
{437,323},//menu_left_acc_3
{423,323},//menu_left_acc_4
{410,323},//menu_left_acc_5
{184,273},//menu_left_bg
{259,335},//menu_left_icon_voice
{607,288},//menu_left_progress_bar
{575,388},//menu_left_progress_cursor
{176,528},//menu_left_shadow
{245,390},//menu_left_txt_acc
{450,389},//menu_left_txt_voice_ai
{450,389},//menu_left_txt_voice_media
{450,389},//menu_left_txt_voice_phone
{408,345-35-8},//module_L0_text_energy
{408,345-35-8},//module_L0_text_media
{408,345-35-8},//module_L0_text_navigation
{408,345-35-8},//module_L0_text_null
{408,345-35-8},//module_L0_text_status
{408,345-35-8},//module_L0_text_telephone
{408,345-35-8},//module_L0_text_trip
{408,345-35-8},//module_L0_text_weather
{408,345-35-8},//module_L0_text_clock
{166,263},//nav_icon_nav_disable
{171,265},//nav_icon_destination
{187,266},//nav_icon_enter_roundabout
{163,274},//nav_icon_enter_toll_station
{182,284},//nav_icon_enter_tunnel
{187,265},//nav_icon_exit_roundabout
{216,262},//nav_icon_go_straight
{204,262},//nav_icon_left_back
{208,262},//nav_icon_left_front
{186,262},//nav_icon_right_back
{188,262},//nav_icon_right_front
{190,262},//nav_icon_turn_left
{190,262},//nav_icon_turn_right
{186,262},//nav_icon_turn_round
{331,346},//nav_tips_arrive_destination
{332,407},//nav_tips_cost_left
{331,346},//nav_tips_next_enter
{456,314},//nav_unit_next_distance_km
{456,313},//nav_unit_next_distance_m
{103,483},//nav_module_shadow
{418,341},//nav_tips_disable
{0,0},//traffic_line_dotted
{0,0},//traffic_line_solid
{834,656},//ui3_basic_battery_bg
{834,656},//ui3_basic_battery_full_green
{834,656},//ui3_basic_battery_full_red
{834,656},//ui3_basic_battery_full_yellow
{838,662},//ui3_basic_battery_high_light
// {0,0},//ui3_basic_bg_backing
{0,626},//ui3_basic_bg_bottom
// {0,0},//ui3_basic_bg_parking
{1447,653},//ui3_basic_temperature_icon
{100,338-6},//ui3_basic_mute_icon
// {0,0},//ui3_basic_bg_backing_night
{0,630},//ui3_basic_bg_bottom_night
// {0,0},//ui3_basic_bg_parking_night
{1081,23},//ui3_gear_D_gray
{1024,23},//ui3_gear_N_gray
{923,33},//ui3_gear_PRND_gray
{910,23},//ui3_gear_P_gray
{967,23},//ui3_gear_R_gray
{800,34},//ui3_led_ready
};
enum
{
TGA_logo,
TGA_AI_parking_available_leftarea,
TGA_AI_parking_available_leftslot1,
TGA_AI_parking_available_leftslot2,
TGA_AI_parking_available_leftslot3,
TGA_AI_parking_available_rightarea,
TGA_AI_parking_available_rightslot1,
TGA_AI_parking_available_rightslot2,
TGA_AI_parking_available_rightslot3,
TGA_AI_parking_unavailable_leftslot1,
TGA_AI_parking_unavailable_leftslot2,
TGA_AI_parking_unavailable_leftslot3,
TGA_AI_parking_unavailable_rightslot1,
TGA_AI_parking_unavailable_rightslot2,
TGA_AI_parking_unavailable_rightslot3,
TGA_AI_parking_used_leftslot1,
TGA_AI_parking_used_leftslot2,
TGA_AI_parking_used_leftslot3,
TGA_AI_parking_used_rigthslot1,
TGA_AI_parking_used_rigthslot2,
TGA_AI_parking_used_rigthslot3,
TGA_alert_dialog_background,
TGA_alert_dialog_cancel,
TGA_alert_dialog_confirm,
TGA_alert_dialog_confirm_single,
TGA_alert_simple_background,
TGA_charging_range_digit_0,
TGA_charging_range_digit_1,
TGA_charging_range_digit_2,
TGA_charging_range_digit_3,
TGA_charging_range_digit_4,
TGA_charging_range_digit_5,
TGA_charging_range_digit_6,
TGA_charging_range_digit_7,
TGA_charging_range_digit_8,
TGA_charging_range_digit_9,
TGA_charging_range_unit_KM,
TGA_cruise_arrow,
TGA_cruise_pointer_blue,
TGA_cruise_scale_disk_blue,
TGA_driving_high_beam,
TGA_driving_low_beam,
TGA_driving_white_body,
TGA_driving_white_led_brake,
TGA_driving_white_led_off,
TGA_driving_white_led_position,
TGA_driving_white_led_turn_left,
TGA_driving_white_led_turn_right,
TGA_hint_background,
TGA_gear_tip_D,
// TGA_gear_tip_D_gray,
TGA_gear_tip_N,
// TGA_gear_tip_N_gray,
TGA_gear_tip_P,
// TGA_gear_tip_P_gray,
TGA_gear_tip_R,
// TGA_gear_tip_R_gray,
TGA_led_acc_blue,
TGA_led_acc_blue_pointer,
TGA_led_acc_white_arrow,
TGA_led_brake_syserr,
TGA_led_main_alert,
TGA_led_charge_conn,
TGA_led_rear_fog,
TGA_led_high_beam,
TGA_led_high_beam_A,
TGA_led_low_beam,
TGA_led_low_beam_A,
TGA_led_position_hint,
TGA_led_epb,
TGA_led_seatbelt_d,
TGA_led_seatbelt_p,
TGA_led_car_body,
TGA_led_door_lb,
TGA_led_door_lf,
TGA_led_door_rb,
TGA_led_door_rf,
TGA_led_seatbelt_bl,
TGA_led_seatbelt_bl_gray,
TGA_led_seatbelt_bm,
TGA_led_seatbelt_bm_gray,
TGA_led_seatbelt_br,
TGA_led_seatbelt_br_gray,
// TGA_led_auto_pilot_blue,
// TGA_led_auto_pilot_gray,
// TGA_led_auto_pilot_red,
TGA_led_ac_overcost,
TGA_led_acc_hold,
TGA_led_battery_cold,
TGA_led_speed_limit_bg,
TGA_led_traffic_camera,
TGA_led_turn_left,
TGA_led_turn_right,
TGA_led_12v_bat,
TGA_led_abs,
TGA_led_air_bag,
TGA_led_anti_theft,
TGA_led_avh_green,
TGA_led_avh_yellow,
TGA_led_back_trunk_err,
TGA_led_battery_err,
TGA_led_bat_lack,
TGA_led_battery_lack,
TGA_led_battery_off,
TGA_led_battery_overheat,
TGA_led_epb_err,
TGA_led_eps,
TGA_led_esp,
TGA_led_esp_off,
TGA_led_hdc_green,
TGA_led_hdc_yellow,
TGA_led_intelligent_sys_err,
TGA_led_motor_err,
TGA_led_motor_overheat,
TGA_led_scrubbing_lack,
TGA_led_tpms,
TGA_led_power_limit,
TGA_menu_2nd_bg,
TGA_menu_2nd_icon_brightness,
TGA_menu_2nd_icon_fan,
TGA_menu_2nd_icon_temp_bg,
TGA_menu_2nd_icon_temp_progress,
TGA_menu_2nd_icon_windymode_down,
TGA_menu_2nd_icon_windymode_side,
TGA_menu_2nd_icon_windymode_up,
TGA_menu_2nd_value_set_cursor,
TGA_menu_2nd_value_set_progress,
TGA_menu_2nd_value_set_progress_bg,
TGA_menu_icon_brightness,
TGA_menu_icon_camera,
TGA_menu_icon_fan,
TGA_menu_icon_media,
TGA_menu_icon_thermometer,
TGA_menu_icon_version,
TGA_menu_icon_windymode,
TGA_menu_2nd_icon_music_blt,
TGA_menu_2nd_icon_music_local,
TGA_menu_2nd_icon_radio_local,
TGA_menu_2nd_icon_radio_tbook,
TGA_menu_left_acc_1,
TGA_menu_left_acc_2,
TGA_menu_left_acc_3,
TGA_menu_left_acc_4,
TGA_menu_left_acc_5,
TGA_menu_left_bg,
TGA_menu_left_icon_voice,
TGA_menu_left_progress_bar,
TGA_menu_left_progress_cursor,
TGA_menu_left_shadow,
TGA_menu_left_txt_acc,
TGA_menu_left_txt_voice_ai,
TGA_menu_left_txt_voice_media,
TGA_menu_left_txt_voice_phone,
TGA_module_L0_text_energy,
TGA_module_L0_text_media,
TGA_module_L0_text_navigation,
TGA_module_L0_text_null,
TGA_module_L0_text_status,
TGA_module_L0_text_telephone,
TGA_module_L0_text_trip,
TGA_module_L0_text_weather,
TGA_module_L0_text_clock,
TGA_nav_icon_nav_disable,
TGA_nav_icon_destination,
TGA_nav_icon_enter_roundabout,
TGA_nav_icon_enter_toll_station,
TGA_nav_icon_enter_tunnel,
TGA_nav_icon_exit_roundabout,
TGA_nav_icon_go_straight,
TGA_nav_icon_left_back,
TGA_nav_icon_left_front,
TGA_nav_icon_right_back,
TGA_nav_icon_right_front,
TGA_nav_icon_turn_left,
TGA_nav_icon_turn_right,
TGA_nav_icon_turn_round,
TGA_nav_tips_arrive_destination,
TGA_nav_tips_cost_left,
TGA_nav_tips_next_enter,
TGA_nav_unit_next_distance_km,
TGA_nav_unit_next_distance_m,
TGA_nav_module_shadow,
TGA_nav_tips_disable,
TGA_traffic_line_dotted,
TGA_traffic_line_solid,
TGA_ui3_basic_battery_bg,
TGA_ui3_basic_battery_full_green,
TGA_ui3_basic_battery_full_red,
TGA_ui3_basic_battery_full_yellow,
TGA_ui3_basic_battery_high_light,
// TGA_ui3_basic_bg_backing,
TGA_ui3_basic_bg_bottom,
// TGA_ui3_basic_bg_parking,
TGA_ui3_basic_temperature_icon,
TGA_ui3_basic_mute_icon,
// TGA_ui3_basic_bg_backing_night,
TGA_ui3_basic_bg_bottom_night,
// TGA_ui3_basic_bg_parking_night,
TGA_ui3_gear_D,
TGA_ui3_gear_N,
TGA_ui3_gear_PRND_gray,
TGA_ui3_gear_P,
TGA_ui3_gear_R,
TGA_ui3_led_ready,
TGA_NUM
};
static UInt08 tgaStatus[TGA_NUM];
static Image tgaImg[TGA_NUM];
static void Once_InitTgaInfo()
{
static Bool flag = INS_FALSE;
if(flag == INS_TRUE)return;
flag = INS_TRUE;
Int32 i;
for(i = 0; i < TGA_NUM; i++)
{
tgaImg[i].ltx = tgaLtp[i].x;
tgaImg[i].lty = tgaLtp[i].y;
tgaImg[i].dat = NULL;
tgaImg[i].tex = INS_INVALID_RES_ID;
tgaImg[i].w = 0;
tgaImg[i].h = 0;
tgaStatus[i] = Tga_Unload;
}
}
static void Once_LoadTgaData(Int32 id)
{
if(id < 0 || id >= TGA_NUM || tgaStatus[id] != Tga_Unload)return;
if(LoadTga(tgaFilePath[id], &tgaImg[id]) != INS_TRUE)
{
printf("load tga file fail[%s]\n", tgaFilePath[id]);
tgaStatus[id] = Tga_LoadFail;
return;
}
// tgaImg[id].ltx = tgaLtp[id].x;
// tgaImg[id].lty = tgaLtp[id].y;
// printf("Image ltx:%d, lty:%d w:%d, h:%d, fmt:0x%x[%s]\n",
// tgaImg[id].ltx, tgaImg[id].lty,
// tgaImg[id].w, tgaImg[id].h, tgaImg[id].fmt, tgaFilePath[id]);
tgaStatus[id] = Tga_Loaded;
// PrintCurrentTimeMs();
}
static void Once_GenTgaTexture(Int32 id, GLint interalformat, GLenum format)
{
if(id < 0 || id >= TGA_NUM || tgaStatus[id] != Tga_Loaded)return;// || tgaImg[id].tex[id] != 0
tgaStatus[id] = Tga_TexGen;
//printf("before Once_GenTgaTexture GL_ERR_CODE[0x%x]\n", glGetError());
glGenTextures(1, &(tgaImg[id].tex));
//printf("glGenTextures GL_ERR_CODE[0x%x]\n", glGetError());
glBindTexture(GL_TEXTURE_2D, tgaImg[id].tex);
//printf("glBindTexture GL_ERR_CODE[0x%x]\n", glGetError());
if(interalformat == GL_RGBA)
{
glPixelStorei(GL_UNPACK_ALIGNMENT, 4);
//printf("glPixelStorei 4 GL_ERR_CODE[0x%x]\n", glGetError());
}
else
{
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
//printf("glPixelStorei 1 GL_ERR_CODE[0x%x]\n", glGetError());
}
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
//printf("glTexParameteri GL_ERR_CODE[0x%x]\n", glGetError());
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
//printf("glTexParameteri GL_ERR_CODE[0x%x]\n", glGetError());
glTexImage2D(GL_TEXTURE_2D, 0, interalformat, tgaImg[id].w, tgaImg[id].h, 0, format, GL_UNSIGNED_BYTE, tgaImg[id].dat);
//printf("glTexImage2D GL_ERR_CODE[0x%x]\n", glGetError());
if(tgaImg[id].dat != NULL)
{
free(tgaImg[id].dat);
tgaImg[id].dat = NULL;
}
}
static void DestroyTgaResources(Int32 idRangeBegin, Int32 idRangeEnd)
{
Int32 i;
if(idRangeBegin < 0)
{
idRangeBegin = 0;
}
if(idRangeEnd >= PNG_NUM)
{
idRangeEnd = PNG_NUM-1;
}
for(i = idRangeBegin; i <= idRangeEnd; i++)
{
if(tgaImg[i].dat != NULL)
{
free(tgaImg[i].dat);
tgaImg[i].dat = NULL;
}
if(tgaImg[i].tex != INS_INVALID_RES_ID)
{
glDeleteTextures(1, &(tgaImg[i].tex));
tgaImg[i].tex = INS_INVALID_RES_ID;
}
tgaStatus[i] = Tga_Unload;
}
}
#endif // RES_TGA_H_INCLUDED

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
src/InsRender/Res_Txt.o: src/InsRender/Res_Txt.c src/InsRender/Res_Txt.h

View File

@@ -0,0 +1,420 @@
/* AUTO-GENERATED FILE. DO NOT MODIFY.
*
* This file was automatically generated by the
* tool:GenTextResource.exe from ucs-2_BE.txt.
* It should not be modified by hand.
*/
#ifndef ___SRC_INSRENDER_RES_TXT_H_INCLUDE_
#define ___SRC_INSRENDER_RES_TXT_H_INCLUDE_
extern const unsigned int FONT_CODE[];
#define FONT_CODE_SIZE 339
#define str_LETTERs_len 26
extern const unsigned int str_LETTERs_idx[];
#define str_afternoon_cn_len 2
extern const unsigned int str_afternoon_cn_idx[];
#define str_alarm_bat_lack_len 11
extern const unsigned int str_alarm_bat_lack_idx[];
#define str_alarm_bat_over_heat_len 15
extern const unsigned int str_alarm_bat_over_heat_idx[];
#define str_alarm_cannot_charge_len 9
extern const unsigned int str_alarm_cannot_charge_idx[];
#define str_alarm_check_airbag_len 7
extern const unsigned int str_alarm_check_airbag_idx[];
#define str_alarm_check_drll_len 10
extern const unsigned int str_alarm_check_drll_idx[];
#define str_alarm_check_drllr_len 11
extern const unsigned int str_alarm_check_drllr_idx[];
#define str_alarm_check_drlr_len 10
extern const unsigned int str_alarm_check_drlr_idx[];
#define str_alarm_check_eps_len 6
extern const unsigned int str_alarm_check_eps_idx[];
#define str_alarm_check_foglamp_len 6
extern const unsigned int str_alarm_check_foglamp_idx[];
#define str_alarm_check_lowbeam_len 6
extern const unsigned int str_alarm_check_lowbeam_idx[];
#define str_alarm_check_tp_sensor_len 8
extern const unsigned int str_alarm_check_tp_sensor_idx[];
#define str_alarm_check_turnl_len 8
extern const unsigned int str_alarm_check_turnl_idx[];
#define str_alarm_check_turnlr_len 9
extern const unsigned int str_alarm_check_turnlr_idx[];
#define str_alarm_check_turnr_len 8
extern const unsigned int str_alarm_check_turnr_idx[];
#define str_alarm_confirm_len 3
extern const unsigned int str_alarm_confirm_idx[];
#define str_alarm_contact_service_len 9
extern const unsigned int str_alarm_contact_service_idx[];
#define str_alarm_device_err_len 9
extern const unsigned int str_alarm_device_err_idx[];
#define str_alarm_dynamic_braking_len 5
extern const unsigned int str_alarm_dynamic_braking_idx[];
#define str_alarm_iic_communication_exception_len 20
extern const unsigned int str_alarm_iic_communication_exception_idx[];
#define str_alarm_ok_len 4
extern const unsigned int str_alarm_ok_idx[];
#define str_alarm_operate_err_len 12
extern const unsigned int str_alarm_operate_err_idx[];
#define str_alarm_peps_err_len 8
extern const unsigned int str_alarm_peps_err_idx[];
#define str_alarm_performance_limit_len 12
extern const unsigned int str_alarm_performance_limit_idx[];
#define str_alarm_pull_over_len 16
extern const unsigned int str_alarm_pull_over_idx[];
#define str_alarm_pull_up_len 11
extern const unsigned int str_alarm_pull_up_idx[];
#define str_alarm_replenish_rake_oil_len 6
extern const unsigned int str_alarm_replenish_rake_oil_idx[];
#define str_alarm_speed_limit_len 20
extern const unsigned int str_alarm_speed_limit_idx[];
#define str_alarm_tire_over_heat_len 6
extern const unsigned int str_alarm_tire_over_heat_idx[];
#define str_alarm_tire_pressure_high_len 6
extern const unsigned int str_alarm_tire_pressure_high_idx[];
#define str_alarm_tire_pressure_low_len 6
extern const unsigned int str_alarm_tire_pressure_low_idx[];
#define str_alarm_tpms_len 8
extern const unsigned int str_alarm_tpms_idx[];
#define str_alarm_tpms_calibration_len 9
extern const unsigned int str_alarm_tpms_calibration_idx[];
#define str_alarm_vacuum_booster_len 14
extern const unsigned int str_alarm_vacuum_booster_idx[];
#define str_alarm_vacuum_pump_len 7
extern const unsigned int str_alarm_vacuum_pump_idx[];
#define str_alarm_voice_input_len 3
extern const unsigned int str_alarm_voice_input_idx[];
#define str_alarm_voice_recognition_len 3
extern const unsigned int str_alarm_voice_recognition_idx[];
#define str_before_dawn_cn_len 2
extern const unsigned int str_before_dawn_cn_idx[];
#define str_charge_bat_heating_len 5
extern const unsigned int str_charge_bat_heating_idx[];
#define str_charge_charging_len 3
extern const unsigned int str_charge_charging_idx[];
#define str_charge_fast_len 5
extern const unsigned int str_charge_fast_idx[];
#define str_charge_finish_len 4
extern const unsigned int str_charge_finish_idx[];
#define str_charge_hint_bat_cold_len 12
extern const unsigned int str_charge_hint_bat_cold_idx[];
#define str_charge_hint_dev_err_len 9
extern const unsigned int str_charge_hint_dev_err_idx[];
#define str_charge_hint_op_err_len 12
extern const unsigned int str_charge_hint_op_err_idx[];
#define str_charge_hint_pull_len 11
extern const unsigned int str_charge_hint_pull_idx[];
#define str_charge_left_time_len 2
extern const unsigned int str_charge_left_time_idx[];
#define str_charge_order_len 5
extern const unsigned int str_charge_order_idx[];
#define str_charge_preparing_len 5
extern const unsigned int str_charge_preparing_idx[];
#define str_charge_stop_len 4
extern const unsigned int str_charge_stop_idx[];
#define str_charge_unit_hour_len 2
extern const unsigned int str_charge_unit_hour_idx[];
#define str_charge_unit_minute_len 2
extern const unsigned int str_charge_unit_minute_idx[];
#define str_default_usr_name_len 2
extern const unsigned int str_default_usr_name_idx[];
#define str_digits_len 10
extern const unsigned int str_digits_idx[];
#define str_forenoon_cn_len 2
extern const unsigned int str_forenoon_cn_idx[];
#define str_hint_ae_len 8
extern const unsigned int str_hint_ae_idx[];
#define str_hint_auto_leaving_len 7
extern const unsigned int str_hint_auto_leaving_idx[];
#define str_hint_auto_leaving_cancel_len 7
extern const unsigned int str_hint_auto_leaving_cancel_idx[];
#define str_hint_auto_leaving_ok_len 7
extern const unsigned int str_hint_auto_leaving_ok_idx[];
#define str_hint_auto_leaving_pause_len 7
extern const unsigned int str_hint_auto_leaving_pause_idx[];
#define str_hint_auto_parking_len 7
extern const unsigned int str_hint_auto_parking_idx[];
#define str_hint_auto_parking_cancel_len 6
extern const unsigned int str_hint_auto_parking_cancel_idx[];
#define str_hint_auto_parking_ok_len 6
extern const unsigned int str_hint_auto_parking_ok_idx[];
#define str_hint_auto_parking_pause_len 6
extern const unsigned int str_hint_auto_parking_pause_idx[];
#define str_hint_back_trunk_err_len 10
extern const unsigned int str_hint_back_trunk_err_idx[];
#define str_hint_brake_over_heat_len 12
extern const unsigned int str_hint_brake_over_heat_idx[];
#define str_hint_brake_weak_len 12
extern const unsigned int str_hint_brake_weak_idx[];
#define str_hint_buckle_up_d_len 9
extern const unsigned int str_hint_buckle_up_d_idx[];
#define str_hint_buckle_up_p_len 8
extern const unsigned int str_hint_buckle_up_p_idx[];
#define str_hint_charging_gear_len 11
extern const unsigned int str_hint_charging_gear_idx[];
#define str_hint_check_switch_len 7
extern const unsigned int str_hint_check_switch_idx[];
#define str_hint_detecting_parking_cell_len 5
extern const unsigned int str_hint_detecting_parking_cell_idx[];
#define str_hint_door_lb_open_len 6
extern const unsigned int str_hint_door_lb_open_idx[];
#define str_hint_door_lf_open_len 6
extern const unsigned int str_hint_door_lf_open_idx[];
#define str_hint_door_rb_open_len 6
extern const unsigned int str_hint_door_rb_open_idx[];
#define str_hint_door_rf_open_len 6
extern const unsigned int str_hint_door_rf_open_idx[];
#define str_hint_iic_communication_exception_len 11
extern const unsigned int str_hint_iic_communication_exception_idx[];
#define str_hint_key_bat_lack_len 7
extern const unsigned int str_hint_key_bat_lack_idx[];
#define str_hint_key_inside_len 5
extern const unsigned int str_hint_key_inside_idx[];
#define str_hint_key_not_found_len 6
extern const unsigned int str_hint_key_not_found_idx[];
#define str_hint_parking_gear_r_len 8
extern const unsigned int str_hint_parking_gear_r_idx[];
#define str_hint_power_on_len 12
extern const unsigned int str_hint_power_on_idx[];
#define str_hint_power_ready_len 4
extern const unsigned int str_hint_power_ready_idx[];
#define str_hint_release_brake_len 10
extern const unsigned int str_hint_release_brake_idx[];
#define str_hint_searching_parking_cell_len 12
extern const unsigned int str_hint_searching_parking_cell_idx[];
#define str_hint_shutdown_len 9
extern const unsigned int str_hint_shutdown_idx[];
#define str_hint_start_up_len 9
extern const unsigned int str_hint_start_up_idx[];
#define str_hint_summoning_len 3
extern const unsigned int str_hint_summoning_idx[];
#define str_hint_summoning_ok_len 5
extern const unsigned int str_hint_summoning_ok_idx[];
#define str_hint_summoning_pause_len 4
extern const unsigned int str_hint_summoning_pause_idx[];
#define str_hint_upgrade_len 11
extern const unsigned int str_hint_upgrade_idx[];
#define str_invalid_char_len 1
extern const unsigned int str_invalid_char_idx[];
#define str_letters_len 26
extern const unsigned int str_letters_idx[];
#define str_mdtrip_content_0_len 2
extern const unsigned int str_mdtrip_content_0_idx[];
#define str_mdtrip_content_1_len 2
extern const unsigned int str_mdtrip_content_1_idx[];
#define str_mdtrip_content_2_len 4
extern const unsigned int str_mdtrip_content_2_idx[];
#define str_mdtrip_content_3_len 5
extern const unsigned int str_mdtrip_content_3_idx[];
#define str_mdtrip_content_4_len 3
extern const unsigned int str_mdtrip_content_4_idx[];
#define str_mdtrip_title_0_len 4
extern const unsigned int str_mdtrip_title_0_idx[];
#define str_mdtrip_title_1_len 2
extern const unsigned int str_mdtrip_title_1_idx[];
#define str_mdtrip_unit_0_len 2
extern const unsigned int str_mdtrip_unit_0_idx[];
#define str_mdtrip_unit_1_len 5
extern const unsigned int str_mdtrip_unit_1_idx[];
#define str_mdtrip_unit_2_len 9
extern const unsigned int str_mdtrip_unit_2_idx[];
#define str_mdtrip_unit_3_len 2
extern const unsigned int str_mdtrip_unit_3_idx[];
#define str_mdtrip_unit_4_len 2
extern const unsigned int str_mdtrip_unit_4_idx[];
#define str_menu_txt_audiobook_len 4
extern const unsigned int str_menu_txt_audiobook_idx[];
#define str_menu_txt_bluetooth_len 4
extern const unsigned int str_menu_txt_bluetooth_idx[];
#define str_menu_txt_brightness_len 4
extern const unsigned int str_menu_txt_brightness_idx[];
#define str_menu_txt_localmusic_len 4
extern const unsigned int str_menu_txt_localmusic_idx[];
#define str_menu_txt_localradio_len 4
extern const unsigned int str_menu_txt_localradio_idx[];
#define str_menu_txt_mediasrc_len 3
extern const unsigned int str_menu_txt_mediasrc_idx[];
#define str_menu_txt_netradio_len 4
extern const unsigned int str_menu_txt_netradio_idx[];
#define str_menu_txt_temperature_len 4
extern const unsigned int str_menu_txt_temperature_idx[];
#define str_menu_txt_verinfo_len 4
extern const unsigned int str_menu_txt_verinfo_idx[];
#define str_menu_txt_windmode_len 4
extern const unsigned int str_menu_txt_windmode_idx[];
#define str_menu_txt_windmode_down_len 2
extern const unsigned int str_menu_txt_windmode_down_idx[];
#define str_menu_txt_windmode_side_len 4
extern const unsigned int str_menu_txt_windmode_side_idx[];
#define str_menu_txt_windmode_up_len 2
extern const unsigned int str_menu_txt_windmode_up_idx[];
#define str_menu_txt_windmode_up_and_down_len 4
extern const unsigned int str_menu_txt_windmode_up_and_down_idx[];
#define str_menu_txt_windpwr_len 4
extern const unsigned int str_menu_txt_windpwr_idx[];
#define str_module_energy_cost_len 2
extern const unsigned int str_module_energy_cost_idx[];
#define str_module_media_len 2
extern const unsigned int str_module_media_idx[];
#define str_module_navigation_len 2
extern const unsigned int str_module_navigation_idx[];
#define str_module_status_len 2
extern const unsigned int str_module_status_idx[];
#define str_module_telephone_len 2
extern const unsigned int str_module_telephone_idx[];
#define str_module_trip_len 3
extern const unsigned int str_module_trip_idx[];
#define str_module_unavailable_len 10
extern const unsigned int str_module_unavailable_idx[];
#define str_module_weather_len 2
extern const unsigned int str_module_weather_idx[];
#define str_night_cn_len 2
extern const unsigned int str_night_cn_idx[];
#define str_outer_cn_len 2
extern const unsigned int str_outer_cn_idx[];
#define str_punctuation_len 33
extern const unsigned int str_punctuation_idx[];
#define str_status_title_len 7
extern const unsigned int str_status_title_idx[];
#define str_unit_temperature_len 2
extern const unsigned int str_unit_temperature_idx[];
#define MAX_STRING_LEN 33
#endif//___SRC_INSRENDER_RES_TXT_H_INCLUDE_

View File

@@ -0,0 +1,319 @@
/* AUTO-GENERATED FILE. DO NOT MODIFY.
*
* This file was automatically generated by the
* tool:GenTextResource.exe from ucs-2_BE_basic.txt.
* It should not be modified by hand.
*/
#include "Res_TxtBasic.h"
const unsigned int Basic_FONT_CODE[] =
{
0x0, 0x20, 0x21, 0x22,
0x23, 0x24, 0x25, 0x26,
0x27, 0x28, 0x29, 0x2a,
0x2b, 0x2c, 0x2d, 0x2e,
0x2f, 0x30, 0x31, 0x32,
0x33, 0x34, 0x35, 0x36,
0x37, 0x38, 0x39, 0x3a,
0x3b, 0x3c, 0x3d, 0x3e,
0x3f, 0x40, 0x41, 0x42,
0x43, 0x44, 0x45, 0x46,
0x47, 0x48, 0x49, 0x4a,
0x4b, 0x4c, 0x4d, 0x4e,
0x4f, 0x50, 0x51, 0x52,
0x53, 0x54, 0x55, 0x56,
0x57, 0x58, 0x59, 0x5a,
0x5b, 0x5c, 0x5d, 0x5e,
0x5f, 0x60, 0x61, 0x62,
0x63, 0x64, 0x65, 0x66,
0x67, 0x68, 0x69, 0x6a,
0x6b, 0x6c, 0x6d, 0x6e,
0x6f, 0x70, 0x71, 0x72,
0x73, 0x74, 0x75, 0x76,
0x77, 0x78, 0x79, 0x7a,
0x7b, 0x7c, 0x7d, 0x7e,
0xb0, 0x4e0a, 0x4e0b, 0x4e2d,
0x4e50, 0x4eae, 0x4f53, 0x4f59,
0x4fe1, 0x505c, 0x5145, 0x5149,
0x51fa, 0x5206, 0x5269, 0x529b,
0x5348, 0x5373, 0x53f0, 0x542c,
0x5439, 0x5730, 0x58f0, 0x590d,
0x5916, 0x5929, 0x5a92, 0x5b8c,
0x5c06, 0x5c0f, 0x5ea6, 0x5f0f,
0x6062, 0x606f, 0x6210, 0x6247,
0x62e8, 0x6302, 0x63a5, 0x65ad,
0x65e0, 0x65e5, 0x65f6, 0x663e,
0x6708, 0x6709, 0x672c, 0x675f,
0x6765, 0x6a21, 0x6b62, 0x6c14,
0x6e29, 0x6e90, 0x7248, 0x7259,
0x7269, 0x7535, 0x793a, 0x7a7a,
0x7b97, 0x7ed3, 0x7edc, 0x7f51,
0x80cc, 0x811a, 0x84dd, 0x8ba1,
0x8bdd, 0x8bfb, 0x8c03, 0x8f66,
0x8f6c, 0x901a, 0x901f, 0x949f,
0x95f4, 0x9664, 0x971c, 0x9759,
0x9762, 0x97f3, 0x98ce,
};
const unsigned int str_LETTERs_idx[] =
{
34, 35, 36,
37, 38, 39,
40, 41, 42,
43, 44, 45,
46, 47, 48,
49, 50, 51,
52, 53, 54,
55, 56, 57,
58, 59, 0
};
const unsigned int str_afternoon_cn_idx[] =
{
98, 112, 0
};
const unsigned int str_charge_almost_finished_idx[] =
{
106, 153, 113,
124, 123, 130,
0
};
const unsigned int str_charge_left_time_idx[] =
{
110, 103, 138,
172, 0
};
const unsigned int str_charge_time_calculating_idx[] =
{
163, 156, 99,
0
};
const unsigned int str_charge_unit_hour_idx[] =
{
125, 138, 0
};
const unsigned int str_charge_unit_minute_idx[] =
{
109, 171, 0
};
const unsigned int str_day_cn_idx[] =
{
137, 0
};
const unsigned int str_digits_idx[] =
{
17, 18, 19,
20, 21, 22,
23, 24, 25,
26, 0
};
const unsigned int str_forenoon_cn_idx[] =
{
97, 112, 0
};
const unsigned int str_invalid_char_idx[] =
{
1, 0
};
const unsigned int str_letters_idx[] =
{
66, 67, 68,
69, 70, 71,
72, 73, 74,
75, 76, 77,
78, 79, 80,
81, 82, 83,
84, 85, 86,
87, 88, 89,
90, 91, 0
};
const unsigned int str_menu_tips_brightness_idx[] =
{
139, 154, 101,
126, 0
};
const unsigned int str_menu_tips_windpwr_idx[] =
{
178, 131, 168,
170, 0
};
const unsigned int str_menu_txt_audiobook_idx[] =
{
141, 118, 165,
152, 0
};
const unsigned int str_menu_txt_bluetooth_idx[] =
{
162, 151, 177,
100, 0
};
const unsigned int str_menu_txt_brightness_idx[] =
{
160, 107, 101,
126, 0
};
const unsigned int str_menu_txt_localmusic_idx[] =
{
177, 100, 0
};
const unsigned int str_menu_txt_localradio_idx[] =
{
142, 117, 39,
46, 0
};
const unsigned int str_menu_txt_mediasrc_idx[] =
{
122, 102, 149,
0
};
const unsigned int str_menu_txt_netradio_idx[] =
{
159, 158, 153,
114, 0
};
const unsigned int str_menu_txt_temperature_idx[] =
{
155, 166, 148,
126, 0
};
const unsigned int str_menu_txt_verinfo_idx[] =
{
150, 142, 104,
129, 0
};
const unsigned int str_menu_txt_windmode_idx[] =
{
116, 178, 145,
127, 0
};
const unsigned int str_menu_txt_windmode_down_idx[] =
{
116, 161, 0
};
const unsigned int str_menu_txt_windmode_side_idx[] =
{
116, 161, 173,
174, 0
};
const unsigned int str_menu_txt_windmode_up_idx[] =
{
116, 176, 0
};
const unsigned int str_menu_txt_windmode_up_and_down_idx[] =
{
116, 176, 116,
161, 0
};
const unsigned int str_menu_txt_windpwr_idx[] =
{
155, 166, 178,
111, 0
};
const unsigned int str_module_phone_cancel_idx[] =
{
133, 135, 0
};
const unsigned int str_module_phone_connect_idx[] =
{
134, 115, 0
};
const unsigned int str_module_phone_end_idx[] =
{
157, 143, 169,
164, 0
};
const unsigned int str_module_phone_incall_idx[] =
{
144, 153, 0
};
const unsigned int str_module_phone_mute_idx[] =
{
175, 177, 0
};
const unsigned int str_module_phone_outcall_idx[] =
{
132, 108, 0
};
const unsigned int str_module_phone_unmute_idx[] =
{
128, 119, 175,
177, 0
};
const unsigned int str_module_tips_no_weather_info_idx[] =
{
136, 121, 147,
104, 129, 0
};
const unsigned int str_month_cn_idx[] =
{
140, 0
};
const unsigned int str_outer_cn_idx[] =
{
167, 120, 0
};
const unsigned int str_punctuation_idx[] =
{
13, 15, 16,
28, 8, 60,
62, 61, 65,
14, 30, 29,
31, 32, 27,
3, 92, 94,
93, 95, 2,
33, 4, 5,
6, 63, 7,
11, 9, 1,
10, 64, 12,
0
};
const unsigned int str_radar_info_stop_idx[] =
{
105, 146, 0
};
const unsigned int str_unit_temperature_idx[] =
{
96, 36, 0
};

View File

@@ -0,0 +1,2 @@
src/InsRender/Res_TxtBasic.o: src/InsRender/Res_TxtBasic.c \
src/InsRender/Res_TxtBasic.h

View File

@@ -0,0 +1,144 @@
/* AUTO-GENERATED FILE. DO NOT MODIFY.
*
* This file was automatically generated by the
* tool:GenTextResource.exe from ucs-2_BE_basic.txt.
* It should not be modified by hand.
*/
#ifndef ___SRC_INSRENDER_RES_TXTBASIC_H_INCLUDE_
#define ___SRC_INSRENDER_RES_TXTBASIC_H_INCLUDE_
extern const unsigned int Basic_FONT_CODE[];
#define Basic_FONT_CODE_SIZE 179
#define str_LETTERs_len 26
extern const unsigned int str_LETTERs_idx[];
#define str_afternoon_cn_len 2
extern const unsigned int str_afternoon_cn_idx[];
#define str_charge_almost_finished_len 6
extern const unsigned int str_charge_almost_finished_idx[];
#define str_charge_left_time_len 4
extern const unsigned int str_charge_left_time_idx[];
#define str_charge_time_calculating_len 3
extern const unsigned int str_charge_time_calculating_idx[];
#define str_charge_unit_hour_len 2
extern const unsigned int str_charge_unit_hour_idx[];
#define str_charge_unit_minute_len 2
extern const unsigned int str_charge_unit_minute_idx[];
#define str_day_cn_len 1
extern const unsigned int str_day_cn_idx[];
#define str_digits_len 10
extern const unsigned int str_digits_idx[];
#define str_forenoon_cn_len 2
extern const unsigned int str_forenoon_cn_idx[];
#define str_invalid_char_len 1
extern const unsigned int str_invalid_char_idx[];
#define str_letters_len 26
extern const unsigned int str_letters_idx[];
#define str_menu_tips_brightness_len 4
extern const unsigned int str_menu_tips_brightness_idx[];
#define str_menu_tips_windpwr_len 4
extern const unsigned int str_menu_tips_windpwr_idx[];
#define str_menu_txt_audiobook_len 4
extern const unsigned int str_menu_txt_audiobook_idx[];
#define str_menu_txt_bluetooth_len 4
extern const unsigned int str_menu_txt_bluetooth_idx[];
#define str_menu_txt_brightness_len 4
extern const unsigned int str_menu_txt_brightness_idx[];
#define str_menu_txt_localmusic_len 2
extern const unsigned int str_menu_txt_localmusic_idx[];
#define str_menu_txt_localradio_len 4
extern const unsigned int str_menu_txt_localradio_idx[];
#define str_menu_txt_mediasrc_len 3
extern const unsigned int str_menu_txt_mediasrc_idx[];
#define str_menu_txt_netradio_len 4
extern const unsigned int str_menu_txt_netradio_idx[];
#define str_menu_txt_temperature_len 4
extern const unsigned int str_menu_txt_temperature_idx[];
#define str_menu_txt_verinfo_len 4
extern const unsigned int str_menu_txt_verinfo_idx[];
#define str_menu_txt_windmode_len 4
extern const unsigned int str_menu_txt_windmode_idx[];
#define str_menu_txt_windmode_down_len 2
extern const unsigned int str_menu_txt_windmode_down_idx[];
#define str_menu_txt_windmode_side_len 4
extern const unsigned int str_menu_txt_windmode_side_idx[];
#define str_menu_txt_windmode_up_len 2
extern const unsigned int str_menu_txt_windmode_up_idx[];
#define str_menu_txt_windmode_up_and_down_len 4
extern const unsigned int str_menu_txt_windmode_up_and_down_idx[];
#define str_menu_txt_windpwr_len 4
extern const unsigned int str_menu_txt_windpwr_idx[];
#define str_module_phone_cancel_len 2
extern const unsigned int str_module_phone_cancel_idx[];
#define str_module_phone_connect_len 2
extern const unsigned int str_module_phone_connect_idx[];
#define str_module_phone_end_len 4
extern const unsigned int str_module_phone_end_idx[];
#define str_module_phone_incall_len 2
extern const unsigned int str_module_phone_incall_idx[];
#define str_module_phone_mute_len 2
extern const unsigned int str_module_phone_mute_idx[];
#define str_module_phone_outcall_len 2
extern const unsigned int str_module_phone_outcall_idx[];
#define str_module_phone_unmute_len 4
extern const unsigned int str_module_phone_unmute_idx[];
#define str_module_tips_no_weather_info_len 5
extern const unsigned int str_module_tips_no_weather_info_idx[];
#define str_month_cn_len 1
extern const unsigned int str_month_cn_idx[];
#define str_outer_cn_len 2
extern const unsigned int str_outer_cn_idx[];
#define str_punctuation_len 33
extern const unsigned int str_punctuation_idx[];
#define str_radar_info_stop_len 2
extern const unsigned int str_radar_info_stop_idx[];
#define str_unit_temperature_len 2
extern const unsigned int str_unit_temperature_idx[];
#define Basic_MAX_STRING_LEN 33
#endif//___SRC_INSRENDER_RES_TXTBASIC_H_INCLUDE_

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,2 @@
src/InsRender/Res_TxtHintAlarm.o: src/InsRender/Res_TxtHintAlarm.c \
src/InsRender/Res_TxtHintAlarm.h

View File

@@ -0,0 +1,486 @@
/* AUTO-GENERATED FILE. DO NOT MODIFY.
*
* This file was automatically generated by the
* tool:GenTextResource.exe from ucs-2_BE_hint_and_alarm.txt.
* It should not be modified by hand.
*/
#ifndef ___SRC_INSRENDER_RES_TXTHINTALARM_H_INCLUDE_
#define ___SRC_INSRENDER_RES_TXTHINTALARM_H_INCLUDE_
extern const unsigned int HintAlarm_FONT_CODE[];
#define HintAlarm_FONT_CODE_SIZE 342
#define str_account_default_len 2
extern const unsigned int str_account_default_idx[];
#define str_account_guest_len 2
extern const unsigned int str_account_guest_idx[];
#define str_alarm_ACC_failure_len 9
extern const unsigned int str_alarm_ACC_failure_idx[];
#define str_alarm_auto_track_failure_len 10
extern const unsigned int str_alarm_auto_track_failure_idx[];
#define str_alarm_bat_cold_len 12
extern const unsigned int str_alarm_bat_cold_idx[];
#define str_alarm_bat_heating_len 5
extern const unsigned int str_alarm_bat_heating_idx[];
#define str_alarm_bat_lack_len 11
extern const unsigned int str_alarm_bat_lack_idx[];
#define str_alarm_bat_over_heat_len 15
extern const unsigned int str_alarm_bat_over_heat_idx[];
#define str_alarm_bat_too_cold_len 11
extern const unsigned int str_alarm_bat_too_cold_idx[];
#define str_alarm_blind_auxiliary_failure_len 10
extern const unsigned int str_alarm_blind_auxiliary_failure_idx[];
#define str_alarm_cannot_charge_len 11
extern const unsigned int str_alarm_cannot_charge_idx[];
#define str_alarm_charge_port_overheat_len 14
extern const unsigned int str_alarm_charge_port_overheat_idx[];
#define str_alarm_charging_slow_len 5
extern const unsigned int str_alarm_charging_slow_idx[];
#define str_alarm_check_airbag_len 7
extern const unsigned int str_alarm_check_airbag_idx[];
#define str_alarm_check_eps_len 6
extern const unsigned int str_alarm_check_eps_idx[];
#define str_alarm_check_foglamp_len 6
extern const unsigned int str_alarm_check_foglamp_idx[];
#define str_alarm_check_highbeam_len 6
extern const unsigned int str_alarm_check_highbeam_idx[];
#define str_alarm_check_lowbeam_len 6
extern const unsigned int str_alarm_check_lowbeam_idx[];
#define str_alarm_check_tp_sensor_len 8
extern const unsigned int str_alarm_check_tp_sensor_idx[];
#define str_alarm_check_turnl_len 8
extern const unsigned int str_alarm_check_turnl_idx[];
#define str_alarm_check_turnlr_len 9
extern const unsigned int str_alarm_check_turnlr_idx[];
#define str_alarm_check_turnr_len 8
extern const unsigned int str_alarm_check_turnr_idx[];
#define str_alarm_confirm_len 3
extern const unsigned int str_alarm_confirm_idx[];
#define str_alarm_contact_service_len 10
extern const unsigned int str_alarm_contact_service_idx[];
#define str_alarm_cut_off_power_len 14
extern const unsigned int str_alarm_cut_off_power_idx[];
#define str_alarm_device_err_len 6
extern const unsigned int str_alarm_device_err_idx[];
#define str_alarm_dynamic_braking_len 5
extern const unsigned int str_alarm_dynamic_braking_idx[];
#define str_alarm_face_input_timeout_len 8
extern const unsigned int str_alarm_face_input_timeout_idx[];
#define str_alarm_face_interrupt_retry_len 13
extern const unsigned int str_alarm_face_interrupt_retry_idx[];
#define str_alarm_face_not_found_len 10
extern const unsigned int str_alarm_face_not_found_idx[];
#define str_alarm_face_repeat_len 10
extern const unsigned int str_alarm_face_repeat_idx[];
#define str_alarm_face_systom_fault_len 13
extern const unsigned int str_alarm_face_systom_fault_idx[];
#define str_alarm_font_collision_failure_len 10
extern const unsigned int str_alarm_font_collision_failure_idx[];
#define str_alarm_gear_err_len 10
extern const unsigned int str_alarm_gear_err_idx[];
#define str_alarm_high_voltage_err_len 9
extern const unsigned int str_alarm_high_voltage_err_idx[];
#define str_alarm_iic_communication_exception_len 20
extern const unsigned int str_alarm_iic_communication_exception_idx[];
#define str_alarm_initiative_grid_err_len 6
extern const unsigned int str_alarm_initiative_grid_err_idx[];
#define str_alarm_lane_warning_failure_len 10
extern const unsigned int str_alarm_lane_warning_failure_idx[];
#define str_alarm_limit_speed_failure_len 10
extern const unsigned int str_alarm_limit_speed_failure_idx[];
#define str_alarm_lost_power_len 17
extern const unsigned int str_alarm_lost_power_idx[];
#define str_alarm_low_volt_bat_err_len 7
extern const unsigned int str_alarm_low_volt_bat_err_idx[];
#define str_alarm_low_volt_bat_lack_len 9
extern const unsigned int str_alarm_low_volt_bat_lack_idx[];
#define str_alarm_ok_len 4
extern const unsigned int str_alarm_ok_idx[];
#define str_alarm_operate_err_len 12
extern const unsigned int str_alarm_operate_err_idx[];
#define str_alarm_peps_err_len 8
extern const unsigned int str_alarm_peps_err_idx[];
#define str_alarm_performance_limit_len 12
extern const unsigned int str_alarm_performance_limit_idx[];
#define str_alarm_pull_up_len 13
extern const unsigned int str_alarm_pull_up_idx[];
#define str_alarm_rear_auxiliary_failure_len 10
extern const unsigned int str_alarm_rear_auxiliary_failure_idx[];
#define str_alarm_rear_warning_failure_len 12
extern const unsigned int str_alarm_rear_warning_failure_idx[];
#define str_alarm_replenish_rake_oil_len 6
extern const unsigned int str_alarm_replenish_rake_oil_idx[];
#define str_alarm_tire_over_heat_len 6
extern const unsigned int str_alarm_tire_over_heat_idx[];
#define str_alarm_tire_pressure_high_len 6
extern const unsigned int str_alarm_tire_pressure_high_idx[];
#define str_alarm_tire_pressure_low_len 6
extern const unsigned int str_alarm_tire_pressure_low_idx[];
#define str_alarm_tpms_len 8
extern const unsigned int str_alarm_tpms_idx[];
#define str_alarm_tpms_calibration_len 9
extern const unsigned int str_alarm_tpms_calibration_idx[];
#define str_alarm_vacuum_booster_len 14
extern const unsigned int str_alarm_vacuum_booster_idx[];
#define str_alarm_vacuum_pump_len 7
extern const unsigned int str_alarm_vacuum_pump_idx[];
#define str_alarm_will_lost_power_len 15
extern const unsigned int str_alarm_will_lost_power_idx[];
#define str_face_recognition_cover_1_len 6
extern const unsigned int str_face_recognition_cover_1_idx[];
#define str_face_recognition_cover_2_len 10
extern const unsigned int str_face_recognition_cover_2_idx[];
#define str_face_recognition_front_len 12
extern const unsigned int str_face_recognition_front_idx[];
#define str_face_recognition_identification_1_len 11
extern const unsigned int str_face_recognition_identification_1_idx[];
#define str_face_recognition_identification_2_len 6
extern const unsigned int str_face_recognition_identification_2_idx[];
#define str_face_recognition_left_len 7
extern const unsigned int str_face_recognition_left_idx[];
#define str_face_recognition_right_len 7
extern const unsigned int str_face_recognition_right_idx[];
#define str_face_recognition_success_1_1_len 4
extern const unsigned int str_face_recognition_success_1_1_idx[];
#define str_face_recognition_success_1_2_len 9
extern const unsigned int str_face_recognition_success_1_2_idx[];
#define str_face_recognition_success_2_len 6
extern const unsigned int str_face_recognition_success_2_idx[];
#define str_hint_HDC_cannot_ACC_len 13
extern const unsigned int str_hint_HDC_cannot_ACC_idx[];
#define str_hint_acc_error_len 7
extern const unsigned int str_hint_acc_error_idx[];
#define str_hint_acc_exit_len 8
extern const unsigned int str_hint_acc_exit_idx[];
#define str_hint_acc_reset_len 13
extern const unsigned int str_hint_acc_reset_idx[];
#define str_hint_acc_timeout0_len 11
extern const unsigned int str_hint_acc_timeout0_idx[];
#define str_hint_acc_timeout1_len 9
extern const unsigned int str_hint_acc_timeout1_idx[];
#define str_hint_acc_unavailable_len 8
extern const unsigned int str_hint_acc_unavailable_idx[];
#define str_hint_acc_waiting_now_len 15
extern const unsigned int str_hint_acc_waiting_now_idx[];
#define str_hint_ae_len 8
extern const unsigned int str_hint_ae_idx[];
#define str_hint_auto_leaving_len 5
extern const unsigned int str_hint_auto_leaving_idx[];
#define str_hint_auto_leaving_cancel_len 7
extern const unsigned int str_hint_auto_leaving_cancel_idx[];
#define str_hint_auto_leaving_ok_len 7
extern const unsigned int str_hint_auto_leaving_ok_idx[];
#define str_hint_auto_leaving_pause_len 7
extern const unsigned int str_hint_auto_leaving_pause_idx[];
#define str_hint_auto_parking_len 7
extern const unsigned int str_hint_auto_parking_idx[];
#define str_hint_auto_parking_cancel_len 6
extern const unsigned int str_hint_auto_parking_cancel_idx[];
#define str_hint_auto_parking_ok_len 6
extern const unsigned int str_hint_auto_parking_ok_idx[];
#define str_hint_auto_parking_pause_len 6
extern const unsigned int str_hint_auto_parking_pause_idx[];
#define str_hint_autohold_ready_len 14
extern const unsigned int str_hint_autohold_ready_idx[];
#define str_hint_automatic_lane_change_unavailable_len 9
extern const unsigned int str_hint_automatic_lane_change_unavailable_idx[];
#define str_hint_brake_aid_active_len 9
extern const unsigned int str_hint_brake_aid_active_idx[];
#define str_hint_brake_weak_len 12
extern const unsigned int str_hint_brake_weak_idx[];
#define str_hint_buckle_up_d_len 9
extern const unsigned int str_hint_buckle_up_d_idx[];
#define str_hint_buckle_up_p_len 8
extern const unsigned int str_hint_buckle_up_p_idx[];
#define str_hint_cannot_active_ACC_len 12
extern const unsigned int str_hint_cannot_active_ACC_idx[];
#define str_hint_charging_gear_0_len 13
extern const unsigned int str_hint_charging_gear_0_idx[];
#define str_hint_charging_gear_1_len 13
extern const unsigned int str_hint_charging_gear_1_idx[];
#define str_hint_charging_gear_2_len 11
extern const unsigned int str_hint_charging_gear_2_idx[];
#define str_hint_charging_gear_3_len 10
extern const unsigned int str_hint_charging_gear_3_idx[];
#define str_hint_check_switch_len 7
extern const unsigned int str_hint_check_switch_idx[];
#define str_hint_close_door_len 11
extern const unsigned int str_hint_close_door_idx[];
#define str_hint_cruise_abort_len 6
extern const unsigned int str_hint_cruise_abort_idx[];
#define str_hint_detecting_parking_cell_len 5
extern const unsigned int str_hint_detecting_parking_cell_idx[];
#define str_hint_distracted_state_acc_unavailable_len 8
extern const unsigned int str_hint_distracted_state_acc_unavailable_idx[];
#define str_hint_donot_change_track_len 7
extern const unsigned int str_hint_donot_change_track_idx[];
#define str_hint_door_lb_open_len 6
extern const unsigned int str_hint_door_lb_open_idx[];
#define str_hint_door_lf_open_len 6
extern const unsigned int str_hint_door_lf_open_idx[];
#define str_hint_door_rb_open_len 6
extern const unsigned int str_hint_door_rb_open_idx[];
#define str_hint_door_rf_open_len 6
extern const unsigned int str_hint_door_rf_open_idx[];
#define str_hint_driving_assist_limited_len 8
extern const unsigned int str_hint_driving_assist_limited_idx[];
#define str_hint_face_welcome_len 6
extern const unsigned int str_hint_face_welcome_idx[];
#define str_hint_first_close_door1_len 5
extern const unsigned int str_hint_first_close_door1_idx[];
#define str_hint_forward_collision_system_close_len 10
extern const unsigned int str_hint_forward_collision_system_close_idx[];
#define str_hint_forward_collision_warning_len 6
extern const unsigned int str_hint_forward_collision_warning_idx[];
#define str_hint_front_camera_blocked_len 7
extern const unsigned int str_hint_front_camera_blocked_idx[];
#define str_hint_front_radar_low_visibility_len 8
extern const unsigned int str_hint_front_radar_low_visibility_idx[];
#define str_hint_hold_steering_wheel_len 6
extern const unsigned int str_hint_hold_steering_wheel_idx[];
#define str_hint_iic_communication_exception_len 16
extern const unsigned int str_hint_iic_communication_exception_idx[];
#define str_hint_keep_safe_distance_len 7
extern const unsigned int str_hint_keep_safe_distance_idx[];
#define str_hint_key_bat_lack_len 7
extern const unsigned int str_hint_key_bat_lack_idx[];
#define str_hint_key_inside_len 5
extern const unsigned int str_hint_key_inside_idx[];
#define str_hint_key_not_found_len 6
extern const unsigned int str_hint_key_not_found_idx[];
#define str_hint_lane_aid_active_len 6
extern const unsigned int str_hint_lane_aid_active_idx[];
#define str_hint_lane_aid_exit_len 9
extern const unsigned int str_hint_lane_aid_exit_idx[];
#define str_hint_lane_aid_unavailable_len 9
extern const unsigned int str_hint_lane_aid_unavailable_idx[];
#define str_hint_lane_deviation_len 7
extern const unsigned int str_hint_lane_deviation_idx[];
#define str_hint_manual_lane_change_len 5
extern const unsigned int str_hint_manual_lane_change_idx[];
#define str_hint_open_esp_len 12
extern const unsigned int str_hint_open_esp_idx[];
#define str_hint_parking_gear_r_len 10
extern const unsigned int str_hint_parking_gear_r_idx[];
#define str_hint_parking_release_len 9
extern const unsigned int str_hint_parking_release_idx[];
#define str_hint_power_ready_len 4
extern const unsigned int str_hint_power_ready_idx[];
#define str_hint_rear_radar_low_visibility_len 8
extern const unsigned int str_hint_rear_radar_low_visibility_idx[];
#define str_hint_release_brake_len 10
extern const unsigned int str_hint_release_brake_idx[];
#define str_hint_searching_parking_cell_len 12
extern const unsigned int str_hint_searching_parking_cell_idx[];
#define str_hint_shutdown_len 9
extern const unsigned int str_hint_shutdown_idx[];
#define str_hint_slow_drive_through_cars_len 6
extern const unsigned int str_hint_slow_drive_through_cars_idx[];
#define str_hint_start_up_len 9
extern const unsigned int str_hint_start_up_idx[];
#define str_hint_summoning_len 3
extern const unsigned int str_hint_summoning_idx[];
#define str_hint_summoning_ok_len 5
extern const unsigned int str_hint_summoning_ok_idx[];
#define str_hint_summoning_pause_len 4
extern const unsigned int str_hint_summoning_pause_idx[];
#define str_hint_switch_gears_too_fast_len 6
extern const unsigned int str_hint_switch_gears_too_fast_idx[];
#define str_hint_switch_not_P_len 12
extern const unsigned int str_hint_switch_not_P_idx[];
#define str_hint_switched_to_n_1_len 13
extern const unsigned int str_hint_switched_to_n_1_idx[];
#define str_hint_switched_to_n_2_len 5
extern const unsigned int str_hint_switched_to_n_2_idx[];
#define str_hint_take_care_door_open_len 5
extern const unsigned int str_hint_take_care_door_open_idx[];
#define str_hint_take_over_speed_control_len 8
extern const unsigned int str_hint_take_over_speed_control_idx[];
#define str_hint_take_over_steering_len 8
extern const unsigned int str_hint_take_over_steering_idx[];
#define str_hint_take_rest_len 10
extern const unsigned int str_hint_take_rest_idx[];
#define str_hint_take_rest_1_0_len 6
extern const unsigned int str_hint_take_rest_1_0_idx[];
#define str_hint_take_rest_1_1_len 5
extern const unsigned int str_hint_take_rest_1_1_idx[];
#define str_hint_tired_state_acc_unavailable_len 8
extern const unsigned int str_hint_tired_state_acc_unavailable_idx[];
#define str_hint_track_cancel_len 4
extern const unsigned int str_hint_track_cancel_idx[];
#define str_hint_watch_out_len 5
extern const unsigned int str_hint_watch_out_idx[];
#define str_hint_watch_out_1_len 7
extern const unsigned int str_hint_watch_out_1_idx[];
#define str_hint_watch_out_2_1_len 7
extern const unsigned int str_hint_watch_out_2_1_idx[];
#define str_hint_watch_out_2_2_len 10
extern const unsigned int str_hint_watch_out_2_2_idx[];
#define str_module_media_null_artist_len 2
extern const unsigned int str_module_media_null_artist_idx[];
#define str_module_media_null_song_len 3
extern const unsigned int str_module_media_null_song_idx[];
#define str_module_phone_unknown_len 5
extern const unsigned int str_module_phone_unknown_idx[];
#define HintAlarm_MAX_STRING_LEN 20
#endif//___SRC_INSRENDER_RES_TXTHINTALARM_H_INCLUDE_

Binary file not shown.