首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏全栈程序员必看

    灰度图,法线贴图,置换贴图和位移贴图

    Normal Map只是一种目前很流行的凹凸贴图技术,而这里将会介绍一些目前游戏和在XBOX360和PlayStation3这种新世代主机上将会运用的凹凸贴图技术。 值得注意的是,这种贴图表面上存储的东西是高度域--即每个点和原始表面的高度差,记住,每个点的颜色不是色彩,是高度,一个数值!因此,对这个贴图做任何的操作都会影响到这个物体3D的外观质感。 (Shaders),Normal Mapping是一种凹凸贴图技术,它的另外一个名字叫做Dot3 bump mapping。 3.Parallax mapping 视差贴图 (因为后面的算法都是基于NormalMap的应用,可能看上去没有NormalMapping那么长了,但内容肯定一样精彩的!) 相比来说位移贴图在效果上是没有任何瑕疵的,但是也未必没有缺点。 首先就是,对硬件的要求很高,必须支持ShaderMode3.0才可以,因为只有支持SM3才可以在顶点阶段进行纹理操作。

    2.3K20编辑于 2022-06-24
  • 来自专栏韩曙亮的移动开发专栏

    【Unity3D】纹理贴图 ( 纹理 Texture 简介 | 为 3D 模型设置纹理贴图 )

    文章目录 一、纹理 Texture 简介 二、为 3D 模型设置纹理贴图 一、纹理 Texture 简介 ---- 上一篇博客 【Unity3D】材质 Material ( 材质简介 | 创建材质 | , 大部分的 3D 物体渲染都需要使用图片进行渲染 , 这里引入 纹理 Texture ; 纹理 Texture 用于 覆盖在 3D 物体上 , 其本质是一张图片 , 用于替代 物体 上渲染的颜色 ; 网格 Mesh 只能表示 3D 模型的形状 , 材质 Material 只能进行 3D 模型的纯色渲染 , 纹理 Texture 可以进行 3D 模型的图片渲染 ; 纹理贴图 是在 建模软件 中制作完成的 , 是建模相关工作 ; 二、为 3D 模型设置纹理贴图 ---- 在 Project 文件窗口 中 的 Assets 目录 下 , 创建 Textures 目录 , 将一张图片拖动到该 Textures 会显示该材质的属性 , 然后直接 将 Textures 中的材质图片拖动到 Inspector 检查器窗口中的 Albedo 左侧的方框中即可 , 操作完成后的效果如下 : 纹理图片如下 : 应用纹理贴图后的效果

    4K10编辑于 2023-03-30
  • 来自专栏全栈程序员必看

    环境贴图_HDR高清环境贴图

    只好自己单独写篇环境贴图的文章,来小总结一下。 环境贴图(Environment Mapping)又叫反射贴图(Reflection Mapping),在曲面上对反射效果进行很好的的近似。 环境贴图近似假设进行反射的光源与物体都位于很远的位置,同时反射体不会反射自身。如果这些假设成立,就可以将反射体周围的环境看成围绕他的一个二维投影。 目前环境贴图应用的方法有Blinn和Newell方法、立方体贴图和球面贴图。具体的方法可以参考实时计算机图形学。 使用立方体贴图实现的效果如下: 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/166900.html原文链接:https://javaforall.cn

    1.5K20编辑于 2022-09-19
  • 来自专栏程序你好

    3D模型添加纹理贴图

    本篇文章介绍纹理(Texture Map,也译作纹理映射)的使用,将描述如何使用Three.js给3D对象添加贴图贴图是通过将图像应用到对象的一个或多个面,来为3D对象添加细节的一种方法。 在上篇文章3D场景中物体模型选中和碰撞检测的实现创建的3D场景中,我们添加了几个立方体和一个球体,没有使用纹理,三维模型看起来很呆板。 sphereTexture = new THREE.TextureLoader().load( "textures/land_ocean_ice_cloud_2048.jpg" ); 另外,立方体的六个面可以采用不同的贴图 px.png', 'nx.png', 'py.png', 'ny.png', 'pz.png', 'nz.png' ] ); 来看看加上不同的贴图后的效果

    2.6K20发布于 2021-07-23
  • 来自专栏逍遥剑客的游戏开发

    Direct3D学习(三):光影贴图

    刚看完了DXUT,拿来练练手 这个框架却实方便啊,终于不用写那些令人恶心的API函数了 光影贴图,说白了就是在纹理上表现出来光影效果,并不是实时计算的,所以适用于固定的场影平面,如地面,墙壁等 原理嘛, >SetTexture( 1, pTexture1 ); /// 在1号纹理层固定纹理(光影贴图) pd3dDevice->SetTextureStageState( 0 , D3DTA_TEXTURE ); pd3dDevice->SetTextureStageState( 1, D3DTSS_COLOROP, D3DTOP_MODULATE ); ); pd3dDevice->SetTextureStageState( 1, D3DTSS_COLORARG2, D3DTA_CURRENT ); pd3dDevice ( 2, D3DTSS_COLOROP, D3DTOP_DISABLE ); pd3dDevice->SetTextureStageState( 2, D3DTSS_ALPHAOP,

    1.2K80发布于 2018-05-21
  • 来自专栏python3

    关于U3D贴图格式压缩

    各种纹理格式,大家参照下U3D MANUAL里面的具体描述介绍,这是官方的东西。但我觉得有一部内容是错的,例如占用内存大小。 一旦相应的贴图格式不兼容的时候,U3D会自动将其转换成RGB(A)格式。最好的兼容是针对GPU进行打包,例如针对小米的都用ATC格式,但一般开发做不到太细化的选择。 测试方法:单独为改为这样贴图格式的文件打成ASSETBUNDLE看大小。 对此抱有比较大疑问的是ARGB 16 和RGB 16,感觉可能这里U3D的BUNDLE有BUG。 3D游戏一般来说都是受摄像机远近大小改变而采取不同的采样大小,假设不设置多重纹理采样的话,在远处会有非常多的白色噪点。 2D游戏的话,所有都不需要勾选多重采样,具有3D性质的贴图,我们都需要勾选上GENERATE MIP MAPS,这样会使贴图大小增加25%这样。 正方贴图与非正方贴图也要区分。

    1.3K20发布于 2020-01-15
  • 来自专栏web三维

    算法升级,轻松做建筑白模自由贴图,屋顶贴图&轮廓贴图

    无需专业建模经验,也能制作类似地铁出入口的3D城市指引效果!且简单到离谱。 (常用贴图已内置)升级了顶面贴图算法,支持平铺、拉伸、自动计算轮廓中线沿长边填满贴图(如球场)支持建筑屋顶贴图支持轮廓贴图,水面、地面、草地、球场等等能导出gltf obj stl格式模型能导出cesium

    24410编辑于 2025-08-19
  • 来自专栏算法微时光

    法线贴图

    这样的情况如果要求游戏开发人员将复杂的3D细节都做出来是不现实的,因为即使不计较在建模时候的复杂度, 过多的3D细节也同样会大量消耗显示芯片的性能,让游戏根本没有可玩性。 image.png 可行的方法就是将这个平面用一个贴图覆盖,用贴图的纹理实现一定的凹凸效果。但是这种方法实现的效果并不是很好,因为如果视角一变化,看起来就会像一张简单的画有图案的平面了。 后来,聪明的游戏开发者想出了一种方法,就是在贴图过程中对贴图进行一定的处理,从而保证了在视角变换以后仍然保证有较为明显的凹凸效果,也就是法线贴图。 但是,由于电脑的屏幕是一个平面,分辨3D效果就只能靠光影效果来实现了。 这就像我们画素描的时候,为了不让一个球体看起来像是一个圆圈,必须让球体的一些区域是亮的,一些区域是暗的。 一条法线是一个三维向量,一个三维向量由x, y, z等3个分量组成,在法线贴图中,把(x, y, z)当作RGB3个颜色的值存储。 录这些法线的载体就被我们称为法线贴图。 image.png

    1.9K10发布于 2021-06-17
  • 来自专栏转载gongluck的CSDN博客

    GDI透明贴图

    水印的实现可以用透明贴图来做。透明贴图就是让两张图片合并的时候,重叠的部分中使一些颜色不显示,从而达到透明的效果。 如果用GDI来实现的话,具体方法步骤可多可少,少的可以使用一个SDK函数就解决。 //对一数据做两次异或操作,那么数据将恢复到原数据,跟没操作一样,透明贴图就是运用该原理。 其实,实现透明贴图还可以用MaskBlt和TransparentBlt。MaskBlt最后的参数比较复杂,我还没搞懂就先放过了。而TransParentBlt的话,简单来说就是最快捷方便的方式了。

    3.3K60发布于 2018-03-08
  • 来自专栏天天P图攻城狮

    3D 中的贴图纹理的透视矫正

    导语 伪 3D 效果一般是在二维平面上对贴图纹理进行拉伸变形制造出透视效果,从而模拟 3D 的视觉效果。但通过 OpenGL 直接渲染不规则四边形时,不进行透视纹理矫正,就会出现纹理缝隙裂痕等问题。 所以如果不对顶点坐标做任何处理,让 GPU 进行线性插值,会出现下述错误的结果:在渲染时贴图就会出现缝隙折痕的效果; 2. s 和 t(x、y 和 s、t 都是在 3D 空间中的三角形上定义的,是线性关系)。 非常规情况 - 纯二维渲染不规则四边形 这里讨论的非常规情况是指在平面渲染非规则四边形,将四点渲染为两个三角形并进行纹理贴图,没有处理三角形邻边之间的纹理贴图关系,导致出现呈对角线的纹理贴图缝隙情况的问题 z 轴的比例关系就可以在不开启透视投影的情况下,正确地使用透视矫正的方法来解决贴图纹理的透视映射问题。

    2.9K30编辑于 2023-02-27
  • 来自专栏小黑娃Henry

    OpenGLES(二)- GLKit: 纹理贴图OpenGLES(二)- GLKit: 纹理贴图

    OpenGLES(二)- GLKit: 纹理贴图 运行结果 思维导图 准备工作 //1.导入头文件 #import <GLKit/GLKit.h> #import <OpenGLES/ES3/gl.h > #import <OpenGLES/ES3/glext.h> //2.将控制器(UIViewController)改为GLKViewController //3.创建私有属性 EAGLContext content; GLKBaseEffect *bEffect; 以下配置上下文、配置坐标、加载纹理数据都是在-viewDidLoad中调用 配置上下文 //创建EAGL上下文,并设置使用GLES3标准 content = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES3]; if (! 初始值为0 */ glVertexAttribPointer(GLKVertexAttribPosition, 3, GL_FLOAT, GL_FALSE, sizeof(GLfloat

    1.3K20发布于 2021-08-09
  • 来自专栏叶子陪你玩编程

    python图像处理-贴图

    上篇讲了如何给图片上加上文字,那能不能往图片上面贴图片呢,这个是肯定的,下面就来看看吧! 粘贴一张图片 先导入图片处理库和matplotlib库(这里仅用来显示图片使用),接着新建一张黄色背景图,打开本地要粘贴的图片,使用paste的方法粘贴图片,最后显示。 ? 去除粘贴图片背景 粘贴的图片有一个白色的背景,看上去很不自然,下面通过将打开的img2转换成RGBA模式,然后在paste方法里添加第三个蒙版参数,相当于将在img2上面在贴一张图片,白色的地方会变成透明 显示九宫格图片 如果图片是有规律的排列的,我们可以通过循环来处理,下面实现了一个3X3的网格图片,利用这个方法也可以实现微信QQ等的九宫格图片。 ?

    2.1K20发布于 2020-03-12
  • 来自专栏web三维

    shp geojson建筑白模贴图妙用,赛车跑道场景贴图

    该方法适用于将geojson shp白模贴图,导出为gltf模型等格式。来自用户的真实场景,要做赛车场地模型。模型包含道路和道路两侧,模型要有经纬度,和gis底座对齐,最终在uegis中模拟赛事。 1、使用自由绘制或曲线绘制道路面2、使用【等距面线】做出道路两侧围墙,设置围墙厚度20厘米3贴图,道路面设置高度0.01米,围墙设置2米。使用材质刷刷上材质。 墙体材质点击上图中的刷一刷,在右侧白模上点击,刷上材质将材质设置为环绕贴图,会沿着立面循环贴图。近景效果如下还可以使用展开图材质,设置赛车赛事的墙体广告。

    25510编辑于 2025-08-25
  • 来自专栏HT

    基于 HTML5 Canvas 的 3D 模型列表贴图

    = new ht.graph3d.Graph3dView();// 3d 组件 borderPane.setTopView(toolbar);//将 toolbar 场景,利用的是 HT 的三维组件 ht.graph3d.Graph3dView,然后在 3d 场景上添加两个节点,作为对照: //创建两个节点放到 3d 场景中 var node = new ht.Node listView 中显示的 icon 图标拖拽到 3d 中的节点上,作为贴图。 if(lastFaceInfo){//鼠标未松开的情况下,贴图显示旧值 //data.face 默认值为front,图标在3D下的朝向,可取值left|right|top faceInfo.data.s(faceInfo.face + '.image', productId);//front/back/top/bottom/left/right.image 设置这些面的贴图

    1.9K100发布于 2018-01-03
  • 来自专栏计算机图形学 前端可视化 WebGL

    threejs 贴图动画总结

    引言 在三维可视化中,会涉及到很多动画,其中贴图动画是其中很重要的一种,本文介绍几种贴图动画的思路,供大家一起探讨。 流动动画 流动动画通过设置贴图的repeat属性,并不断改变贴图对象的offset让贴图产生流动效果。 这种动画不难实现,首先加载贴图,如下所示: let img = new Image(); img.src = '. 效果如下图所示: GIF动画 gif图片本身自带动画,如果gif放到Image对象上,动画会自动播放,只是当把gif作为贴图对象的图片的时候。 不会自动播放动画。 总结 本文介绍了 theejs 贴图动画的多种实现思路。

    3.1K20编辑于 2022-03-22
  • 来自专栏猛牛哥的博客

    HTMLayout 界面贴图技术

    概述 ---- 在HTMLayout中支持在CSS中使用background属性指定背景图片, 并扩展支持更多的功能, 例如九宫格切片贴图. 前景图片的所有属性用法与背景图片完全一样, 背景贴图支持的功能, 前景贴图同样支持, 唯一要做的就是将background里的"back"替换为"fore"即可, 因为他们用到的语法完全一样, 所以在本文中使用星号泛指背景或前景图片 HTMLayout CSS 贴图属性 ---- 前景图片一般位于背景图片前面,即使不是同一个节点对象, 例如 div对象#A包含div节点#B,那么#A的前景图片在#B的背景图片前面( 但是#A的背景图片仍然在 :hover {    foreground-image-transformation: contrast-brightness-gamma(0.5,0.5,1.2); } 实战 HTMLayout 贴图 ;text="HTMLayout 贴图演示";border="resizable" ) winform.add( editStyle={ dr=1;vscroll=1;bottom=321;right

    3K40发布于 2018-06-04
  • 来自专栏mac软件推荐

    Substance 3D Sampler for mac(三维贴图材质制作)

    Substance 3D Sampler 是一款三维贴图软件,它可以让用户对各种不同类型的物理材质进行扫描和转换。 该软件使用了先进的 AI 技术,能够从现实世界中的物体样本中获取颜色、纹理、光泽等信息,并将其转换为高品质的数字材质贴图。 Substance 3D Sampler for mac(三维贴图材质制作)Substance 3D Sampler 可以扫描多种形状和大小的物体,例如家具、建筑、汽车和纺织品等,同时支持多种格式的输出 ,包括 PBR、VFX 和游戏引擎所需的材质贴图格式。 AI 驱动的扫描处理Image to Material 功能可去除阴影并以无与伦比的精度生成反照率、粗糙度、法线和置换贴图。开放的生态系统在任何地方使用您的内容。

    94020编辑于 2023-03-12
  • 来自专栏Creator星球游戏开发社区

    如何在 Creator3D 中切换模型贴图,超级简单

    前两天有伙伴在 QQ 上询问,如何在 Creator 3D 中切换模型贴图。 在 Creator3D 编辑中,我们可通过图形化拖动的方式修改材质贴图,如下图: ? 注意 3D 物体上的贴图不是Cocos Creator中的 SpriteFrame,而是 Texture2D 类型,下面是 Texture1、Texture2属性定义: @ccclass("test") 最后我们思考一个问题,如果有两个 3D 物理,使用了同一个材质资源,在编辑器中修改材质贴图你会发现两个物理都会同时发生变化,看下图: ? 如果我们是用代码,在运行时修改了任意一个 3D 物体上的材质属性,另一个 3D 物体的材质会变吗? Shawn做了一下测试,但并没有变,看下面的效果: ?

    1.9K20发布于 2019-10-29
  • 来自专栏Unity3d程序开发

    unity3d:shader贴图局部改色相HSV+mask

    美术mask图规则 建筑的部件id为1,2,3,依次类推 原图 mask图,例如,mask为纯黑色背景,色块为要遮罩的区域。 调整完后编辑器的色相参数最好归0 shader流程 1.把原rgb色彩空间转hsv色彩空间 2.取不同rgbmask确定部位编号,然后不同部位取不同色相值 3.再把经过偏移的hsv色彩空间再转回rgb 空间 //HSV空间转化 half3 colorHSV = RGB2HSV(col); colorHSV.y *= _Saturability; colorHSV.z } else if (maskIdx == 1) { colorHSV.x += GetHue(_Hue1); } //HSV空间转化 half3

    57010编辑于 2023-08-24
  • 来自专栏hightopo

    基于 HTML5 Canvas 的 3D 模型贴图问题

    = new ht.graph3d.Graph3dView();// 3d 组件 borderPane.setTopView(toolbar);//将 toolbar 场景,利用的是 HT 的三维组件 ht.graph3d.Graph3dView,然后在 3d 场景上添加两个节点,作为对照: //创建两个节点放到 3d 场景中 var node = new ht.Node listView 中显示的 icon 图标拖拽到 3d 中的节点上,作为贴图。 if(lastFaceInfo){//鼠标未松开的情况下,贴图显示旧值 //data.face 默认值为front,图标在3D下的朝向,可取值left|right|top faceInfo.data.s(faceInfo.face + '.image', productId);//front/back/top/bottom/left/right.image 设置这些面的贴图

    1.3K20发布于 2018-07-09
领券