草庐IT

Textures

全部标签

swift - 如何在 Swift 2.1 中使用滑动/点击(动态)为 3D 对象着色

我必须构建一个可以使用各种手势为3D对象着色的Swift应用程序。我有一个作为SceneKit对象导入的Collada文件。我找不到用水龙头给它上色的方法。我尝试从WWDC示例转换Obj-C,但它对我不起作用。我尝试在3D对象上应用SpriteKit作为纹理,但结果是这样:当用户点击屏幕时,应用程序应获取3D对象的纹理坐标,然后在该点添加一个SpriteKit节点。之前:之后:我不知道为什么纹理会以这种方式爆炸。谢谢! 最佳答案 SpriteKit场景坐标系统并不像图像那样映射到纹理坐标。图像中的像素坐标具有向下增加的y轴;在Spr

ios - 预加载 Sprite 套件纹理

所以我正在阅读有关最佳sprite工具包实践的apple文档。我遇到了这个:例如,如果您的游戏在其所有游戏玩法中使用相同的纹理,您可以创建一个在启动时运行一次的特殊加载类。您执行一次加载纹理的工作,然后将它们留在内存中。如果场景对象被删除并重新创建以重新开始游戏,则不需要重新加载纹理。这将显着提高我的应用程序的性能。有人可以指出正确的方向,告诉我如何实现这一目标吗?我假设我会调用一个函数来在我的ViewController中加载纹理?然后访问该纹理图集? 最佳答案 问题是,你真的想像那样缓存资源吗?不能说我曾经发现需要那种性质的东西

Swift – Balloons.playground – 无法将 "textures"添加到时间轴

我正在玩“Balloons.playground”教程,当我尝试通过单击代码行旁边的圆圈将纹理添加到时间轴时lettextures:[SKTexture]=images.map{SKTexture(imageNamed:"balloon-\($0)")}我只看到“未知错误”重复了13次。怎么回事? 最佳答案 自这篇文章发布以来,Playgrounds中出现了一些问题(Xcode6beta4是这篇文章发布时的最新文章。)我尝试了几种替代方案,但都以类似的方式失败了。我认为在Playground上查看SKTexture可能会被破坏。这是

java - 如何消除平铺纹理之间的间隙?

我正在使用LibGDX制作平台游戏。我在平台上使用方形瓷砖,但是当它们被绘制时,它们中的一些在它们之间有间隙。当我放大/缩小或围绕间隙移动相机时,移动位置。更多详情:图block是32x32,我试过32x32和64x64。图block以32像素间隔排列​​(例如,第一个图block为x=0y=0,第二个图block为x=32y=0,依此类推,在x和y方向)。这些间隙不是纹理伪影,因为我已经检查过了。我使用带填充的TexturePacker。我最好的猜测是将纹理转换为屏幕坐标时出现问题,但不知道如何解决这个问题,我找不到任何解决方案。我已经检查并仔细检查了瓷砖尺寸的精度并将它们对齐。有没

使用纹理(Textures)

        当物体表面并非是纯色的时候,比如带波点,斑纹或者表面有刮痕或被裂纹等,这些效果该如何实现呢?        这里我们需要提到一个概念是贴图(Maps)。Maps是覆盖在游戏物体上的2D图片,用来设置表面的颜色、specularity或metalness、物理纹理或其他相关属性。包含maps的图片文件称为纹理(Textures)。纹理是什么        纹理(Textures)可以看做是普通的图像文件,比如BMP,TIF,PNG和JPG。图像文件中的数据通过通道(channels)进行组织。黑白图像(也称为灰度度,grayscaleimage)只有一个通道来表示每个像素的灰度值

html - WebGL - 等待纹理加载

如何测试WebGLTexture对象是否“完整”?目前我收到这条消息:[WebGLRenderingContext]渲染警告:绑定(bind)到纹理单元0的纹理不可渲染。它可能不是2的幂并且具有不兼容的纹理过滤或者不是“纹理完整”我收到此警告是因为渲染循环试图在其图像加载完成之前使用纹理,那么如何解决这个问题? 最佳答案 解决这个问题的最简单方法是在创建时制作一个1x1纹理。vartex=gl.createTexture();gl.bindTexture(gl.TEXTURE_2D,tex);gl.texImage2D(gl.TEX

html - WebGL - 等待纹理加载

如何测试WebGLTexture对象是否“完整”?目前我收到这条消息:[WebGLRenderingContext]渲染警告:绑定(bind)到纹理单元0的纹理不可渲染。它可能不是2的幂并且具有不兼容的纹理过滤或者不是“纹理完整”我收到此警告是因为渲染循环试图在其图像加载完成之前使用纹理,那么如何解决这个问题? 最佳答案 解决这个问题的最简单方法是在创建时制作一个1x1纹理。vartex=gl.createTexture();gl.bindTexture(gl.TEXTURE_2D,tex);gl.texImage2D(gl.TEX

javascript - WebGL 创建纹理

我成功地从图像创建了WebGL纹理并将其绘制到Canvas元素中。functioninitTexture(src){texture=gl.createTexture();texture.image=newImage();texture.image.onload=function(){handleLoadedTexture(texture)}texture.image.src=src;}我还尝试从其中一种数据类型创建纹理,但没有成功。[对象图像数据][对象CanvasPixelArray][对象CanvasRenderingContext2D]是否可以仅使用图像的像素阵列创建纹理?或者换

javascript - WebGL 创建纹理

我成功地从图像创建了WebGL纹理并将其绘制到Canvas元素中。functioninitTexture(src){texture=gl.createTexture();texture.image=newImage();texture.image.onload=function(){handleLoadedTexture(texture)}texture.image.src=src;}我还尝试从其中一种数据类型创建纹理,但没有成功。[对象图像数据][对象CanvasPixelArray][对象CanvasRenderingContext2D]是否可以仅使用图像的像素阵列创建纹理?或者换

ios - 响应 iOS 中的 RAM 可用性

我有一个纹理很重的OpenGL游戏,我想根据设备有多少RAM来调整它。我拥有的最高分辨率纹理在iPhone4或iPad2上运行良好,但较早的设备在加载纹理的过程中崩溃。我有这些纹理的低分辨率版本,但我需要知道何时使用它们。我目前的策略是检测特定的旧设备(3GS有低分辨率屏幕;iPad没有摄像头),然后只加载iPad2及更高版本和iPhone4及更高版本的高分辨率纹理——我想我您需要为iPodtouch做点什么。但我更愿意使用特征检测而不是硬编码设备模型,因为模型检测对于API和硬件的future更改是脆弱的。我正在考虑的另一种可能性是先加载高分辨率纹理,然后在我收到低内存警告时删除并用