- 博客(108)
- 资源 (48)
- 收藏
- 关注
原创 Qt Android sdk配置报错解决
使用的jdk8总是失败,报错command tools run以及platform sdk等问题。后来主要是设置jdk版本为17,就配置生效了。Android sdk路径可以选用Android Studio自带的,但是也要在Qt中点击“设置SDK”按钮做必要的下载更新等。
2024-02-24 09:57:28
1343
原创 com.intellij.openapi.externalsystem.model.externalsystemexception 问题解决
最近从github更新vulkan samples,发现无法编译。主要报错就是标题中的问题,搜了一下没有直接解决我的问题的回答,这里就记录下我的解决办法,希望可以帮助到其他人。该工程gradle中配置的externalNativeBuild里面有个cmake版本,写的是3.12.0+,应该没问题的,以前也这么写的。但是新的Android Studio(Android Studio Arctic Fox | 2020.3.1 Patch 4)版本好像不支持了,会报错。关键是报错不说明是cmake版本低,而
2021-12-18 15:35:43
18490
原创 公网ipv6远程桌面
使用了一段时间的公网ipv4,路由器获取的是公网ip,不定期变换。但是也就上海联通和电信有,换了上海移动就没有公网ip了。公网ip用脚本更新到自己的域名,再加上端口映射,访问家里的电脑是很方便的,不用其他服务器跳板,也就是不中转了,速度很快,延迟60ms。但是移动的没有公网ip,想直连家里的机器就要想别的办法了。就上海和江苏地区来说,ipv6的可用性是很高的。目前三大运营商都部署了ipv6,家里的光猫是有ipv6的公网ip的,且手机流量上网的情况下,可以直接获取到ipv6的地址,无需配置。所以现在直
2021-12-11 10:26:06
9856
6
原创 samba文件显示为目录-不显示文件及文件夹 - user.DOSATTRIB问题解决
samba配置好之后,用得一直可以。但是后来遇到一些问题,就是有些文件和目录在windows上通过samba共享看不到。由于被折磨很久,慢慢积累了一些经验,发现从windows上拷贝到共享盘,那么可以看到拷贝的内容。但是如果ubuntu上拷贝到共享盘,windows就看不到。设置文件权限等都查看没问题,和能正常访问的一样。搜索很多解决方案都无效,特别沮丧。其中有一次是在windows上发现文件变成了目录,查看目录属性,发现是存档模式,取消后有了效果可以访问了,但是后来就不管用了。经过不懈尝试,找到一
2021-10-30 01:35:34
5378
2
原创 windows快捷键失效 - 重启无效 - 插拔键盘解决
被windows快捷键失效问题折磨了很久,快捷键都失效了,包括:windows + ewindows + rwindows + l等等,尝试修复注册表,尝试设置“关闭Windows键热键”为禁用,尝试重启都无效。不懈尝试找到了如下参考:https://blog.youkuaiyun.com/hxp1994/article/details/90046477通过重新插拔键盘解决了该问题,表示感谢。键盘确实一直插着也不会拔掉,笔记本经常休眠和唤醒,可能导致了该问题。但是话说回来,一般情况
2021-10-26 22:54:04
2672
3
原创 RealVNC Server Ubuntu 20.04 无显示器连接 虚拟显示器
以前尝试过完全不接显示器,vnc连接设置总是不成功,这次很容易做成功了,记录一下。以前记录的远程桌面使用心得:https://blog.youkuaiyun.com/u012911347/article/details/80475254RealVNC远程连接带显示器模式:https://blog.youkuaiyun.com/u012911347/article/details/81209222RealVNC远程连接无显示器模式,但是要用非原生桌面:https://blog.youkuaiyun.com/u012911
2021-02-25 21:42:08
10520
11
原创 C++及计算机基础知识 - 03
1 静态数据成员静态数据成员只能在外部初始化。静态的好处就是,它与类的实例无关,不需要this指针,一切不需要实例化就可以有确定行为方式的函数都应该设计成静态的。对于某些设计模式如singleton,以及可以封装的方法,如Math::sin(),肯定比实例化一个math,然后math.sin()好用,这样还需要构造赋值等。2 struct如果有结构体Person,那么:stru...
2020-11-26 22:22:01
267
2
原创 github上传代码 - 登录失败- 选择ssh方式
提交github的时候,出现了认证失败问题。原来还是可以的,现在决定用ssh了,因为同一用mobaxterm,放的git config文件会和git bash的不一样路径,毕竟不是linux环境,在windows下home目录是软件各自指定的。moba的home是这里:放一个.giconfig,模仿如下内容替换:[user] name = zs email = 182@qq.com然后.ssh目录下放公钥密钥对,并将ssh公钥在github上配置好,领取的时候注意替换为ssh方式,
2020-11-25 13:06:31
580
原创 Google Filament引擎编译记录
我之前写过两篇Filament编译文档,就在我的网站上,可以到如下地址找到:https://byteori.com/doc.html现在又在做安卓有关开发和编译的问题,尤其是涉及到C++原生代码编译so文件,然后安卓端引入打包成apk,这一套流程Filament都有。另外,它还有Vulkan后端,并配合OpenGL后端可以切换,它还是个PBR渲染引擎,和我目前在做的工作可谓非常吻合。因此,我又要学习Filament了,尤其是编译这一块,是我目前主要需要打通的工作点。更多的不写了,前面两篇文档记录
2020-03-28 10:49:38
2708
4
原创 Unreal4.23配置安卓编译环境;结合Android Studio;编译windows和安卓
使用Unreal不多,本博客就编译配置等做简单记录。Windows平台,运行Unreal,选了一个小车的工程:这个是C++的,不是蓝图的。打开之后点击播放和启动都能运行:然后点击编译,会在工程目录下得到Build和Binaries目录,里面有编译后的东西。不过运行Binaries目录下的失败了,然后我用这种方式编译好了:接着配置Unreal的安卓编译环境,网上许多博客都...
2019-11-25 15:32:42
1626
3
原创 Ubuntu18.04 CUDA10.0 Tensorflow 2.0 键盘鼠标无响应问题解决
最近换了笔记本,配置了Windows和Ubuntu双系统,前面还简单记录了遇到的小问题:https://blog.youkuaiyun.com/u012911347/article/details/103050857这里安装cuda和tensorflow也遇到了新问题,和上一篇一样,不做太多详细记录,因为都是做了很多次的,只对新问题做一些简单记录。我之前对cuda和tensorflow的安装做过详细记...
2019-11-16 12:07:56
630
原创 Windows和Ubuntu双系统UEFI+GPT安装简易记录
我之前就写过类似的,做成了pdf文档挂在我的主页上了,链接如下:http://www.beavermagic.com/doc/UEFI%E5%8F%8AGPT%E5%AE%89%E8%A3%85Windows10%E5%92%8CUbuntu16.04%E5%8F%8C%E7%B3%BB%E7%BB%9F%E8%A3%85%E6%9C%BA%E7%AC%94%E8%AE%B0.pdf所以这...
2019-11-13 16:08:09
576
原创 C++及计算机基础知识 - 02
以后要坚持刷题了,太久不用C++,很生疏。还要一些计算机的基础知识,也忘得差不多了。我计划将做题过程中遇到的问题记录下来,写成系列,方便以后翻看。1 补码几个特性:补码的正零与负零表示方法相同;对一个整数的补码再求补码,等于该整数自身;正整数的补码是其二进制表示,与原码相同;求负整数的补码,将其原码除符号位外的所有位取反(0变1,1变0,符号位为1不变)后加1。比如-1...
2019-11-13 15:53:04
299
原创 硬盘无法格式化及RAW格式的另一种处理方法
一句话来说,就是Windows自己的格式化和DiskGenius的都失败的时候,可以试一试用Linux;另一个点在于,在失败的时候要格外注意是不是硬盘的问题,因为可能是接口或者数据线或者供电不稳定等因素导致,别因为其他原因却误将好好的硬盘扔了。那么至于你是否可以用我这种方法处理无法格式化的问题,还要看下面的详细描述。问题是这样的,我使用一个笔记本电脑,型号是神舟G6-i78172S1。最近决定...
2019-09-22 19:08:52
21678
5
原创 3D和VR有关概念及原理整理;3D眼镜,3D视频,VR视频等
接触VR有几年了,对VR开发也有了一定的了解。不过最近发现有许多概念和原理是不够清晰的,所以这里特地写一篇博客进行梳理,把涉及到的一些人体生理特性如视觉暂留和视频拍摄及播放技术结合起来进行较深入的理解。下面很多概念可以从百度百科等找到,由于涉及太多,挨个贴引用链接影像阅读,就不这么做了。本来没想写很多,但是确实涉及了较多概念,博客也变很长了,感觉应该能算个不错的科普文章了。首先是视觉暂留,......
2019-08-23 21:20:38
11448
7
原创 树莓派3B+日常使用记录
1 作为点播后台卡顿问题我使用的是树莓派3B+,买的新的三星32G的SD卡,电源也买的新的,供电充足。系统是官方的,目前还只有32位系统,据网上有人自己适配了一些64位系统的测试结果,提升非常大,可能32位系统是性能低下的一个因素。后台使用Nginx和Samba两种,主要做点播。Nginx后端的话,我就用Kodi点播。Samba的话,就直接文件浏览器中双击播放了,使用的播放器是MPC-HC。...
2019-08-20 19:43:30
6914
1
原创 Vulkan更新扩展;Vulkan添加扩展
最近学到了如何更新和添加Vulkan的扩展,就是通过更新驱动的方式。自己写代码制作扩展我不太确定是否可以。问题是这样的:const std::vector<const char*> deviceExtensions = { VK_KHR_SWAPCHAIN_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_N...
2019-07-19 10:48:29
5011
原创 adb常用命令整理
adb会一些简单使用,但是有些用的还不合适,比如我经常用adblogcat加上grep来过滤,但是对于查看某个程序的所有日志信息却不甚了解。这里整理下我常用的adb命令,以后新学习的有关内容更新到此博客。1查看设备命令:adb devices一般输出格式为:List of devices attachedAKC7N18407000033 device...
2019-07-15 14:44:01
1637
原创 C++及计算机基础知识 - 01
学习Vulkan的过程中,跟着教程写了两千行代码,都是C++的。可是工作后C++本来就没用多少,原来的一点基础也都忘得差不多了,所以还是要对一些基础知识整理下,方便以后翻看。1const比如Vulkan中的一段代码:std::vector<VkPhysicalDevice> devices(deviceCount);vkEnumeratePhysicalDevices...
2019-07-09 16:23:37
318
原创 Vulkan教程 - 25 多重采样(教程结束)
现在我们的程序可以加载贴图LOD了,可以在渲染远处对象的时候修复假象。现在图像看起来更平滑了,但是离近看的时候会发现几何边缘线有凹凸不平锯齿状的图案。这个并非我们想要的效果就是锯齿,是用于渲染的像素个数受限导致的。由于没有显示器是无限多像素的,所以总会在某些程度上看到该现象。有一些方法可以处理该问题,本章我们着重看一个比较流行的做法,就是多重采样(MSAA)。一般的渲染中,像素颜色是由单个...
2019-07-08 15:07:35
1419
原创 Vulkan教程 - 24 生成Mip贴图
现在我们的程序可以加载和渲染3D模型了,本章我们再添加一个新的特性,Mip贴图。Mip贴图是被游戏和渲染软件所广泛使用的,Vulkan也对Mip生成给了我们足够的控制。Mip贴图是图像预先计算好的缩小版本。每个新的图像宽高都是之前图像宽高的一半。Mip贴图可以作为LOD的一种格式。远离计算机的对象会从较小的mip图像中采样。使用较小图像能提高渲染速度并避免一些假象,如龟纹。mip级别个数是...
2019-07-05 15:30:58
1136
原创 Vulkan教程 - 23 加载模型
现在你的程序已经为有贴图的3D网格渲染做好准备了,但是现在的顶点和索引数组都是比较无聊的。本章我们扩展该程序来从真实的模型文件加载顶点和索引数据,以让显卡做点真正的工作。许多图形API教程让读者自己写OBJ加载器,这样做的问题是,稍微有点意思的3D程序很快会要求本格式不支持的特性,比如骨骼动画。我们会从OBJ模型加载数据,但是我们主要关注集成网格数据,而不是如何从文件加载。我们会使用tin...
2019-07-04 20:33:07
1819
3
原创 Vulkan教程 - 22 深度缓冲
现在创建的几何对象是投影到3D中的,但是还是完全的平面。本章我们添加一个Z坐标来为3D网格做准备。我们会使用这个第三个坐标来放置一个正方形在我们当前正方形之上,从而引出不进行深度排序存在的问题。修改Vertex结构体来为位置使用3D向量,并更新format:glm::vec3 pos;...attributeDescriptions[0].format = VK_FORMAT_R32...
2019-07-03 20:32:15
1310
原创 Vulkan教程 - 21 组合图像采样器
在统一缓冲章节我们第一次见到了描述符,这一章我们会介绍一个新的描述符,即组合图像采样器。该描述符让着色器通过一个采样器对象访问图像资源成为了可能。修改描述符布局、描述符池和描述符集合以包括组合图像采样器描述符。之后,我们添加贴图坐标到Vertex,修改片段着色器来从贴图读取颜色而不是仅仅对顶点颜色进行插值。浏览到createDescriptorSetLayout方法,添加一个VkDescr...
2019-07-03 16:11:17
905
原创 Vulkan教程 - 20 图像采样器
本章我们继续创建两个资源,用于图形管线采样图像。第一个资源是我们已经见过的,也就是和交换链图像打交道的时候用的,但是第二个则是新的,它和着色器如何从图像读取纹素有关。我们之前就见到过,有了交换链图像和帧缓冲,图像可以通过图像视图访问而不是直接访问。也要为贴图图像创建这样一个图像视图。添加一个类成员textureImageView存储贴图图像的VkImageView,然后创建一个新的方法cr...
2019-07-03 11:38:20
1632
原创 Vulkan教程 - 19 贴图和管线屏障
现在逐个顶点加上颜色,几何体已经是彩色的了,但是这其实是不太好的办法。本章我们要实现贴图映射,这会让几何体看起来更有趣,也能够让我们加载和绘制3D模型。向程序中添加贴图涉及如下步骤:创建一个由设备内存支持的图像对象;从一个图像文件中取得像素来填充该对象;创建一个图像采样器;添加一个联合图像采样器来从材质中采样颜色。我们以前就和图像目标打过交道,但是这些都是交换链扩展自动创建...
2019-07-02 20:37:00
1245
原创 Vulkan教程 - 18 阶段性总结
Vulkan学习几周了,稍微整理下。由于一开始的博客就是从环境搭建开始的,所以并没有对Vulkan的特性和教程的目标及步骤进行记录。这里主要就是做这个工作,所以这个总结并不是对Vulkan高屋建瓴的总结心得,暂时还没这么厉害。Vulkan简介简介一句话来说,Vulkan是一个跨平台2D和3D图形接口,由Khronos Group(中文名为柯罗诺斯,是古希腊神话中的原始神)集团在2015...
2019-07-01 10:24:11
2696
原创 Vulkan教程 - 17 描述符与内存对齐
之前章节的描述符布局描述了描述符可以绑定的类型。本章我们要对每个VkBuffer资源创建一个描述符集合来将它绑定到统一缓冲描述符上。描述符集合不能够直接创建,必须从一个池中分配,就和命令缓冲一样。同样的,对应也有描述符池。写一个新方法createDescriptorPool来建立它,把它放在初始化Vulkan的创建统一缓冲之后:createUniformBuffers();create...
2019-06-26 20:34:17
2296
4
原创 Vulkan教程 - 16 MVP与统一缓冲对象
我们现在能为每个顶点传输任意属性到顶点着色器了,但是用全局变量怎么样呢?我们本章要转移到3D图形上,这要求Model-View-Projection矩阵,也就是MVP矩阵(模型-视口-投影矩阵)。 我们可以将它包括进来作为顶点数据,但是这比较浪费内存,也要求我们在它的变换改变的时候更新顶点缓冲,而变换是很可能在每一帧都改变的。Vulkan中正确处理该问题的方法是使用资源描述符。描述符是着色器能...
2019-06-26 11:37:56
1189
原创 Vulkan教程 - 15 索引缓冲
顶点缓冲已经能正常工作了,但是让我们能够从CPU访问的内存类型可能对显卡本身读取来说不是最优的。最好的内存会有VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT标记,且通常在专用显卡上不可以用CPU访问。本章我们创建两个顶点缓冲,一个位于CPU可访问内存中的临时缓冲来上传来自顶点数组的数据,一个设备本地内存中的最终的顶点缓冲。我们使用缓冲复制命令来移动数据,从临时缓冲移动到实际...
2019-06-24 20:40:08
602
原创 Vulkan教程 - 14 顶点缓冲
接下来几章,我们会使用内存中的顶点缓冲替换掉顶点着色器中的硬编码顶点数据。我们用最简单的方式开始,创建一个CPU可见的缓冲,使用memcpy来将顶点数据直接拷贝到它上面,之后我们会介绍如何使用临时缓冲来拷贝顶点数据到高性能内存中。首先修改顶点着色器,不要再在着色器代码中包括顶点数据。顶点着色器使用in关键字接收来自顶点缓冲的输入:#version 450#extension GL_AR...
2019-06-21 11:28:45
1487
4
原创 Vulkan教程 - 13 重建交换链
现在我们的程序能成功绘制三角形了,但是还有一些情况,它还不能很好地处理。窗口表面可能会改变,导致交换链与其不兼容。这种事情发生的可能原因之一是窗口的大小改变了。我们要能抓取这些事件,然后重建交换链。创建一个recreateSwapChain方法,它会调用createSwapChain以及为依赖交换链或者窗口大小的对象调用所有创建方法。void recreateSwapChain() {...
2019-06-20 20:31:51
1442
原创 Vulkan教程 - 12 栅栏和信号量
这一章所有东西都会整合到一起了。我们将会写一个drawFrame方法,它会被主循环调用,将三角形呈现到屏幕上。创建drawFrame方法在mainLoop的while内处理事件后调用:void mainLoop() { while (!glfwWindowShouldClose(window)) { glfwPollEvents(); drawFram...
2019-06-19 19:47:27
1908
原创 Vulkan教程 - 11 帧缓冲和命令缓冲
帧缓冲我们前面的章节已经讨论很多了,而且我们已经建立了渲染通道,以便得到单个的帧缓冲,有着和交换链图像一样的格式,但是我们还没有真正创建什么东西呢。在渲染通道创建过程中指定的附件通过把它们包装成一个VkFramebuffer对象来绑定到一起。帧缓冲对象引用了所有表示附件的VkImageView对象。我们这里就一个附件,即颜色附件。但是,我们为了这个附件要用的图像依赖于当我们获取图像用于呈现的时...
2019-06-18 17:30:11
878
原创 Vulkan教程 - 10 创建图形管线
在我们完成管线创建之前,我们需要告诉Vulkan渲染将要用到的帧缓冲附件的信息。我们需要明确有多少颜色和深度缓冲,每个又有多少采样以及它们的内容应该如何通过渲染操作来进行处理。所有这些信息都包装在渲染通道(render pass)对象中,我们就创建一个新的方法createRenderPass,在initVulkan中调用它,且它在createGraphicsPipeline之前。我们这里仅有一...
2019-06-18 16:18:00
1524
Unity Trail Renderer制作流星拖尾小例子
2019-03-29
Android Studio 和 Unity 交互并传递参数
2018-11-27
Qt登录及Nginx上传回调及Django上传服务器等
2018-11-19
基于HTTP的Qt下载上传研究
2018-11-06
Django前端模板及crispy form美化等
2018-10-25
Django用户及登录等学习整理
2018-10-22
图像修复及抠图等
2018-09-20
图像目标分割
2018-08-24
《深度学习: 一起玩转TensorLayer》页面正常 高清完整
2018-08-22
图像及深度学习笔记整理
2018-07-13
图像风格化再探
2018-06-06
图像风格化初探
2018-05-29
AndroidStudioUnity
2017-10-25
使用FFmpeg与Qt制作图形转码小工具
2017-09-27
使用FFmpeg和Qt制作图形化转码工具
2017-09-26
Django使用Mandrill发送邮件记录
2017-09-05
使用Tomcat或Nginx搭建视频服务器
2017-08-23
C#代码混淆
2017-07-28
Google Cardboard笔记
2017-03-14
UEFI及GPT安装Windows10和Ubuntu16双系统
2017-03-09
Ubuntu16双GTX1080配置CUDA8.0
2017-03-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人