Questions tagged «textures»

纹理映射过程中使用的位图(光栅图像)。

2
内容管道工具是否应该嵌入引擎中?
游戏引擎应该有多低?引擎中应嵌入多少内容管道? 超级引擎可能有用的一些用例: 加载用户内容时,不需要用户打包其纹理,引擎将在加载时执行此操作。 脚本请求的字体大小要比预先生成的字体大得多,引擎可以解析ttf文件广告以构建新的纹理图集。 晕锻。 当然,这些都不是免费的。这需要您的内容管道工具使用C ++编写。您需要对管道中使用的支持库进行编译以在设备上使用。它要求内容生成必须没有错误。而且通常会使您的引擎更大且笨拙。 还有哪些其他优点和缺点? 优点胜过缺点吗? 一些具体问题: 引擎应该能够加载各种图像格式吗?仅TGA加载程序非常容易编写代码。 音频格式呢?仅支持加载wav文件是否可行?周围的音乐文件通常很大。 引擎是否应具有动态TTF解析和图集生成的能力? 纹理包装。

1
精灵表纹理拾取相邻纹理的边缘
我有一个自定义的精灵例程(openGL 2.0),该例程使用一个简单的精灵表(我的纹理彼此水平排列)。 因此,例如,这是一个带有2个简单纹理的测试精灵表: 现在,我在创建openGL Sprite对象时要做的就是在其图集中指定帧的总数,并且在绘制时指定要绘制的帧。 然后计算出从何处获取纹理的方式: 将所需的帧数除以总帧数(以获得左坐标) 然后将1除以总帧数,然后将结果加到上面计算出的左手坐标上。 这似乎确实有效,但有时会遇到问题。比如说,我想在下面画X,我得到........... 我听说过在每个纹理之间放置1 px的“填充”,但是有人可以确切解释它是如何工作的吗?我的意思是,如果这样做,它肯定会取消获得纹理的计算。 如果我简单地在所拾取的纹理中包括填充(因此使用空白边框绘制精灵),那么这肯定会导致碰撞检测问题吗?(即,当透明零件发生碰撞时,使用边界框时,精灵可能会发生碰撞)。 如果有人可以解释,将不胜感激。

5
为什么在Vector3s中不能使用运算符'> ='?
我正在尝试获得一个矩形,以便在我称为_positionA和的两个位置之间移动_positionB。两者都是类型Vector3。矩形移动得很好。但是,到达时_positionB它不会像应该的那样朝相反的方向移动。 我回到代码中看一看。我得出的结论是,随着对象的移动,if代码中的语句错过了rects位置等于的框架_positionB。如果rects的位置大于或等于, 我决定将代码修改为反向_positionB。我的代码不太长,因此我将在下面显示它: using UnityEngine; using System.Collections; public class Rectangle : MonoBehaviour { private Vector3 _positionA = new Vector3(-0.97f, -4.28f); //Start position private Vector3 _positionB = new Vector3(11.87f, -4.28f); //End position private Transform _rect_tfm; private bool _atPosA = false, _atPosB = false; public Vector2 speed = new Vector2(1f, 0f); private …
9 unity  c#  vector  mathematics  vector  matrix  unity  c#  transformation  java  3d  terrain-rendering  shading  ios  opengl-es  opengl  rendering  optimization  python  scripting  minecraft-modding  modding  pc  3d-meshes  mesh  culling  point-cloud  networking  interpolation  mathematics  game-design  ai  game-mechanics  animation  unreal-4  skeletal-animation  3dsmax  unity  c#  3d  opengl  c++  textures  unity  ide  cocos2d  cocos2d-x-js  unity  c#  mono  il2cpp  c++  game-loop  timer  linux  flash  actionscript-3  java  glsl  c++  vector  entity-component  c++  directx11  windows  visual-studio  libgdx  mouse  unity  c#  architecture  storage  unity  c#  rotation  coordinates  quaternion  vrpn  movement  vector  unreal-4  unity  shaders  unity  gui  text  bug  shooter  3d  animation  rendering  voxels  c++  mmo  multithreading  linux  textures  procedural-generation  terrain-rendering  multiplayer  mmo  game-state  java  android  libgdx  opengl  procedural-generation  unity  gui  3d  animation  tools  geometry-shader  mobile  advertisements  unity  c#  animation  scripting  unity  animation  unityscript  coroutines  unity  shaders  lighting  camera 


1
如何计算切线和双切向量
我在three.js中加载了纹理,然后传递给着色器。在顶点着色器中,我计算法线,然后将uv向量保存到变量中。 <script id="vertexShader" type="x-shader/x-vertex"> varying vec3 N,P; varying vec2 UV; void main() { gl_Position= projectionMatrix * modelViewMatrix * vec4(position,1.0); P= position; N= normalMatrix * vec3(normal); UV= uv; } </script> <script id="fragmentShader" type="x-shader/x-fragment"> varying vec3 N,P; varying vec2 UV; uniform sampler2D texture; void main() { gl_FragColor= texture2D(texture,UV); } </script> 如何计算T和B向量?

1
使用mipmap的纹理坐标不连续性会创建接缝
我刚刚开始学习openGL,并且在使用mipmap对球体进行纹理化时得到了此工件。基本上,当片段对我的纹理的边缘进行采样时,它会检测不连续性(例如从1到0)并选择最小的mipmap,从而创建此丑陋的接缝: 丑陋的缝http://cdn.imghack.se/images/6bbe0ad0173cac003cd5dddc94bd43c7.png 因此,我尝试使用textureGrad手动覆盖渐变: //fragVert is the original vertex from the vertex shader vec2 ll = vec2((atan(fragVert.y, fragVert.x) / 3.1415926 + 1.0) * 0.5, (asin(fragVert.z) / 3.1415926 + 0.5)); vec2 ll2 = ll; if (ll.x < 0.01 || ll.x > 0.99) ll2.x = .5; vec4 surfaceColor = textureGrad(material.tex, ll, dFdx(ll2), dFdy(ll2)); …

1
gluLookAt如何工作?
据我了解, gluLookAt( eye_x, eye_y, eye_z, center_x, center_y, center_z, up_x, up_y, up_z ); 等效于: glRotatef(B, 0.0, 0.0, 1.0); glRotatef(A, wx, wy, wz); glTranslatef(-eye_x, -eye_y, -eye_z); 但是当我打印出ModelView矩阵时,对的调用glTranslatef()似乎无法正常工作。这是代码片段: #include <stdlib.h> #include <stdio.h> #include <GL/glut.h> #include <iomanip> #include <iostream> #include <string> using namespace std; static const int Rx = 0; static const int Ry …


1
Starcraft 2使用什么技术绘制地图?
我有一个在运行时按程序生成的地图,目前正在研究渲染该地图的方法。我对星际争霸2的外观很感兴趣,我想就它采用什么方法来实现它提出一些建议。其次,如果可能的话,我想看任何教程,文章甚至源代码示例。 我想提供一些主要建议,但也请提出其他可能对我有所帮助的建议。 可捕捉的图块-一张典型的星际飞船地图似乎由一组模型图块组成,人们可以将它们组合在一起以创建悬崖,坡道和其他高地地形。他们采用什么方法使它们看起来如此自然?我的意思是,很难发现重复。 地形纹理-地形纹理是如此变化,甚至是动态的(虫族蠕变)。用什么方法做到这一点? 谢谢。

4
无法理解这些UV纹理坐标(范围不是0.0到1.0)
我正在尝试将由Google SketchUp 8 Pro生成的简单3D对象绘制到我的WebGL应用程序上,该模型是一个简单的圆柱体。 我打开了导出的文件,并将顶点的位置,索引,法线和纹理坐标复制到一个.json文件中,以便能够在javascript上使用它。除了具有一些非常大的值(例如46.331676和负值)的纹理坐标外,其他所有内容似乎都可以正常工作。现在我不知道我是否错了,但是2D纹理坐标不应该仅在0.0到1.0的范围内吗? 好吧,使用这些纹理坐标绘制模型会给我一种完全怪异的外观,并且只有当我非常接近模型(不是我自己,凸轮)时,我才能正确看到纹理,就像纹理疯狂一样减小尺寸,并在模型的各个面上无限重复。(是的,我在那个纹理包裹物上使用了GL_REPEAT) 我注意到的是,如果获得所有这些坐标并将它们除以10或100,我将获得“正常”外观,但仍不在0.0到1.0范围内。 这是我的json文件:http://pastebin.com/Aa4wvGvv 这是我的GLSL着色器:http : //pastebin.com/DR4K37T9 这是SketchUp导出的.X文件:http : //pastebin.com/hmYAJZWE 我也尝试使用XNA绘制此模型,但仍然无法正常工作。使用此HLSL着色器: http //pastebin.com/RBgVFq08 我尝试将同一模型导出为不同的格式collada,fbx和x。所有这些产生相同的结果。

6
用于将图像加载到纹理,Linux,C和OpenGl中的库
我正在寻找用于Linux的简单,自包含的C库,以将文件中的图像加载到OpenGL纹理中。许可证应该相当自由:zlib,bsd,mit或其他。我已经找到SOIL,但是很长一段时间都没有更新。还有其他事情,还是我必须自己写? PS我使用glfw。仅不推荐使用用于加载图像的功能。
9 opengl  textures  c  loading  linux 

4
纹理在GPU上占用多少内存?
磁盘上的大png可能只占用几兆字节,但我想在gpu上,同一png以未压缩的格式存储,这会占用更多空间。这是真的?如果是真的,有多少空间?
9 xna  textures  gpu 

3
Direct3D纹理采样非常慢
因此,我使用Direct3D 9编写了一个小型游戏,并且针对地形使用了多重纹理。我要做的是对3个纹理和一个混合贴图进行采样,并基于混合贴图的颜色通道从这三个纹理中获取整体颜色。无论如何,当我对1个以上的纹理进行采样时,我的帧速率会大幅下降,我将从120+ fps降至不到50 fps。 这是造成速度下降的HLSL代码: float3 ground = tex2D(GroundTex, multiTex).rgb; float3 stone = tex2D(StoneTex, multiTex).rgb; float3 grass = tex2D(GrassTex, multiTex).rgb; float3 blend = tex2D(BlendMapTex, blendMap).rgb; 我做错了吗?如果任何人有任何有关纹理采样的信息或技巧,那都很好。 谢谢。

5
在Photoshop / Gimp图像中编辑Alpha通道的非破坏性方式
想要为Unity3d制作纹理,我被困在一个似乎很简单的阶段。我的目标是创建一个RGBA图像,每个像素的颜色信息,以及一个单独的alpha通道。这两个成分分别作为基本色和反射强度输入到Unity中。(使用“反射/凸出的漫反射”材料。) 如果在Photoshop中使用遮罩工具,则可以擦除部分输出图像(透明度)。但是,我想在输出时保留原始的RBG颜色信息,而不仅仅是保留“空白”区域。另外,如果我可以无损地做到这一点,那就太好了。最终的Alpha通道取决于标准层,或由路径对象等构建。 我对Gimp也有同样的问题。 任何帮助,将不胜感激。 (如果不是Photoshop / Gimp的工具,有人可以推荐一个更好的工具吗?)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.