Kanzi
西_瓜_瓜
《黑客帝国》的代码世界
展开
-
Kanzi基础---中文乱码
Kanzi中自带的字库是没有中文字体的,如果想要显示中文需要导入字体,比如思源黑体等等。由于kanzi识别的是等宽字符,需要定义等宽字符串,转换成UTF8格式进行设置。#include <locale>#include <codecvt> std::string wstringToUtf8(const std::wstring& str) { std::wstring_convert<std::codecvt_utf8<...原创 2021-04-28 12:16:46 · 485 阅读 · 0 评论 -
Kanzi中级3:写Shader特效,如何画一个圆弧形的光点,类似于太阳系的星球
此shader画的是一个圆形,显示半圆的光亮点,圆弧可以旋转。顶点着色器:attribute vec3 kzPosition;uniform highp mat4 kzProjectionCameraWorldMatrix;void main(){ precision mediump float; gl_Position = kzProjectionCameraWorld...原创 2020-04-18 22:35:37 · 1375 阅读 · 0 评论 -
Kanzi Bug:无法播放状态机中录制的动画
kanzi 版本:kanzi3.2.3、kanzi3.2.9、kanzi3.2.15均出现以上版本。kanzi原创 2020-04-16 22:20:07 · 407 阅读 · 0 评论 -
kanzi与第三方app融合,比如地图导航视频、互联娱乐视频
kanzi app 、第三方app。2个app窗口进行融合,如下图所示:黑色的是kanzi应用,透过去的是地图导航视频。做法如下:1, Kanzi studio中设置挖洞的mask,让ui工程师提供挖洞背景图片即可,挖一个透明的洞,洞的形状可以是任意形状,透过洞可以看到下面的第三方窗口。2,使用api来设置窗口的层级,kanzi设置为顶层,在QNX系统下的嵌入式板子,可以更改Pipelin...原创 2020-04-15 23:03:47 · 841 阅读 · 0 评论 -
Kanzi中级1:Shader材质渲染管道原理
**渲染管道(Graphics Pipeline)**在 OpenGL ES 1.0 版本中,支持固定管线,而 OpenGL ES 2.0 版本不再支持固定管线,只支持可编程管线。管线(pipeline)也称渲染管线,因为 OpenGL ES在渲染处理过程中会顺序执行一系列操作,这一系列相关的处理阶段就被称为OpenGL ES 渲染管线。原创 2020-04-04 15:11:46 · 1722 阅读 · 0 评论 -
Kanzi中级2:写Shader在图片中挖一个洞
在kanzi中写材质是我们在实现比较炫酷的效果的一种做法,基本在opengl中的大部分简单效果都能在kanzi中实现,以下是一张图片中,只显示一部分图片的效果,相当于在图片中挖了一个洞顶点着色器:attribute vec3 kzPosition;attribute vec2 kzTextureCoordinate0;uniform highp mat4 kzProjectionCamer...原创 2020-04-04 15:05:32 · 1301 阅读 · 2 评论 -
Kanzi基础---configure配置文件
kanzi加载启动的时候都需要加载默认选项的,有相应的配置文件及函数kanzi对app的配置有两个地方:1,设置kanzi studio工程的 xxxx.cfg 配置文件eg: myApplication.exe -config=myConfiguration.cfg2,在C++程序中配置 onConfig() 回调函数eg: configuration.configu原创 2017-04-27 22:41:00 · 2487 阅读 · 2 评论 -
Kanzi基础---打印刷新帧FPS
在kanzi如果要打印当前app运行的刷新的fps,以便对性能进行优化,可以调用kanzi的接口进行显示,kanzi已经封装很多性能信息,为了节省资源开销默认不显示的。1,在onConfigure()开启HUD显示信息configuration.previewProperties.fpsInfoEnabled = true;//打印全部的HUD信息如果要限制fps可以在此函原创 2017-04-27 22:39:22 · 1450 阅读 · 0 评论 -
Kanzi App 启动时间
Kanzi app 启动时间计算方法:在onConfigure() 中记录下第一个时间,在onPostRender() 第一次的时候记录下第二个时间,第二次的时间减去第一次的就是启动速度1、函数原型:KZ_HEADER_BEGIN KANZI_API kzUintkzsTimeGetCurrentTimestamp(void)返回当前的系统运行到此函数的时间点(ms原创 2017-05-09 22:59:01 · 1311 阅读 · 1 评论 -
Kanzi基础---C++访问Kanzi节点
C++代码与kanzi的交互,kanzi提供了3中方法让外部的代码可以访问kanzi的节点:1、alias属性的节点SrceenSharedPtr screen = getScreen(); //获取kanzi的唯一屏幕节点Node2DSharedPtr rootPage = screen->getChild(0); //对应类型的智能指针,获取屏幕的第一个节点(根节点从0开始原创 2017-04-23 22:46:59 · 1952 阅读 · 0 评论 -
Kanzi基础---Kanzi的4层框架
System封装了各个系统相关的api,比如窗口系统,graphics api,输入输出,线程,时间等Corekanzi的核心数据结构,以及渲染算法userkanzi的控件,用户apiApplication各个操作系统的入口函数,比如main,winmain,activity等等kanzi程序的生命周期及回调接口main()c原创 2017-04-23 22:44:55 · 4675 阅读 · 0 评论 -
Kanzi基础---Kanzi基本概念
Kanzi Studio是kanzi的UI编辑器,最近kanzi开始从外国进入中国市场,主要服务于车载电子的中控、仪表盘界面设置。kanzi目录结构:安装完kanzi之后会看到下图的目录结构:KanziWorkspace:安装完kanzi之后会有一个对应的kanzi工作空间,集成了kanzi的开发环境,后续的开发将会在这个目录里。Projects:工程目录,在kan原创 2017-04-16 15:27:14 · 15882 阅读 · 2 评论 -
Kanzi基础---Button控件
Kanzi中的控件都是可以自定义的,控件只负责做逻辑控制,不定义控件的形状,可以是球、plane面板、无形的区域、text文本等等。一个控件可以由底下的所有对象组成,点击底下的任一对象,控件都会发出消息。一个Button控件,控件下会有许多消息,当点击时会发出相应的消息,用法跟常规的一样了,只不过UI设计师会有更多的选择进行开发。原创 2017-04-16 19:40:47 · 1373 阅读 · 0 评论