- 2024-11-05微信小程序XR黑色背景视频透明效果(二)
微信官方demo中的removeBlack效果不是很好,匹配度太低,我们直接渲染透明视频第一步类似新建 effect-bgTransparent.tsconstxrFrameSystem=wx.getXrFrameSystem();functioncreateVideoTsbsEffect(scene){returnscene.createEffect({"name":"bgTransparen
- 2024-11-05微信小程序XR黑色背景视频透明效果(一)
去除黑色背景主要依赖于effect="removeBlack",其中removeBlack为官方demo写的规则,代码如下constxrFrameSystem=wx.getXrFrameSystem();xrFrameSystem.registerEffect('removeBlack',scene=>scene.createEffect({name:"removeBlack",images:[{
- 2024-10-14OpenGL RHI优化
前言随着Vulkan的普及,OpenGL已经在被慢慢淘汰,更轻的API调用可以节省不少性能,尤其是在移动平台上,可以减少CPU开销,进而减少功耗。看起来很完美,但是问题是目前移动平台Vulkan驱动存在很多兼容性问题,大家主流的做法都是通过白名单的方式去开Vulkan,所以目前我们还是要继续以OpenGL为主
- 2024-10-09实现一个烟花效果
1.首先创建一个烟花类,有烟花上升的效果,烟花爆炸的两种效果(爆炸型和球型) 2.创建线的属性方法,因为上升效果和爆炸效果都会用到 3. 上升效果为了达到那种螺旋上升的效果可以通过sin函数实现一个点的偏移量 4. 爆炸效果则是将随机生成多条半径不同的线 5. 球形效果则
- 2024-08-09Opengl: 使用glsl 将纹理处理成圆角的几种思路
在GLSL中实现纹理圆角效果可以通过多种方法,这些方法各有其优缺点和适用场景。以下是几种常见的实现方法:1.使用距离函数最常见的方法是计算像素到中心的距离,并使用该距离来决定像素是否显示。#version330coreinvec2TexCoord;outvec4FragColor;uniformsampler2Dte
- 2024-08-01GLSL教程 第十三章:综合项目:创建一个完整的渲染场景(一更)
目录13.1项目规划和设计13.1.1项目目标13.1.2设计要求13.2实现场景中的光照、材质和纹理13.2.1创建基础场景13.2.2应用材质和纹理13.3集成高级渲染效果和后期处理13.3.1阴影映射(ShadowMapping)13.3.2环境光遮蔽(AO)13.3.3简单的景深效果(DepthofField)13
- 2024-07-30test 2D渲染器 WebGL WebGL2
1import{Box,Matrix3,Vector2}from'./Utils.js';2import{Shape,ShapeUtils,SplineCurve}from'./TwoUtils.js';34constBlendEquationAdd=[0,-1];56constBlendDefault=[6,7,-1,-1],7BlendAdd=
- 2024-07-12uniform_filter1d之nearest模式基于JAVA编程实现
1privatestaticDouble[]uniform_filter1d_double_fast(Double[]input,intsize){2Double[]output=newDouble[input.length];3//https://github.com/scipy/scipy4//‘nearest’(aaaa|abcd|dddd)5bool
- 2024-06-15WPF Stretch None,Fill,Uniform,UnformToFill
None, Thecontentpreservesitsoriginalsize.<ImageSource="/WpfApp169;component/cl.jpg"Stretch="None"/> Fill,Thecontentisresizedtofillthedestinationdimensions.Theaspectratioisnotpreserved.<ImageSource=
- 2024-06-11OpenCV实战案例——校正+切边[C++]
0.前言本文以实战案例为背景,讲述如何使用计算机图形学知识完成需求,实现最终效果。本文包含实战案例素材以及过程代码讲解,方便读者理解。1.案例需求某公司打算开发一款用于提取学生作业本的程序,学生用手机拍摄自己的作业上传到程序,程序进行处理最终提取出作业本区域方便老师批改
- 2024-05-30使用Shader画常见的数学函数
使用Shader画常见的数学函数本篇博文的灵感来自于ShaderBooks这一小节:https://thebookofshaders.com/05/?lan=ch代码运行网站:http://editor.thebookofshaders.com/一次函数\[y=x+0.5\]#ifdefGL_ESprecisionmediumpfloat;#endifuniformvec2u_resolution;unifor
- 2024-04-14[NeuralPS2023]How Re-sampling Helps for Long-Tail Learning
这篇文章作者写得非常详细,读起来非常舒适。Contribution:在long-taileddata中,re-sampling不一定有效。re-sampling的失败可能是对于不相关的context过拟合导致的,作者设计了实验论证了这一假说。在single-stage的框架下,作者提出了上下文转换增强(contextualtransformationau
- 2024-04-10利用列表编写一个发红包程序,要求输入红包金额money,红包个数n,显示由每个红包的金额所构成的列表。
声明:著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。【第7次课]实验五组合数据类型(一)4.简答题利用列表编写一个发红包程序,要求输入红包金额money,红包个数n,显示由每个红包的金额所构成的列表。程序运行输出格式参考下图:[提示](1)可以使用random
- 2024-04-04第三个OpenGL程序,shaders _ 后续 之 uniform
效果: 代码main.cpp#include<iostream>#include<glad/glad.h>#include<glfw3.h>#include<math.h>usingnamespacestd;//回调函数,每当窗口改变大小,视口大小也跟随改变voidframebuffer_size_callback(GLFWwindow*window,intwidth,intheight){glV
- 2024-01-20基于物理的渲染(3):OSG中PBR实践
1.1单光源直接光照voidmain(){ //创建小球几何 osg::ref_ptr<osg::ShapeDrawable>sphere=newosg::ShapeDrawable; sphere->setShape(newosg::Sphere(osg::Vec3(0,0,0),radius)); sphere->setColor(osg::Vec4(col)); //创建小球节点 osg::ref_ptr<osg::Geode>pbr
- 2024-01-12【C++】OpenCV4-线条、矩形、圆形、椭圆等图形的绘制与填充、RNG随机函数的使用
图形的绘制与填充://图形的绘制与填充Matcanvas=Mat::zeros(Size(512,512),CV_8UC3);namedWindow("canvas",WINDOW_AUTOSIZE);//相关绘制API演示//绘制直线line(canvas,Point(10,10),Point(400,400),Scalar(255,0,0),1,LINE_8);//绘制矩形Rectrect(150,1
- 2024-01-06依赖注入(Dependency Injection)
基本概念例子很简单,注入的方式也有很多方法,包括构造注入、set注入等方法,在此基础上应用依赖倒置(DependencyInversionPrinciple)原则,SOLID原则之一。类A依赖类B的抽象接口,而不面向具体类B编程,实现类A与类B的解耦。上述将依赖类的构造逻辑与业务逻辑分离,类A依赖类B的抽象接口,那么接
- 2023-12-20Should be the workers need to dress uniform for work?
Theneedforworkerstodressinuniformsforworkdependsonthespecificindustry,company,andjobrole.Insomecases,uniformsmayberequiredforsafetyreasons,topromoteaprofessionalimage,ortomaintainaconsistentbrandidentity.However,i
- 2023-12-13vulkan/descriptorSet
参考Shaderlayout(binding=0)uniformUniformBufferObject{mat4model;mat4view;mat4proj;}ubo;layout(location=0)invec2inPosition;layout(location=1)invec3inColor;layout(location=2)invec2inTexCoord;layout(location=0)
- 2023-11-21用python计算圆周率PI
importrandomdefmonte_carlo_pi(num):"""接收正整数为参数,表示随机点的数量,利用蒙特卡洛方法计算圆周率返回值为表示圆周率的浮点数"""#====================Begin===================================a=0count=0whilea<times:
- 2023-09-06OpenGL入门——着色器
前面几节简单使用了一下着色器 现在详细解释一下着色器和着色器语言(GLSL) 1.着色器着色器是运行在GPU上的小程序,它们之间不能互相通信,唯一的沟通只有输入和输出。 2.GLSL着色器的开头是声明版本,接着是输入和输出变量、uniform和main函数。每个着色器的入口点都是mai
- 2023-08-26HVV护网 HTTP协议
HTTP是超文本传输协议的缩写,是WWW万维网服务器传送到本地浏览器的传输协议。基于TCP/IP来传输数据URLUniformResourceLocatorURIUniformResourceIdentifier浏览器用来解析HTML网页Web服务器Apacheweblogictomcat
- 2023-08-23ios 生成一个动态的随机的头像/随机数的操作
在写项目的时候,可能会遇到这种情况,用到集中随机的颜色,或者头像等,首先:把所需要的图片放进一个数组当中imgsAry=@[@"t1.png",@"t2.png",@"t3.png",@"t4.png",@"t5.png",@"t6.png",@"t7.png",@"t8.png"];然后根据数组的count数生成一个随机
- 2023-08-23Swift - 使用arc4random()、arc4random_uniform()取得随机数
arc4random()这个全局函数会生成9位数的随机整数1,下面是使用arc4random函数求一个1~100的随机数(包括1和100)lettemp:Int=Int(arc4random()%100)+1print(temp)2,下面是使用arc4random_uniform函数求一个1~100的随机数(包括1和100)lettemps:Int=Int(arc4random_uniform(10
- 2023-08-20Programming abstractions in C阅读笔记: p118-p122
《ProgrammingAbstractionsInC》学习第49天,p118-p122,总结如下:一、技术总结1.随机数(1)seedp119,"Theinitialvalue--thevaluethatisusedtogettheentireprocessstart--iscallaseedfortherandomgenerator."二、数学总结1.均匀分布(uniformdistribution)