草庐IT

纹理表

全部标签

ios - OpenGL 背景清晰颜色渗入透明纹理

我正在使用OpenGL和C++编写一个简单的2D框架,现在遇到了与透明纹理和混合相关的问题。我已将我的问题简化为以下内容。我有两个纹理:地砖和鱼骨。后者包含透明像素。我将我的OpenGL清晰颜色设置为“透明绿色”并启用深度测试和混合,如下所示:glClearColor(0,1,0,0)glEnable(GL_DEPTH_TEST);glEnable(GL_BLEND);glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);通过两次调用glDrawElements(),我画了鱼,然后画了地板。鱼的Z值较高,因此应放置在地砖的前面。Thisist

ios - 获取 iOS 应用程序使用的实际 OpenGL 纹理内存量

SO中有几个问题与这个问题类似,但它们似乎都没有解释在设备上获取iOS应用程序使用的实际OpenGL纹理内存的明确方法。我知道如何手动计算我的纹理在上传到OpenGL时将使用多少内存。我想知道是否可以从设备中获取确切的OpenGL使用内存量。我想避免查看Instruments上内存监视器小部件中的实际内存和虚拟内存列(我的理解是这些聚合纹理内存和应用程序的常规内存)。我认为这类似于显示的方法here或here.我不介意纹理内存是使用任何外部工具还是以编程方式获得。但我只想要设备报告的真实OpenGL内存,而不是聚合。此外,有人可以解释一下“虚拟内存”列在iOS上的确切含义吗?我想我理解

ios - 如何在 Xcode 中显示带有纹理的 3D 对象

我正在玩ARKit,到目前为止我很成功,但我在3D图形方面遇到了问题(因为我对此一无所知)。我从TurboSquid等网站下载的每个对象在Xcode甚至Blender中都没有纹理(或显示没有纹理)。我只需要获取一个应用了纹理的对象(最好是.dae)。你能向我这样一个三岁的child解释一下我错过了什么吗?谢谢。编辑:即使我设置了他的位置,这个模型也会随着相机移动:TablefromTurboSquidlettreeScene=SCNScene(named:"art.scnassets/table2/table2.scn")lettreeNode=treeScene?.rootNode.

unity3d - 如何在 Unity 3d 的纹理上设置图像

我是Unity3D的新手,我只想完成一些小任务:在Unity3D中的Texture实例上设置图像。我不知道如何在运行时执行此操作,我也想知道如何将其透明度设置得较低。我不需要Texture2D-我只需要Texture。我的图像是.png格式。我还想将我的文档目录中的图像设置到该纹理上。 最佳答案 首先,只需将图像拖放到项目窗口中,即可将图像导入到项目中。在项目窗口中选择图像,并确保在检查器中将其设置为纹理类型。接下来,通过在项目窗口中右键单击来创建新Material。接下来您要将图像分配给该Material,您可以通过将图像(位于项

ios - 如何使用 GLSL 在没有 alpha 混合的情况下组合两个纹理

我正在尝试使用opengles2.0中的着色器组合两个纹理如您在屏幕截图中所见,我正在尝试使用动态环境映射在后向对象上创建针状反射。但是,针的反射看起来是半透明的,并且与我的环境贴图融为一体。这是我的片段着色器;varyinghighpvec4R;uniformsamplerCubecube_map1;uniformsamplerCubecube_map2;voidmain(){mediumpvec3output_color1;mediumpvec3output_color2;output_color1=textureCube(cube_map1,R.xyz).rgb;output_c

ios - Scenekit:使用着色器重新着色漫反射纹理

我想编写一些着色器(表面/片段/...)以某种新颜色重新着色我的漫反射纹理。目前我有这个版本的着色器(我正在尝试实时重新着色纹理)://sm_surfuniformvec4colorTarget;(usedinfullversion)uniformvec4colorTint;(usedinfullversion)vec4colorTexture=texture2D(u_diffuseTexture,_surface.diffuseTexcoord);//vec4colorTexture=_sample.diffuse;//thesameresultvec4tinted=colorTex

ios - 当图像太大时使用 OpenGL 的黑色纹理

在我的应用程序(Tres)中,我从图像选择器加载图像并将其放在纹理上。在我的所有测试中它都运行良好,但现在使用带视网膜显示屏的iPad的在线用户提示图像显示为黑色。我正在查看GL_MAX_TEXTURE_SIZE以确保图像不大于该值。这里我设置了纹理:texture_aspect=image.size.width/image.size.height;CGFloatside=image.size.width;if(side>GL_MAX_TEXTURE_SIZE)side=GL_MAX_TEXTURE_SIZE;UIImage*newImage=[ImageUtilsimageWithI

iphone - 纹理图集应该具有的最大尺寸是多少?

我正在创建一个OpenGL游戏,它将使用纹理图集来加载大量艺术品。纹理图集很好,因为您加载图像一次,然后从中剪切Sprite。您节省了从磁盘加载所有文件所需的时间(如果它们是独立的)并且您节省了存储图像的内存。但在我看来,超过一定程度,这种好处就不会那么真实了,对吧?我的想法是,如果纹理图集非常大,您将浪费大量内存来存储它,并且可能不会经常使用其中的某些Sprite。最好的方法是什么?分成多个Sprite?关卡Sprite还是什么?无论如何,我的问题是:对应于最大图集的像素大小是多少才应该被视为一种优势? 最佳答案 最新的iOS设备

objective-c - OpenGL ES 2.0 纹理映射,但显示为黑色

我试图让我的纹理显示在基本OpenGLView(UIView的子类)中,但无论我使用哪种纹理,它都显示为黑色。我的View代码如下:@implementationSymGLViewtypedefstruct{floatPosition[3];floatColor[4];floatTexCoord[2];}Vertex;constVertexVertices[]={{{1,-1,0},{1,0,0,1},{0,0}},{{1,1,0},{0,1,0,1},{0,1}},{{-1,1,0},{0,0,1,1},{1,1}},{{-1,-1,0},{0,0,0,1},{1,0}}};cons

ios - 手动动画纹理时 SKSpriteNode 拉伸(stretch)

我有一个相当简单的动画,其中包含8个相同大小的图像。我没有使用内置的动画方法,因为我想手动控制动态动画的速度。我正在使用预加载的SKTexture并执行[objectsetTexture:texture];在update:currentTime方法中。问题是有时纹理会变得非常扭曲/拉伸(stretch)。经过大量调试后,我将其缩小为仅在节点静止时发生。事实上,如果我将节点移动一个像素并像这样将其移回原位,问题就不会发生:[selfsetTexture:texture];CGPointcurrentPosition=self.position;self.position=CGPointM