新的strchr/strrchr/ClipFilename/ClipLastPathname函数

2018年8月22日 由 admin 没有评论 »

参见范例Example.DataType.StrCharTest

str: “hello,world!”
strchr(str,’,’) return “,world!”
strrchr(str,strlen(str),’,’) return “,world!”
strchr(str,”el”,2) return “ello,world!”
strrchr(str,strlen(str),”el”,2) return “ld!”
strrchr(str,strlen(str),3,’l’) return “lo,world!”
strrchr(str,strlen(str),3,”el”,2) return “lo,world!”
ClipFilename(“C:\1.txt”) return “1.txt”
ClipLastPathname(“C:\1\2”) return “2”
ClipLastPathname(“C:\1\2\”) return “2”
ClipLastPathname(“C:\1\2\\”) return “2”

新的HASH算法SHA1LE

2018年7月27日 由 admin 没有评论 »

SHA1LE算法是我们自定义的一种SHA1算法变种,它的计算方法与SHA1一致,改动如下:

  1. 去掉了因BigEndian设计造成的LittleEndian处理器需要做大小头转换的部分
  2. 可自定义起始因子
  3. 可动态修改扰乱因子

我们开通云服务了

2018年7月18日 由 admin 没有评论 »
  • 官方网站 cloud.hyzgame.com
  •  云服务器
    • 北京节点,最低CNY48/月
    • 香港节点,最低CNY69/月
  • 服务器租赁/托管
    • 北京水立方BGP机房
    • 广州双线机房
    • 广州电信机房
    • 广州联通机房
    • 1U/2U规格
  • Symantec SSL证书办理
    • OVSSL/EV SSL
    • 单域名/多域名
    • 1-3年有效期

 

新日志系统

2018年7月17日 由 admin 没有评论 »

日志系统一直是SDK的重中之中,在DOS时代,单机无法调试图形界面程序的情况下。日志系统是调试信息来源的重要途径。

从单纯的文本文件输出,到 控制台、文件等 等 的多端输出,从单线程到多线程,我们的日志系统经历了一次次的更新与换代。

现在,我们又将迎来全新一代的日志系统。

  1. 多线程日志获取
  2. 多线程日志输出
  3. 多端输出(本地文件、远端服务器)
  4. 详细分类信息(时间,线程,文件,模块)
  5. 多语种模板化支持
  6. 性能、内存等信息自动输出
  7. 可视化图形报表与日志分析查看工具
  8. 等等许多其它改进

模板成员函数名称统一

2018年7月16日 由 admin 没有评论 »
  1. FileConfirm函数改名为FileExist
  2. ActiveChain模板中的flag/data改名为key/value
  3. Map/ActiveChain模板中的DeleteByIndex/DeleteByFlag改名为DeleteByKey
  4. Map/List/ActiveChain模板中DeleteByData改名为DeleteByValue
  5. Map模板中的FindByData改名为FindByValue
  6. List模板增加IsExist函数
  7. Map模板增加KeyExist,ValueExist函数

引擎源代码已全部迁移至GitHub

2018年4月18日 由 admin 没有评论 »

最新网址,欢迎Fork
https://github.com/hyzboy/CMGameEngine

以画点方式画2D矩形,减少数据传输量

2017年11月14日 由 admin 没有评论 »

主要思想是以画点模式绘图,在一个顶点数据下保存left,top,right,bottom四个数据。在Geometry shader中转换成Triangle Strip。

Vertex Shader
#version 330 core

uniform mat4 ModelViewProjectionMatrix;
layout(location=0) in vec4 Vertex;
void main()
{
vec4 lt=vec4(Vertex.xy,vec2(0,1));
vec4 rb=vec4(Vertex.zw,vec2(0,1));

vec4 lt_fin=lt*ModelViewProjectionMatrix;
vec4 rb_fin=rb*ModelViewProjectionMatrix;

gl_Position=vec4(lt_fin.xy,rb_fin.xy);
}

Geometry Shader
#version 330 core

layout (points) in;
layout (triangle_strip,max_vertices=4) out;

void main()
{
vec2 lt=gl_in[0].gl_Position.xy;
vec2 rb=gl_in[0].gl_Position.zw;

gl_Position=vec4(lt, vec2(0,1));EmitVertex();
gl_Position=vec4(lt.x,rb.y, vec2(0,1));EmitVertex();
gl_Position=vec4(rb.x,lt.y, vec2(0,1));EmitVertex();
gl_Position=vec4(rb, vec2(0,1));EmitVertex();

EndPrimitive();
}

Workflow模板,多线程操作简易化

2017年8月23日 由 admin 没有评论 »

在这个模板的范例中,我们为每一个线程指定一个工作颜色。但发放了总计256*线程数量的工作任务。

范例multhread/WorkflowTest,每个线程各有一个工作投递器,独立发放工作。

范例multhread/WorkflowTestUnsort,所有线程共用一个工作投递器,抢占式执行工作。

3D场景显示

2017年7月21日 由 admin 没有评论 »

静态模型显示

2017年6月30日 由 admin 没有评论 »