texture-mapping相关内容
我有一个3:4宽高比的典型源图像。我还有一组坐标,我需要将图像映射到单独的图像中。坐标不是完美的矩形;如果有的话,他们定义一个不规则的网格。 例如,(0,0)可能映射到(12,33),(120,0)=>(127 ,36),(240,0)=>(226,13)等。 我的目标是通过映射使我的源图像适合新的形状源坐标到目的地并应用失真。 有哪些方法可以实现这一目标?我正在使用.NET,但
..
我开始玩OpenGL ES 1.0,遇到一些(初学者)问题:我尝试将方形纹理映射到由三角形描述的立方体。 //在 上启用必要的功能glEnable(GL_TEXTURE_2D); glEnable(GL_BLEND); glBlendFunc(GL_ONE,GL_SRC_COLOR); glEnable(GL_CULL_FACE); // glHint(GL_PERSPEC
..
例如,我的精灵(选区)位于纹理坐标内: GLfloat textureCoords [] = { .1f,.1f, .3f ,.1f, .1f,.3f, .3f,.3f }; 然后我想重复这个sprite N次到一个三角形条或者四边形): GLfloat顶点[] = { -100.f, - 100.f, 100.f,-100.f, -10
..
我们想用纹理贴图对球体进行凹凸贴图。但是,球体的表面 的面积是纹理贴图面积的10倍(两个像素的面积)。描述纹理贴图用于凹凸贴图的不同方式。 解决方案 通常矩形纹理用于球体 纹理(u,v)坐标是用作球坐标的角度。结果是texels在赤道附近较大,在极点附近较小。在极点,所有的纹理元素都合并为单个像素。这是怎么做的 纹理领域 正常/凹凸贴图 当您使用这些地图(颜色,正
..
我的球体上有越野车纹理贴图。这个问题是众所周知的,但解决方案很少见。 这是我为一个球体生成UV的代码。 T = trinagles,Nv =顶点法线。 for(int i = 0; i { float tx1 = atan2(Nv [T [i] .v1] .x,Nv [T [i] .v1] .z)/(2.0f * M_PI)+ 0.5f; float ty1 = asi
..
在图像中的(u,v)坐标中有一个三角形。我想绘制这个三角形的三维坐标(X,Y,Z)纹理贴图与图像中的三角形。 这里, u,v,X,Y,Z 都是带有三个元素的矢量,代表三角形的三个角。 b 我有一个非常难看,缓慢且令人不满意的解决方案,其中我: image 用三点定义的转换将它转换为三维空间 用曲面绘制它 最后用AlphaData掩盖不属于三角形的所有内容 当然,这样做
..
我正在使用THREE.js OBJ加载器将模型导入场景。 我知道我可以很好地导入几何体,因为当我为它分配一个MeshNormalMaterial时,它显示很好。但是,如果我使用任何需要UV坐标的东西,它会给我错误: [.WebGLRenderingContext] GL错误:GL_INVALID_OPERATION: glDrawElements:尝试访问属性1中的范围顶点
..
我尝试将PBO复制到启用了自动映射映射的纹理中,但是似乎只有顶级纹理被生成(换句话说,没有发生mip映射)。 我正在使用创建一个PBO //生成称为PBO(像素缓冲对象)的缓冲区ID glGenBuffers(1,pbo); //使其成为当前UNPACK缓冲区 glBindBuffer(GL_PIXEL_UNPACK_BUFFER,* pbo); //为缓冲区分配数据。
..
可以从另一个画布的getImageData数组(在同一个html页面中)创建一个纹理(在canvas中的一个元素上使用)?也许没有three.js?非常感谢, Jennifer 解决方案 WebGL texImage2D 方法是它的最后一个参数可以是一个DOM元素而不是一个ArrayBuffer,在这种情况下,它将其渲染的内容复制到你的纹理对象。 例如: var can
..
我使用ppm加载程序将图像设置为背景,但有一个问题 在这里的颜色是我使用的代码和图像。 http://imgur.com/w732d6j http://imgur.com/mJr26Ik p> 这里是代码..... texture.h #ifndef TEXTURE_H #define TEXTURE_H struct Image { unsig
..
任何人都知道为什么我在下面的第2行得到分段错误(这是我所有的glInit东西)?我试过不同的图像格式(.jpeg,.png,.bmp,所有从互联网)。调试提示或任何帮助!如果你想看到更多的来源,问我,我会及时编辑。 ilutRenderer(ILUT_OPENGL); GLuint tex1 = ilutGLLoadImage(“/ home / brent / Desktop / m
..
制作对象加载器,并且所有纹理部分在不同的纹理文件中。什么是将其映射到模型上的最佳解决方案? 我需要将每个具有自己的纹理的部分作为1个模型来处理,以便最终的body有多个独立的绘图调用,每个都有一个纹理。 解决方案 随着可编程渲染管线(即: )的出现,您现在可以将多个纹理应用并合并到网格,而不需要多次绘制调用。 p> 现代GPU有多个纹理单元( glActiveTexture ),着
..
我使用 GL_QUAD_STRIP 原语绘制一个3d球体,它工作除了我不知道如何设置纹理坐标。 我有一定数量的 division 将我的球体划分为相等的纬度和经度数。因此,球体的顶点使用下面的分割近似。 float x,y,z,dTheta = 180 / divisions,dLon = 360 / divisions,degToRad = 3.14 / 180; for(
..
我使用 GL_QUAD_STRIP 原语绘制一个3d球体,它工作除了我不知道如何设置纹理坐标。 我有一定数量的 division 将我的球体划分为相等的纬度和经度数。因此,球体的顶点使用下面的分割近似。 float x,y,z,dTheta = 180 / divisions,dLon = 360 / divisions,degToRad = 3.14 / 180; for(
..
我使用 GL_QUAD_STRIP 原语绘制一个3d球体,它工作除了我不知道如何设置纹理坐标。 我有一定数量的 division 将我的球体划分为相等的纬度和经度数。因此,球体的顶点使用下面的分割近似。 float x,y,z,dTheta = 180 / divisions,dLon = 360 / divisions,degToRad = 3.14 / 180; for(
..
我想能够(在片段着色器中)将一个纹理添加到另一个纹理。现在我有投影纹理,想扩展。 这里是我到目前为止: Im也绘制viewfrustum,蓝色/灰色测试图像投射到恒定旋转的几何图形上。 $ b 我的顶点着色器: ProjTexCoord = ProjectorMatrix * ModelTransform * raw_pos; 我的片段着色器: vec4 diff
..
我想能够(在片段着色器中)将一个纹理添加到另一个纹理。现在我有投影纹理,想扩展。 这里是我到目前为止: Im也绘制了viewfrustum,蓝色/灰色测试图像投射到恒定旋转的几何体上。 $ b 我的顶点着色器 ProjTexCoord = ProjectorMatrix * ModelTransform * raw_pos; 我的片段着色器: vec4 diffu
..
我已经阅读过,包括Nehe和这里的解决方案,但我找不到具体的答案。 我试图加载aa照片,称为stars .jpg。我想把这个场景的背景,通过映射它使用uv坐标,做它 glBegin(GL_QUADS) glTexCoord2f(0,0); glVertex2f(0,0); 但是我只是很困惑的如何加载实际的纹理,所有的调用 glActiveText
..
以下是我创建的圆柱: void drawCylinder(float r,float g,float b){ setMaterialColors(r,g,b); glColor4f(r,g,b,1.0); / * top triangle * / double i,resolution = 0.1; double height = 1,radius = 0.5; gl
..
我不知道如何去搞清楚如何映射为一个二维多边形纹理cooridnates(N边形)如何才能做到这一点? 我想要达到的效果是纹理以适合多边形,并相应地伸出使整机质感上它适合。 感谢 解决方案 请记住,在OpenGL渲染一个口岸时,它只是一大堆三角形。此外,你采取一些形状,并试图将其映射到一个矩形,所以你必须非常关键的,你想如何做到这一点,因为许多不同的映射从任何形状去一个长方形的质感。
..