当前位置:首页 » 操作系统 » shader算法

shader算法

发布时间: 2022-04-15 04:13:46

⑴ mipmap level是hw自动计算,还是shader计算

主要是问你是否要开启游戏中画面的显示效果,显示的精细度与游戏画面的流畅速度是相互矛盾的,所以要自己来选,具体来说:双线性插值——新创造的象素值,是由原图像位置在它附近的(2 x -2)4个邻近象素的值通过加权平均计算得出的。这种平均算法具有放锯齿效果,创造出来的图像拥有平滑的边缘,锯齿难以察觉MipMap设定——详细层级以增加系统处理效能或改善影像品质开启漏光效果——就不用说了

⑵ 怎么用shader实现UI的毛玻璃效果

不知道你说的是哪种毛玻璃。

假如只是模糊的话,标准的高斯模糊就可以。更复杂的话,就涉及到算法了。一时半会说不太明白,还是去查论文比较实际。

⑶ 3dmax中的shader功能是什么

shader就是专门用来渲染3D图形的一种技 术,通过shader,程序设计人员可以自己编写显卡渲染画面的算法,使画面更漂亮、更逼真。
几年前并没有shader这个东西,所以那时候的显卡,就不 支持shader,而只支持固定管线渲染,游戏画面也没有现在的酷。
shader又分两种
,一种是顶点shader(3D图形都是由一个一个三角形组 成的,顶点shader就是计算顶点位置,并为后期像素渲染做准备的),另一种是像素shader,像素shader顾名思义,就是以像素为单位,计算光 照、颜色的一系列算法。

Shader Model(在3D图形领域常被简称SM)就是“优化渲染引擎模式”。事实上,Shader(着色器)是一段能够针对3D对象进行操作、并被GPU所执行的程序。通过这些程序,程序员就能够获得绝大部分想要的3D图形效果。在一个3D场景中,一般包含多个Shader。这些Shader中有的负责对3D对象表面进行处理,有的负责对3D对象的纹理进行处理。早在微软发布DirectX 8时,Shader Model的概念就出现在其中了,并根据操作对象的不同被分为对顶点进行各种操作的Vertex Shader(顶点渲染引擎)和对像素进行各种操作的Pixel Shader(像素渲染引擎)。

⑷ Shader版本VS(2)ps(2)是什么意思

总的来说,这东西比较难解释。。。VS(2) 和PS(2) 也就是指Shader(着色器)的版本
也就是pixel shader 2.0 和vertex shader 2.0
下面为你稍微解释下Shader
Direct3D历代都提供了一些光照的方式,但随着画面的复杂,DX自带的光照越来越无法满足开发的需要,于是就出现了shader,中文一般翻译为着色器,事实上个人认为这个单词比较难确切翻译。

shader在DX9来说分为pixel shader和vertex shader,后者用于顶点(模型的顶点)着色,前者则用于每个象素的着色。什么叫着色么。。。。最好能有一点3D编程基础才方便理解,否则说起来太麻烦。简单说象素,就是光栅化投影到2D的每个点,着色,则是按照一定的算法,根据光源、物体本身的属性来确定该象素的具体颜色的过程。

pixel shader和vertex shader在Direct3D 8/9中合称Shader Model,OpenGL和之后的Direcrt3D还有别的shader。

早期的hardware T&L事实上也支持自定义shader,但是缺点是开发难度很高,shader model 1.1(也可能是2.0,这里不十分肯定)以后支持用C语言写一个shader,然后让D3D程序执行,简化了开发。

1.0/1.1/2.0/3.0/的区别,前2个我不熟,只知道局限较大,3.0对比2.0最着名的变化则是(理论上)无限长指令的支持,其他变化主要是规格的提升(比如对HDR支持精度的提高等)

⑸ 什么是Tessellation镶嵌化技术

微软在CES 2008上透露,下一代API接口DirectX 11预计将在2008年底或2009年制定效果完成。当然,这并不就代表DX11就一定会在去年底今年初正式发布,在硬件方面DX10显卡现在还未全面普及,目前,ATI刚刚发布了支持DX11的基于Cypress核心的HD5800系列显卡,而NVIDIA才刚造出支持DX11的GT300芯片的样品。

DirectX 11 新技术预览:

1,Direct3D11渲染管线:
看上去,DirectX 11比DirectX 10更酷。DirectX 11的很多提升意味着更高的特性性能,而这些特性很少能在DX10中看到。DirectX 11和DirectX 10两者最大的不同之处在于管线,可以说DirectX 11的渲染管线标志着绘图硬件以及软件功能革命性一步。DirectX 11加入了对Tessellation(镶嵌)的支持。Tessellation 由外壳着色器(Hull Shader)、镶嵌单元(tessellator)以及域着色器(Domain Shader)组成。同时还加入了计算着色器(Compute Shader),计算着色器与DX10中引入的GS不同,它并不是渲染管线的一部分,CS也是DirectX 11的重要改进之一,可以很大程度上协助开发人员弥补现实与虚幻之间的差别。
2,Tessellation镶嵌技术:
在此之前,关于DirectX 11的报道可谓铺天盖地。事实上,自R600发布时,DirectX 11这个字眼才开始越来越多的出现在网络上。尽管R6xx和R7xx硬件都具有tessellator单元,但是由于tessellator属于专有实现方案(proprietary implementation),所以R6xx和R7xx硬件是不能直接兼容DirectX 11,更何况DirectX 11采用了极其精密老练的设置过程。事实上,DX11 tessellator单元本身不具备可编程性,DX11向tessellator (TS)输入或者从中输出的过程是通过两个传统的管线阶段完成的:Hull Shader (HS,外壳着色器)和Domain Shader (DS,域着色器)。
tessellator可以把一些较大的图元(primitive)分成很多更小的图元,并将这些小图元组合到一起,形成一种有序的几何图形,这种几何图形更复杂,当然也更接近现实。这个过程也被称作细分曲面(Subdivision Surfaces)。举例来说,tessellator可以让一个立方体,通过处理看起来像是个球形,这样的话无疑节省了空间。此外,图形的质量、性能以及可控性也达到了一定的促进。
Hull Shader负责接收一种由全四边形网格(quad mash)计算得到的图元数据(称作patches),并计算控制点(control points)的各种变换以及输入的图元各个边的镶嵌配置(tessellation factors),从而进行镶嵌。其中Control points用来定义想要得到的图形(比如说一个曲面或者其他)的图形参数。如果您经常用Photoshop绘图软件的话,不妨把Control points理解为PS的钢笔工具:用平面代替线的贝塞尔曲线功能。Hull Shader采用control points来决定如何安排tessellator处理数据,利用Tessellator生成大批量的新的图元,然后将这些图元以及控制点传送给 Domain Shader,Domain Shader将这些数据计算转换成3D处理中的顶点,最后GPU生成曲线以及多边形。
3,多线程的支持:由于DX11所新增的特性甚至可以应用到DX10硬件中,所以我们对于DX11的快速应用都非常期待和乐观。DX11特性还包括很重要一点:支持多线程(multi-threading)。没错,无论是DX10还是DX11,所有的色彩信息最终都将被光栅化并显示在电脑显示屏上(无论是通过线性的方式还是同步的),但是DX11新增了对多线程技术的支持,得益于此,应用程序可以同步创造有用资源或者管理状态,并从所有专用线程中发送提取命令,这样做无疑效率更高。DX11的这种多线程技术可能并不能加速绘图的子系统(特别是当我们的GPU资源受限时),但是这样却可以提升线程启动游戏的效率,并且可以利用台式CPU核心数量不断提高所带来的潜力。
对于场景中的人像和三个镜像,DX11会启动四个单独线程进行并行处理,效率自然要比现在依次进行的做法高很多。
搭载8颗以及16颗逻辑核心的CPU系统已经离我们越来越近,现在游戏开发商们也该赶紧行动起来了,是时候解决有些游戏在双核心系统中运行缓慢的问题了。但是开发一款能够很大程度上促进双核以上系统普及的游戏,所能够获得的利润以及需要的付出目前来讲还很不乐观,所以这一进程进展缓慢。对于大多数游戏而言,充分利用四核心以及超过四核心的多线程优势还非常困难。尽管如此,通过多线程技术让简单的平行运算资源产生并显示出来,确实为采用平行运算代码的游戏提供了走红的机会,这些游戏代码也可以以单线程编码的方式存在。由于DX11系统中并不是采用一条线程处理所有DX state change以及draw call(或者说大量同步线程共同负责某一任务)的方式,所以游戏开发者可以很自然的创造出线程处理某个场景的某一类或者某一群的客体对象,并为将来所有客体对象或者实体为各自的线程处理打下基础(如果逻辑核心最终达到数百颗之后,这种线程处理方式对于提取硬件性能尤为重要)。
此外,DX10硬件也能够在运行DX11游戏时支持多线程,微软的这一计划相当令人兴奋,不过值得一提的是,AMD以及NVIDIA必须为各自的DX10硬件开发出相应的驱动软件才能达到这一效果(因为如果没有相应的驱动支持的话,DX10硬件即便可以运行DX11游戏,对于玩家而言并不会看到真正应有的效果)。当然了,我们希望NVIDIA,特别是AMD(因为他同时也是一家可以生产多核心 CPU的厂商)能够对此感兴趣。而且,如果A/N这么做到话,无疑会为游戏开发商们开发DX11游戏提供诱因,即便是A/N的DX11硬件还在襁褓之中。
4,计算着色器Compute Shader:
很多游戏开发者都对DX11新增的Compute Shader(通常简称为CS)特性啧啧称赞。CS的这一渲染管线能够进行更多的通用目的运算。我们既能在某种可以用来被执行数据的操作中看到这种特性,又能在某种可以用来操作的数据中看到这种特性。
在DirectX11以及CS的帮助下,游戏开发者便可以使用更为复杂的数据结构,并在这些数据结构中运行更多的通用算法。与其他完整的可编程的DX10和DX11管线阶段一样,CS将会共享一套物质资源(也就是着色处理器)。
相应的硬件需要在运行CS代码时更灵活些,这些CS代码必须支持随机读写、不规则列阵(而不是简单的流体或者固定大小的2D列阵)、多重输出、可根据程序员的需要直接调用个别或多线程的应用、32k大小的共享寄存空间和线程组管理系统、原子数据指令集、同步建构以及可执行无序IO运算的能力。
与此同时,CS也将会随之失去一些特性。因为单个线程已经不再被看成是一个像素,所以线程将会丧失几何集合功能。这就意味着,尽管CS程序依然可以利用纹理取样功能,但是自动三线LOD过滤计算将会丧失自动功能(LOD必须被指定)。此外,一些并不重要的普通数据的深度剔除(depth culling)、反锯齿(anti-aliasing)、alpha混合(alpha blending)以及其他运算不能在一个CS程序中被执行。
除了某些特殊应用的渲染,游戏开发者可能同时也希望做一些诸如IK(inverse kinematics,反向运动学)、物理、人工智能以及其他在GPU上执行的传统的CPU任务之类的运算。用CS算法在GPU上执行这些数据意味着这些数据将会更快的被渲染,而且一些算法可能在GPU上的执行速度更快。如果某些总是产生同样结果的算法既可以出现在CPU上又可以出现在GPU上的话,诸如 AI以及物理等运算甚至可以同时在CPU和GPU上运行(这种运算实际上也可以代替带宽)。
即便是这些运算代码在相同的硬件(CPU或者GPU)上运行,PS以及CS代码的执行也是两个截然不同的过程,这主要取决于被执行的算法。有趣的是,暴露数据以及柱状数据经常被用作HDR渲染。用PS代码计算这些数据的话就需要几条通道和几种技巧,以便提取所有像素,从而集中或者平分这些数据。尽管共享数据将会或多或少的减缓处理速度,但是共享数据的方式要比在多通道中计算速度更快,而且这样可以使CS成为这些算法的理想处理阶段。
5,Shader Model 5.0:
DirectX 10的Shader Model 4.0(Shader Model以下简称“SM”)带来了整数运算和位运算的功能,DirectX 10.1的SM 4.1加入了对MSAA的直接采样和控制。而DirectX 11包含的SM 5.0,采用面向对象的概念,并且完全可以支持双精度数据。随着SM 5.0的发布,微软也会将HLSL语言更新至最新版本,其中包含了诸如动态着色、动态分支和更多的对象等。总之,面向专业开发人员的SM 5.0,依旧是以降低编程的难度和复杂为目的。
为了解决Shader灵活性与弹性不足的问题,微软在HLSL5.0中带来解决之道。 HLSL5.0提出shader子程序的概念,即允许程序员将各种小段、简单或为个别需要而特制的shader程序链接起来,再根据实际需要动态调用,这样既能够提高硬件兼容性,同时减少“巨型shader”对寄存器空间的占用,有效提升性能。
6,改进的纹理压缩:精细的纹理对视觉效果的增益是显而易见的。目前的3D游戏越来越倾向于使用更大、更为精细的纹理,但是过大的纹理严重占用显存和带宽。由于目前纹理压缩仍然不支持HDR图像,因此DirectX 11提出了更为出色的纹理压缩算法——BC6和BC7。BC6是为HDR图像设计的压缩算法,压缩比为6∶1;而BC7是为低动态范围纹理设计的压缩模式,压缩比为3∶1。两种压缩算法在高压缩比下画质损失更少,效果更出色。

⑹ 请问directx和opengl是对显卡的编程吗那shader又是什么三者有什么关系呢

DirectX(Direct
eXtension,简称DX)是由微软公司创建的多媒体编程接口。由C++编程语言实现,遵循COM。被广泛使用于Microsoft Windows、Microsoft XBOX、Microsoft
XBOX 360和Microsoft XBOX ONE电子游戏开发,并且只能支持这些平台。最新版本为DirectX 12,创建在最新的Windows
8.1上。

OpenGL(全写Open
Graphics Library)是个定义了一个跨编程语言、跨平台的编程接口的规格,它用于三维图象(二维的亦可)。OpenGL是一个开放的三维图形软件包,它独立于窗口系统和操作系统,OpenGL可以与Visual C++紧密接口,便于实现机械手的有关计算和图形算法,可保证算法的正确性和可靠性目前,2.0版本开始加入了很多类似于DirectX中可编程单元的设计.

Shader Model(在3D图形领域常被简称SM)就是“优化渲染引擎模式”。Shader(着色器)是DirectX中一段能够针对3D对象进行操作、并被GPU所执行的程序。早在微软发布DirectX 8时,Shader
Model的概念就出现在其中了,并根据操作对象的不同被分为对顶点进行各种操作的Vertex Shader(顶点渲染引擎)和对像素进行各种操作的Pixel
Shader(像素渲染引擎)。

到了Shader Model 4.0,在VS和PS之间引入了一个新的可编程图形层--几何渲染器(Geometry
Shader)。原来的Vertex Shader和Pixel Shader只是对逐个顶点或像素进行处理,而新的Geometry
Shader可以批量进行几何处理。然而性能受到诟病,为了兼顾性能,在DirectX11(SM
5.0)开始引入了Tessellation来取代GS的部分功能。


说白点,三者的关系是,Shader Model是DirectX其中一个技术协议程序,而DirectX和OpenGL则是多媒体编程接口的竞争对手。

⑺ mesa shader原理

编写顶点着色器和片元着色器。
在编写shader的时候,实际上无论是threejs还是cesium都已经内置了很多的方法和变量。我们需要做的只是将这些变量取出来,然后通过一些算法算出想要的位置和色值通过gl_Position和gl_FragColor返回着色器。

⑻ Unity3D 用脚本控制Shader参数

Unity3D用脚本控制Shader参数是:this.renderer.material.SetFloat("_Progress", 0.5f);

⑼ 什么是Shader

2D图形,就是无论你如何移动视角,地面上的建筑物、花草树木样子都不会变,而3D图形则不 同,随着视角的变换,你看到的物体也在变化,从正面变成侧面,越远的物体越小,越近的越大,与现实生活中人眼看到的情景非常相似。 shader就是专门用来渲染3D图形的一种技 术,通过shader,程序设计人员可以自己编写显卡渲染画面的算法,使画面更漂亮、更逼真。 几年前并没有shader这个东西,所以那时候的显卡,就不 支持shader,而只支持固定管线渲染,游戏画面也没有现在的酷。 shader又分两种 ,一种是顶点shader(3D图形都是由一个一个三角形组 成的,顶点shader就是计算顶点位置,并为后期像素渲染做准备的),另一种是像素shader,像素shader顾名思义,就是以像素为单位,计算光 照、颜色的一系列算法。 几 个不同的图形API有各自的shader语言:在DirectX中,顶点shader叫做 vertex shader ,像素shader叫做 pixel shader; 在OpenGL中,顶点shader也叫做 vertex shader ,但像素shader叫做 fragment shader。 此外显卡芯片厂商nVidia还推出CG显卡编程语言,也支持 shader。 shader 有很多不同的版本:所以,即使你的显卡支持shader,但可能版本不够高,所以无法支持比较新的游戏使用的 shader。 一般来说,大部分游 戏都支持不同版本的shader,为的是让尽可能多的机器都能运行,为此需要做很多额外的工作。 除了显卡不够新之外,不同显卡厂商对shader的支持也不尽相同,所以同一个游戏,一样的 设置,在n卡和ATI的卡上,表现可能大不一样。 另外,安装官方最新的驱动程序也是必要的。如果你安装了错误的驱动程序,甚至是随便从网上下载一个显卡驱动,那么即使你的显卡支持 shader,也可能跑不了需要shader支持的程序,包括但不限于网络游戏! 三个level:

⑽ unity shader 好学么

如何系统的学习Unity3D中的shader编写nvidiacg编程2016-02-25UnityShader(23)相信一定也有很多做unity3d开发的朋友对shader这一块有疑问。unity3d算是比较新的引擎,最近手游又比较火,很多unity3d程序猿应该是从其他专业转过来的,比如本人以前就是搞javaweb开发的,所以对这一块的知识体系不太了解。我看了nvidia官网上的TheCgTutorial:Chapter1.Introction,算是稍微入了点门,然后看了CgProgramming/Unity中的一些例子(有很多看不懂的),结合unity3d官方文档,能写一些简单的shader,但复杂的东西就不太懂了(比如上次看到一个镜面反射的例子,里面有些矩阵运算,不太明白那算法怎么来的,当然自己线性代数不好也是硬伤)。感觉cg编程涉及的东西很多,数学、物理、编程、3D模型什么的都要懂一些,要学的东西很多很杂,有些迷茫。不想再东拼西凑找例子,这里拷一段那里拷一段的写shader,而是按照自己的想法写。请问有什么好书籍可以帮助我系统地学习这一块的知识(包括计算机图形学、数学等各个方面的书籍)?,这会是个比较漫长的学习过程(一)国内引进出版的书籍国内引进或出版的图形学书籍很多,但是大部分是糟粕,看它们是浪费时间3D数学基础:图形与游戏开发这本可以补数学基础,矩阵变换,线性代数啥的图形着色器:理论与实践(第2版)这本是比较新的讲openglshader的DirectX9.03D游戏开发编程基础这本是国内出版或引进的d3d书籍中唯一能看的(二)国内没有引进的书籍,可以下载电子版或上淘宝买打印版OpenGLShadingLanguage可以认为是glsl的圣经Introctionto3DGameProgramming:WithDirectx11可以认为是d3d11的圣经,这本是DirectX9.03D游戏开发编程基础的升级版(三)个人推荐3D数学基础:图形与游戏开发DirectX9.03D游戏开发编程基础Introctionto3DGameProgramming:WithDirectx11Vinjn张静2013-08-14还得看NVidia良心免费彩色pdf《GPUGEMSIIIIII》。这三本书十分精彩,我在当初还没免费的时候就买过了,一本一百多。vczh2014-12-06自己回答一下,再补充两本书:1.《》主要讲Unity的SurfaceShader编程技巧,非常实用。除了光照以外还有Imageeffects在Unity中的实现。强力推荐。2.《Real-TimeRendering》比较底层的内容,夯实基础(自己还没看完)发现了新的好书再继续更新!kUANGtOBY2014-12-06最近也在学习shader,推荐几篇博客供题主入门。1、首先来两篇最最基础文章对shader有大体的认识。这两篇文章会分析shader中的一行行代码,讲解语法和作用并加以扩展。读完后就基本了解了shader中的属性、Tags、LOD、光照模型等是怎么回事。猫都能学会的Unity3DShader入门指南(一)猫都能学会的Unity3DShader入门指南(二)2、然后可以看《UnityShaderandEffectCookbook》,或者它的中文版《Unity着色器和屏幕特效开发秘笈》。这本书会展示shader中的各个方面,如漫反射着色、纹理贴图、镜面反射等等。可能由于这本书方方面面都有涉及,有时会忽略一些比较关键的细节,而这恰恰使初学者困惑。有一位博主记录下了根据这本书学习的笔记,题主可以直接看博客来学习:【UnityShaders】概述及DiffuseShading介绍3、在第2步的过程中,你可能需要查阅shader中各个概念函数的更详细的情况,这时你会需要Unity官方手册以及Cg教程:Unity-Manual:ShadersUnity-Manual:ShaderReferenceTheCgTutorial4、学习shader的时候,你不仅想知道怎么用,可能还想了解它背后的机制,那这篇文章你肯定不能错过:【UnityShaders】初探SurfaceShader背后的机制5、这些都熟练了,对shader也都比较熟悉了。你可以尝试去创造属于自己的shader,也可以去ShadertoyBETA寻求灵感,感受shader的鬼斧神工。匿名2015-05-23推荐一本书,UnityShaderandEffectCookbook,但一般的Shader都可以用ShaderForge搞定。ShaderForge是一个可视化的,nose-based的shader编辑器。简单来说,就是你在图形化界面把各种effect按一定逻辑连接好,它可以自动生成shader的代码。JingwenZhao2014-11-13仅针对你只想学些shader编程来讲:1、先要明白shader在整个3D流水线中的地位或者是作用,建立流水线概念的过程,是理解整个当代3D的基础。2、把Unity当做shader编辑器,这一方面讲,unity的确也是不错的,:)。由简到难的分析和实验各个shader,调试各种参数,用unity的所见即所得界面,了解shader内部代码的意义。3、就每个遇到的问题,在互联网上查找该问题的可能的答案。如Diffuselight的算法公式究竟是什么,shadowmap的矩阵干嘛用的。在这块上,请尽量查找英文资料,会痛快些。就这么三点,第一点是面,能帮助自己确定方向。第三点是点,知道自己的短线位置在哪里。书籍不举例,只知道我第一本看的书是《3D游戏编程大师技巧》。后来在各种查找过程中,各种不同的书籍自然会进入自己的腰包,没有一本是需要全部读完的。但是读完所有的每本的某一个部分,应该每本书都算是读完了,你明白的。匿名2013-08-17unity的shader浅浅的包装了一下cg。类似fx。总之就是一个DSL,对cg和渲染流程做了一些描述。所以基本上,你还是需要了解shader语言及基本的渲染流程。@张静vinjn和@kUANGtOBY提到的书对头。速学的话,我补充一本:《》。国内的人写的小册子,很不错。知道2014-06-12这个网站可以参考ShadertoyBETA不过是同样的问题,因为很多代码都是式子,是经过计算之后得出的,计算过程在代码里没有体现,所以根本不知道那些奇怪的数字和算式都是怎么来的。殷实2014-07-23数学推荐这部——《》另外就是看看这个推荐游戏程序员养成计划(更新2013.3.19)老钟古2014-02-20我比较推荐《交互式计算机图形学:基于OpenGL的自顶向下方法(第6版)》配合《计算机图形学/基于3D图形开发技术》食用风味更佳。学习shader会遇到一些比较基础的数学问题,google、wiki和度娘基本能够解决。匿名2014-06-12《》其实这本书是surfaceshader的入门,我确实是先看了这本书,还不是特别实用,但也必须要看,它有解释一些入门的知识比如pipeline,常见语法。。那本书完全没有涉及cg语言,vertex和fragshader,个人觉得有一本不错,比较系统,就是《CgProgramminginunity》。然后“龙书”多少也着看,还有各种高数线性代数书籍跟着研究,有空多拿其他人的shader打开来看,并且在相关技术qq群贴吧等平台,利用好这些平台资源获取大神的解答。。这是我的路,也是新手爬坑中,以供参考。。互勉!周车2015-06-29

热点内容
压缩某个文件夹 发布:2024-11-15 09:03:11 浏览:891
网址能解压吗 发布:2024-11-15 08:54:09 浏览:933
python更改目录 发布:2024-11-15 08:41:08 浏览:265
服务器闪存可以装在一般电脑上吗 发布:2024-11-15 08:36:46 浏览:8
安卓手机怎么查询自己的路线轨迹 发布:2024-11-15 08:32:19 浏览:969
phpdatet 发布:2024-11-15 08:32:17 浏览:507
HDB3编译码实验 发布:2024-11-15 08:17:31 浏览:212
怪星球编程 发布:2024-11-15 08:15:55 浏览:844
慧编程价格 发布:2024-11-15 08:14:09 浏览:459
python多行注释的快捷键 发布:2024-11-15 08:09:14 浏览:957