3 weixin_38498942

尚未进行身份认证

暂无相关简介

等级
TA的排名 3w+

MQTT和CoAP对比

1、MQTT和CoAP协议通信流程图1.1 MQTT和CoAP协议通信流程图示1.2 MQTT和CoAP协议业务对比图示2. 什么是MQTT?MQTT(Message Queuing Telemetry Transport),为IBM和Eurotech共同制定出来的protocol。MQTT是一种机器到机器(M2M)/“物联网”连接协议。它被设计为一个非常轻量级的发布/订阅消息传输。...

2020-02-21 16:36:21

人体骨骼关键点检测综述(2)

五、OpenPose库OpenPose人体姿态识别项目是美国卡耐基梅隆大学(CMU)基于卷积神经网络和监督学习并以Caffe为框架开发的开源库。可以实现人体动作、面部表情、手指运动等姿态估计。适用于单人和多人,具有极好的鲁棒性。是世界上首个基于深度学习的实时多人二维姿态估计应用,基于它的实例如雨后春笋般涌现。其理论基础来自Realtime Multi-Person 2D Pose Estimati...

2020-02-20 13:43:13

人体骨骼关键点检测综述(1)

一、简介实现人体检测,通常采用人体姿态估计(Human Posture Estimation),即将图片中已检测到的人体关键点正确联系起来,从而实现人体姿态的估计,实现人体的检测。人体关键点通常对应人体上有一定自由度的关节,比如颈、肩、肘、腕、腰、膝、踝等。通过对人体关键点在三维空间相对位置的计算,可以估计人体当前的姿态。同时如果增加时间序列,在一段时间内观测人体关键点的位置变化,可以更加准确...

2020-02-19 16:14:00

NB-IOT 通信问题-IP老化

1.IP老化问题在项目中,存在设备端订阅后,通过app下发数据失败的问题,问题定位:IP会出现老化(通信的IP和端口发生变化)。由于UDP 通信方式,终端通过核心网EPC 与其他公网的服务器通信 时,EPC 会将内网的IP 映射成一个外网的IP 加端口,这一映射关系存在老化机制。实际测试发现:如果成功入网的设备超过2 分钟不与公网服务器进行数据交互,则上次通信的IP 及端 口映射关系失效,此时即...

2020-02-18 15:47:32

固定渲染管线(2)

一、 简介接续上节我们讲到的内容,我们继续对固定渲染管线的几何阶段进行分析。二、固定渲染管线几何阶段(GPU)几何阶段主要负责顶点坐标变换、光照、裁剪、投影以及屏幕映射,该阶段基于GPU进行计算,该阶段的末尾得到经过变换和投影之后的顶点坐标、颜色、 以及纹理坐标。其主要工作可以概括为“变换三维顶点坐标”和“光照计算”。我们的显卡信息中通常会有一个标示为“T&L”的硬件部分,T即是T...

2020-02-17 15:40:38

固定渲染管线(1)

一•、简介图形渲染管道被认为是实时图形渲染的核心,简称为管道。管道的主要功能是由给定的虚拟摄像机、三维物体、灯源、光照模型、纹理贴图或其他来产生或渲染一个二维图像。由此可见,渲染管线是实时渲染技术的底层工具。图像中物体的位置及形状是通过它们的几何描述、环境特征、以及该环境中虚拟摄像机的摆放位置来决定的。物体的外观受到了材质属性、灯源、贴图以及渲染模式(sharding modles)的影响。很...

2020-02-17 15:39:01

渲染管线概述

一、简介渲染管线也称为渲染流水线,是芯片内部处理图形信号相互独立的并行处理单元。一个流水线是一序列可以并行和按照固定顺序进行的阶段,每个阶段都从它的前一阶段接收输入,然后把输出发给随后的阶段。二、渲染管线着色器定义了对象本身的外观(其材质属性)以及它如何对光线做出反应。由于照明计算必须内置到着色器中,并且有许多可能的光影类型,因此编写“正常工作”的高质量着色器将是一项相关任务。为了使它更容易...

2020-02-13 12:16:39

OpenGL纹理加载(2)

一、简介在上一节中,我们介绍了OpenGL纹理加载的主要过程,主要带大家了解了stb_image.h库的使用,相信大家对此应该都有了自己的理解,它可以轻松的将png图片转化为字节序列,格式有RGB、RGBA,对应我们的glTexImage2D函数中的参数。二、纹理加载应用纹理:后面的这部分我们会使用glDrawElements绘制「你好,三角形」教程最后一部分的矩形。我们需要告知OpenG...

2020-02-11 16:51:33

OpenGL纹理加载(1)

一、 简介使用纹理之前要做的第一件事是把它们加载到我们的应用中。纹理图像可能被储存为各种各样的格式,每种都有自己的数据结构和排列,将其加载到应用之中存在两种方法:1、 自己写一个图像加载器,将图像转化为字节序列。2、 使用一个支持多种流行格式的图像加载库来为我们解决这个问题。比如说我们要用的stb_image.h库。stb_image.h:stb_image.h是Sean Barrett...

2020-02-11 16:36:42

OpenGL纹理介绍

一、 简介现实生活中,纹理最通常的作用是装饰我们的物体模型,它就像是贴纸一样贴在物体表面,使得物体表面拥有图案。但实际上在OpenGL中,纹理的作用不仅限于此,它可以用来存储大量的数据。现代OpenGL中,纹理对象和顶点数组对象(VAO)及缓存对象(VBO)一样,需要调用glGenTextures函数生成。同样的,纹理对象需要进行绑定。OpenGL中纹理可以分为1D,2D和3D纹理,我们在绑...

2020-02-11 15:31:15

延迟着色法-G缓冲(2)

一、简介上篇文章中我们着重的介绍了G缓冲,相信大家对此也就有了自己的认知,因此在接下来我们将会进入延迟光照的最后阶段,即最后的处理阶段。二、延迟光照-G缓冲延迟光照处理阶段:现在我们已经有了一大堆的片段数据储存在G缓冲中供我们处置,我们可以选择通过一个像素一个像素地遍历各个G缓冲纹理,并将储存在它们里面的内容作为光照算法的输入,来完全计算场景最终的光照颜色。由于所有的G缓冲纹理都代表的是最...

2020-02-05 12:04:40

延迟着色法-G缓冲(1)

一、 简介G缓冲(G-buffer)是对所有用来储存光照相关的数据,并在最后的光照处理阶段中使用的所有纹理的总称。趁此机会,让我们顺便复习一下在正向渲染中照亮一个片段所需要的所有数据:• 一个3D位置向量来计算(插值)片段位置变量供lightDir和viewDir使用• 一个RGB漫反射颜色向量,也就是反照率(Albedo)• 一个3D法向量来判断平面的斜率• 一个镜面强度(Specul...

2020-02-05 11:52:46

OpenGL高级光照-延迟着色法

一、简介我们现在一直使用的光照方式叫做正向渲染(Forward Rendering)或者正向着色法(Forward Shading),它是我们渲染物体的一种非常直接的方式,在场景中我们根据所有光源照亮一个物体,之后再渲染下一个物体,以此类推。它非常容易理解,也很容易实现,但是同时它对程序性能的影响也很大,因为对于每一个需要渲染的物体,程序都要对每一个光源每一个需要渲染的片段进行迭代,这是非常多的...

2020-02-05 11:30:40

OpenGL文字渲染

一、简介由于OpenGL本身并没有定义如何渲染文字到屏幕,也没有用于表示文字的基本图形,我们必须自己定义一套全新的方式才能让OpenGL来绘制文字。目前一些技术包括:通过GL_LINES来绘制字形、创建文字的3D网格、将带有文字的纹理渲染到一个2D方块中。二、文字渲染在早期渲染文字时,选择你应用程序的字体(或者创建你自己的字体)来绘制文字是通过将所有用到的文字加载在一张大纹理图中来实现的。这...

2020-01-22 13:24:40

OpenGL调试(2)

一、简介上一节中我们着重介绍了glGetError()函数,包括它的注意事项、用法以及返回值介绍等,本节中我们将继续对OpenGL调试进行更为深入的介绍。二、OpenGL调试(Debug Output)的OpenGL拓展十一个非常有用的工具,它在4.3版本之后变为了核心OpenGL的一部分。通过使用调试输出拓展,OpenGL自身会直接发送一个比起更为完善的错误或警告信息给用户。它不仅提供了更...

2020-01-22 13:23:28

OpenGL调试(1)

一、简介图形编程因为存在大量的接口函数,并且它们对于参数都有严格的定义,因此在有些情况下就会发生什么东西渲染错了,甚至于根本就没有渲染。同时由于我们的大部分时间都在与像素打交道,当出现了错误的时候寻找错误的源头可能会非常的困难。调试这样的视觉错误与往常熟悉的CPU调试不同,我们没有一个可以用来输出文本的控制台,在GLSL代码中也不能设置断点,更没有方法来检测CPU的运行状态。二、OpenGL调...

2020-01-22 13:22:39

Adreno平台程序优化(2)

一、简介Adreno GPU的另一个重要的体系结构亮点是基于图块的渲染,有时也称为合并。 TBR是一种将场景帧缓冲区分成较小区域进行渲染的机制,从而优化了总体渲染。 Adreno GPU的基于图块的渲染机制使用两次通过算法来渲染场景。 第一遍将每个原语与一组BinID和背面信息相关联。 每帧执行一次此过程。 在第二遍中,这些BinID用于平凡拒绝属于正在渲染的当前bin之外的图元,并执行早期背面...

2020-01-15 14:28:37

Adreno平台程序优化(1)

一、简介Adreno GPU还支持某些硬件功能,在深入了解优化准则之前,需要了解这些功能。 以下是其中一些硬件功能。二、Adreno平台程序优化Adreno GPU支持统一着色器模型,该模型允许在所有着色器类型(顶点和片段着色器)中使用一致的指令集。 用硬件术语来说,Adreno GPU具有计算单元,即算术逻辑单元或ALU,支持片段着色器和顶点着色器。 在移动GPU行业中常见的另一种着色器体...

2020-01-15 14:27:48

Adreno平台编程

一、简介Snapdragon是当今Android中功能最强大且使用最广泛的处理器之一,以及Windows智能手机和平板电脑。Snapdragon处理器将所有一流的移动组件集中在一块芯片上,确保基于Snapdragon的设备以极为节能的集成解决方案提供最新的移动用户体验。二、Adreno平台编程Direct3D 11.1功能级别9_3概述Microsoft Direct3D 11.1 API...

2020-01-15 14:23:40

Vulkan临时缓冲区

一、简介相比于显卡内部读取数据,单纯从CPU访问内存数据的方式性能不是最佳的。最佳的方式是采用VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT标志位,通常来说用在专用的图形卡,CPU是无法访问的。二、临时缓冲区创建临时缓冲区:比较理想的实现方式是创建辅助函数来完成。如下创建函数createBuffer以及createVertexBuffer:void createB...

2020-01-09 16:53:39

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。