草庐IT

纹理表

全部标签

ios - 用于纹理、颜色和纹理/颜色的片段着色器 GLSL

我想完成一个GLSL着色器,它可以对我的顶点对象进行纹理和着色。事实上,它在3个案例中的2个对我有用:1)如果我只分配了一个纹理(但没有特定的颜色-所以颜色是“白色”),我只是得到一个纹理对象-有效2)如果我分配了纹理和颜色,我会得到一个用该颜色调制的纹理对象-有效3)如果我只分配了颜色但没有分配纹理,我会得到一个黑色对象-不起作用我的着色器看起来像这样:varyinglowpvec4colorVarying;varyingmediumpvec2texcoordVarying;uniformsampler2Dtexture;voidmain(){gl_FragColor=texture

ios - SceneKit - 将立方体纹理映射到盒子

我有一个看起来像立方体的纹理我想在SceneKitView中的立方体上使用它。为此,我正在使用SceneKit几何体SCNBox。不幸的是,结果是纹理完全转换到每个面上,而不是只使用相应的部分:letvideoGeometry=SCNBox(width:1,height:1,length:1,chamferRadius:0)videoGeometry.firstMaterial?.isDoubleSided=truevideoGeometry.firstMaterial?.diffuse.contents=UIImage(named:"test")!我知道我可以在几何体上使用着色器修改

ios - Metal 着色器纹理读取与样本

在Metal着色语言中,访问纹理像素的read和sample函数之间的确切区别是什么,什么时候应该使用哪一个? 最佳答案 一些区别:您可以在纹理边界之外进行采样。但是你不应该阅读纹理之外的内容。采样可以使用归一化坐标(介于0和1之间)。阅读始终使用像素坐标。采样器可以在像素值之间进行插值(例如,如果您在两个像素之间采样)。阅读总能为您提供准确的像素值。 关于ios-Metal着色器纹理读取与样本,我们在StackOverflow上找到一个类似的问题: http

ios - iOS 纹理加载上的 OpenGL ES - 我如何从 RGBA8888 .png 文件获取 RGB565 纹理?

所以我正在处理一堆2048x2048Sprite表,它们很快就会填满内存。照原样,我正在使用以下方法(通过RayWenderlich)加载纹理:-(GLuint)setupTexture:(NSString*)fileName{CGImageRefspriteImage=[UIImageimageNamed:fileName].CGImage;if(!spriteImage){NSLog(@"Failedtoloadimage%@",fileName);exit(1);}size_twidth=CGImageGetWidth(spriteImage);size_theight=CGIm

ios - 找不到纹理图集

我有一个名为plane1.atlas的纹理图集,其中包含许多图像。当我初始化图集并尝试使用其中一个纹理时,我收到错误消息“找不到纹理图集”。如下图所示,我有初始化纹理的代码,bundle中有纹理图集,错误日志显示了错误。我在目标设置中有正确的设置,我尝试重命名纹理图集并在初始化/使用任何纹理时使用文件扩展名(我添加了.atlas和.png,但不起作用)。我也尝试了其他图像,但无济于事。不适用于设备和模拟器,尽管我多次重置内容/设置。这里是代码,以防它在图像中太小:SKSpriteNode*planeCore;SKSpriteNode*planeOutline;SKSpriteNode*

ios - ios 中的 three.js 视频纹理在单独启动的播放器中播放 - 想法?

我正在尝试使用three.js获取视频纹理以在iOS中的几何体上播放,但浏览器不是将视频作为纹理播放,而是在覆盖窗口的播放器中启动视频。我试过将mp4直接加载到纹理中,首先通过Canvas加载它,等等。如果我用播放器的控件暂停视频,然后“捏”,播放器就会消失,在暂停的地理区域上留下暂停的纹理框架。在线示例,例如:http://jeromeetienne.github.io/threex.videotexture/examples/videotexture.html展示同样的问题。所以我假设这是iOS中的一个新“功能”。这是iOS问题还是Safari问题?如果有人有解决方法,我将不胜感激

ios - 使用高分辨率纹理优化 SceneKit 性能

我是一名相当有经验的iOS开发人员,但完全是SceneKit的新手,试图在一个基本的应用程序中模拟一些行星。为此,我使用了应用于基本球体的火星、金星等高分辨率法线和漫反射贴图。他们工作!它们看起来棒极了,正是我想要的。问题是,质量/内存权衡让我丧命。我可以缩小纹理的尺寸以减少内存占用,但低于特定分辨率时,结果(尤其是法线贴图)开始看起来非常糊状和糟糕。该应用程序至少需要能够缩放到地球屏幕宽度的位置,但为了保持山脉和山谷的清晰度,我需要使用大约6000x3000的PNG法线贴图(上图)。我可以缩放漫反射贴图下降到大约1000x500,但即便如此,我从一个轻轻旋转的球体中得到周期性的内存崩

android - 通过表面着色器 (Unity) 用其他纹理交换 MainTex 像素

我的表面着色器的主要纹理是Googlemap图像block,类似于:.我想用来自单独纹理的像素替换接近指定颜色的像素。现在工作的是以下内容:Shader"MyShader"{Properties{_MainTex("Base(RGB)Trans(A)",2D)="white"{}_GrassTexture("GrassTexture",2D)="white"{}_RoadTexture("RoadTexture",2D)="white"{}_WaterTexture("WaterTexture",2D)="white"{}}SubShader{Tags{"Queue"="Transpa

ios - Sprite Kit 纹理尺寸/分辨率

我刚开始使用SpriteKit,在加载纹理Sprite时遇到了问题。我在Xcode中使用SpriteKit模板创建了一个新项目,想要添加一个简单的Sprite,并将图像文件作为纹理。这是我在场景的初始化方法中使用的代码:SKSpriteNode*myNode=[SKSpriteNodespriteNodeWithImageNamed:@"my_image_file"];myNode.position=CGPointMake(100,100);[selfaddChild:myNode];我没有为图像名称添加扩展名,所以我的文件名为“my_image_file.png”,但我省略了末尾的.

ios - gl 纹理采样器总是在 iOS 上返回 vec4(0.,0.,0.,1.)(但在 OSX/Android 上可用)

我的代码只是将一些人为的数据上传到纹理:glActiveTexture(GL_TEXTURE0+gl_sim_texture_active_n);glBindTexture(GL_TEXTURE_2D,gl_sim_texture_buff_id);for(inti=0;i以及仅从我的着色器中的纹理采样的代码:uniformvec2viewport;uniformsampler2Dsim_texture;voidmain(){vec2tex_uv=vec2(gl_FragCoord.x/(viewport.x-1.),gl_FragCoord.y/(viewport.y-1.));gl