关于OpenGL球体贴图问题 1C

现在画了一个球体,但是不知道怎样把一张世界地图的图片贴到他的表面上,希望有大神能帮帮我,谢谢你们了~!

1
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
OpenGL球体绘制与球体贴图
OpenGL球体绘制与球体贴图
opengl给旋转的立方体和球体赋予纹理贴图
在opengl中给旋转的立方体和球体赋予纹理贴图
openGL之glsl入门7下--添加鱼眼及全景球面纹理
接着上一篇讲,前面已经展示了纹理把图片贴到立方体上,立方体表面是平面的,纹理坐标不需要设计,下面的两个例子都是基于球面贴图的,把鱼眼和全景图片贴到球面上,即实现曲面贴图。实际上,曲面贴图和平面贴图使用的纹理方面的知识没变化,主要难点在于纹理坐标设计,纹理坐标设计涉及到变换模型设计,需要一定的数学基础,下面例子中的两种贴图方法是比较简单的,网上的资料也非常多,学习本章例子的话,最好能推导例子中用的公
球面贴图(Sphere Map)
球面贴图用于环境反射(reflection), 纹理坐标的生成与cube map的reflection mode类似:           推导如下: 顶点处理器: // Sphere Mapping Shader // Vertex Shader // Richard S. Wright Jr. // OpenGL SuperBible #version 130 /
android OpenGL ES 地球仪绘制——球体绘制及纹理映射
支持:(1) opengl es绘制三角形拼成球体(2)2的幂次方大小的图片作为纹理映射到整个球面上(3)双点触控缩放球体(4) 拖动旋转球体效果图:在 android openGL 提供了绘制三角形(面)的函数// 绑定点的坐标 gl.glVertexPointer(3, GL10.GL_FIXED, 0, mVertexBuffer); // 按三角形模式(vCount个点中,每三个点作为一组
android OpenGL ES 地球仪绘制——球体绘制及纹理映射——源码
支持如下: (1)opengl es绘制三角形拼成球体 (2)图片作为纹理映射到整个球面上 (3)双点触控缩放球体 (4)拖动旋转球体
全景图--球贴图
看一些文章,球纹理图好象是用全景图转换来的。用手机拍摄一组图试试:然后用用ps中的photomerge拼接成:再去掉两头重合部分:直接载入前面的程序中也是可以的,显示在球外视角:如果用右键向缩小方向拉,图像缩小后反向放大,视角就会进入球内部。不过效果不是很好,为了更好的显示,重新修改下cpp://52 全景球贴图 //左键(+ 移动)旋转,右键(+ 移动)缩放 1,2,3,4 切换地图,回车键(...
openGL之glsl入门7上--添加鱼眼及全景球面纹理
理解纹理可以先看一下第四章的例子,第四章例子使用片元着色器直接显示图片(1080p图片),做法是先确定矩形的顶点坐标,矩形包含1920*1080个顶点,每个顶点与一个像素对应,这种方法虽然能显示出图片,但缺点非常明显,效率低、绘制麻烦、缩放效果差等。     理论上来说所有的模型都可以使用顶点+顶点颜色的方式绘制出来,这样的话,制作模型就太麻烦,纹理正是为了解决该问题而出现的,使用纹理,较少的工
opengl实现球及环形纹理
利用opengl和c语言实现球和环形纹理的绘制(在vs2017下编写,需要glut库)
OpenGL编程指南12:光照_渲染真实球体
1.场景中添加光照的步骤 1.定义每个物体的每个顶点的法线向量。这个法向量决定了物体相对于光源的方向。 2.创建和选择一个或多个光照,并设置他们的位置。 3.创建和选择一种光照模型,它定义了全局环境光的层析以及观察点的有效位置(便于进行光照计算)。 4.定义场景中物体的材料属性。 2.光照球体及分析 #include void init(void) {//光照参数初始化
opengl简单纹理贴图
利用opengl和c语言实现顶点做色器的使用,实现一张图片的简单纹理贴图(在vs2017下编写,需要opengl库)
OpenGL ES绘制3D纹理贴图
最近看了《疯狂android讲义》的图形相关的内容,结合自己的理解,整理了一下。 下图是做出来的3D纹理贴图效果,手指在屏幕滑动时,图片可以随之转动。 要实现一个纹理贴图,很简单,大致需要五步: 1、gl.glEnable(GL10.GL_TEXTURE_2D) 启用2D纹理功能; 2、gl.glEnableClientState(GL10.GL_TEXTURE_COORD_ARRAY
qt opengl 2d纹理到3d球面
   根据前面的实践,已能通过代码生成球面的顶点,要将2维图贴到球表面;只要能计算出每个顶点对应的纹理坐标就可以了;关于2维图贴到球面的公式如下:          float pi = 3.14159265; U = arcsin(z / R)/pi + 0.5; V = arctan(y/x)/2/pi;         x、y、z分别为顶点的三个坐标。由此我们便可...
OpenGL.ES在Android上的简单实践:13-全景(画个球)
OpenGL.ES在Android上的简单实践: 13-全景(画个球)     1、画个球 继续上一节的操作,我们已经通过两次for循环遍历了一个球的所有网格矩形的顶点,并用List存储起来。并且用另外的一个List存储所要画的三角形顶点的索引值。接下来,我们就要开始使用VBO-IBO画出网格矩形,最终画出整个球体出来。 private void initVertexData...
球面贴图,立方体贴图的比较
因为要设计AR系统,但是纠结是用cube还是Sphere mapping,cube mapping比较熟悉,但是网上关于sphere mapping的资料少之又少,只怪智商太低太原理的又看不懂,所以花了很长时间,主要是靠下面几个链接和那篇论文理解透的。总之,还是用Cube吧。。。。 参考资料: http://www.twinklingstar.cn/2014/1322/environment-...
用多边形近似球体表面(icosphere)的Mesh数据的生成并使用openGL绘制
这里用到的Mesh数据结构如果不清楚可以参照我的上一篇。 参考了一个牛人的文章, 他的代码是C#的,我用C++改写了一遍,为了便于理解,省去了他的cache优化。创建网格球面一般3D球体的建模有两种Mesh可以选择,UVSphere和Iconsphere 左图为UVSphere,右图为Iconsphere。在一些情况下UVphere有很好的表现,但是,在另一些情境中,比如改变球体形状时,UV
关于球面贴图
原本以为基本不会再接触图形学这方面的知识了,结果一个美院的朋友的一些问题让我再一次学习了一些图形学的知识。 关于贴图的最简单应用就是你画一个矩形,然后将一张矩形图片作为纹理贴在这个矩形上面,这样就可以产生不同纹理的地板了(这只是其中一种应用),这个对目前的技术来说是容易做到的,不管你是用OpenGL还是其他的一些工具,需要做的就是将矩形的四个顶点的位置和图片的四个顶点对应上就可以了。这里涉及到你
OpenGL 画圆球
OpenGL 画圆球只需要两个点,然后使用GL_TRIANGLE_STRIP(按顺序依次组成三角形)方式画三角形就可以了 从上至下,一圈一圈往下计算 球面点计算公式// x=x0+r sinθcosφ // y=y0+r sinθsinφ // z=z0+r cosθ θ为yz平面GLfloat * calculateBallVertex(GLfloat r) { //
OpenGL天空贴图以及反射纹理映射即镜面反射
编程中一个好的天空贴图会给玩家带来舒适的感觉,还有那对周围物体的反射光映射到球、等物体上或许是一个特别愉悦的事件,然而这在opengl里实现又不太难,请看下面的代码: #include #include #define GLUT_DISABLE_ATEXIT_HACK #include #include #include // 摄像机参数 static float cameraTh
OPENGL 画地球 真实感超强-纹理贴图 光照 动画
OPENGL 画地球-纹理贴图 光照 动画 VS2005工程,需要gl glu glut glaux支持。 有任何问题可留言。
Opengl-立方体贴图(天空盒子)
立方体贴图就是一个包含了6个2D纹理的纹理,每个2D纹理都组成了立方体的一个面:一个有纹理的立方体。你可能会奇怪,这样一个立方体有什么用途呢?为什么要把6张纹理合并到一张纹理中,而不是直接使用6个单独的纹理呢?立方体贴图有一个非常有用的特性,它可以通过一个方向向量来进行索引/采样。假设我们有一个1x1x1的单位立方体,方向向量的原点位于它的中心。使用一个橘黄色的方向向量来从立方体贴图上采样一...
[OpenGL] 纹理高级篇 - 视差贴图
        本文是贴图系统的续篇,上一篇为法线贴图 https://blog.csdn.net/ZJU_fish1996/article/details/83934059         图源来自unreal的自带材质包里的new brick系列,可见https://api.unrealengine.com/CHN/Engine/Rendering/Materials/HowTo/BumpO...
DirectX实现球面纹理映射
http://www.cnblogs.com/graphics/archive/2011/09/13/2174022.html DirectX实现球面纹理映射 介绍 球面纹理映射就是将一个平面纹理映射到球面上。见下图。 实现球面纹理映射有两种方法,一种是使用顶点的法向量来生成纹理坐标,另一个是使用顶点的位置向量来生成纹理坐标。 使用顶点的法向量生成纹理坐标
OpenGL学习三十三:球面映射
(此节内容对应NEHE教程第23课) 把环境纹理包裹在你的3D模型上,让它看起来象反射了周围的场景一样。 球体环境映射是一个创建快速金属反射效果的方法 首先,你需要一幅球体环境映射图,用来把它映射到球体上。在Photoshop中打开一幅图并选择所有的像素,创建它的一个复制。 接着,我们把图像变为2的幂次方大小,一般为128x128或256x256。 最后使用扭曲(di
用球体模拟天空
之前说到可以用球体作为Sky Dome模拟天空,那么就来说一说其中的细节. Sky Dome就是天空穹顶,是一种在三维场景中模拟天空的方法,用Sky Dome模拟的天空较Sky Box更为逼真,对应用Sky Box的场景采用雾效果很容易穿帮,而Sky Dome不会,因为Sky Box是方形从视点到各个顶点的距离不相等,Sky Dome则是球体,把视点设置为球体中心则到各个顶点的距离相等,雾效
OpenGL 用虚拟球实现场景自由旋转(转)
模型自由旋转的数学基础   我们用鼠标实现模型的旋转,就好像手握一个包含模型的虚拟球一样。按一下鼠标,即在这个虚拟球上确定了一点,而拖动鼠标就是移动那个点,这样就实现了对虚拟球的旋转,同时达到旋转模型的目的。 用虚拟球实现场景自由旋转(转)" title="OpenGL 用虚拟球实现场景自由旋转(转)" style="margin:0px; padding:0px;
openGL之几何变换(绘制球体)---openGL学习笔记(六)
openGL中的变换包括:   ①视图(modeling)---指定观察者或者相机位置  GLU.glLookAt() 默认情况下,在透视投影中观察者是从原点向Z轴负方向看去,也可以自行设置。   ②模型(viewing)---在场景中移动物体 包含移动、旋转、缩放   ③模型视图(modelview)---描述制图和模型变换的对偶性 例如:观察者靠近物体,与物体放置靠近观察者,所呈现的效果
OpenGL-渲染光照球体
3.光照 注意: a. OpenGL至少会支持8个光源,即GL_LIGHT0到GL_LIGHT7。但是开启过多的光源会导致程序运行速度下降。 b. GL_AMBIENT、GL_DIFFUSE、GL_SPECULAR这三种属性是光源和材质所共有的,如果某光源发出的光线照射到某材质的表面,则最终的漫反射强度由两个GL_DIFFUSE属 性共同决定,最终的镜面反射强度由两个GL_SPECULAR属性共同决定。
WebGL自学课程(5):使用一张贴图纹理绘制地球
注:转载请注明出处 在《WebGL自学课程(3):原生WebGL+ArcGIS JS API绘制旋转地球》一文中讲述了如何利用地图数据绘制地球的轮廓,但是缺少色彩。本文就是想通过贴图的方式让地球穿上一层靓丽的外衣,并可以通过鼠标拖拽等对绘制的地球进行交互式操作。由于本人《WebGL自学课程(4):WebGL矩阵、Camera基础操作》一文中构建了本人自己常用的代码,封装到World.js
Android OpenGLES2.0(十七)——球形天空盒VR效果实现
在3D游戏中通常都会用到天空盒,在3D引擎中也一般会存在天空盒组件,让开发者可以直接使用。那么天空盒是什么?天空盒又是如何实现的呢?本篇博客主要介绍如何在Android中利用OpenGLES绘制一个天空盒,并实现VR效果。天空盒、天空穹、天空球和VR虽然大多数人知道这些东西是啥,但是我觉得我还是有必要把他们的定义“搬”过来,万一有人不知道呢。 天空盒(Sky Box)是放到场景中的一个立方体,经常是
OpenGL三维球体体数据生成与绘制
#include #include #include #include #include #include #include #include #include #include using namespace std; #define STEP 0.02 //采样间隔 //体素结构体 typedef struct Voxel { float x; float y; f
opengl:绘制球体
数学基础球面参数方程球面的参数曲线可以用球坐标表示,引入参数u,v,其中v是球面点与原点的连线与z轴正向的夹角,u表示连线在xy平面的投影与x轴正向的夹角,如下图所示:则球面参数方程可以表示为:球面法向量已知球面的参数方程以后,很容易求得给定点的法向量,分别对u和v方向求偏导数,然后对两个所得向量进行叉积即可: 实现细节已知参数方程以后,需要进行离散,分别设定u和v的步长:ustep、vstep。
OpenGL学习笔记——纹理贴图
简单地说,纹理就是矩形的数据数组。例如,颜色数据、亮度数据、颜色和alpha数据。纹理数组中的单个值常常称为纹理单元(texel)。纹理贴图之所以复杂,是因为矩形的纹理可以映射到非矩形的区域,并且必须以合理的方式实现。由于纹理是由离散的纹理单元构成,所以必须执行过滤操作,把纹理单元映射到片断上。如果纹理单元的边界位于片断的边界上,OpenGL就会对所有相关的纹理单元求加权平均值。 每个纹理对
OpenGL 全景视频贴图
基于OpenGL 绘图, 绘制球体,然后在球体上边进行贴图. 可用于全景视频的处理.
使用Qt+OpenGL创建球体+简单交互
效果图: 这里面还是用到了glut的函数,需要配置opengl环境的话,要把 glut32.lib放到Ot的lib下,在include下新建Gl文件夹放入glut.h。 需要把简历的OpenGLwidget提升为QLWidget. 也没什么说的,具体看代码吧。 glwidget.h: #ifndef GLWIDGET_H #define GLWIDGET_H #inc
OpenGL 4.0 GLSL 用立方体贴图和 环境贴图 模拟反射效果
我们可以用纹理代表物体周围的环境,然后把纹理贴到物体上,实现映射周围的场景目的,这项技术也被乘坐环境贴图(EnvironmentMapping)。环境贴图通常来模拟反射或者折射效果。 最常见的环境贴图(Environment Mapping)是立方体cube map。 立方体贴图(cube map texture)通常由六个分开的图像组成,在设置环绕方式时采用GL_CLAMP_TO_EDGE,
OpenGL 纹理映射(贴图) 学习
GLuint m_glTexture;//整型glGenTextures(1, &m_glTexture);//生成一个纹理,存储在m_glTextureglBindTexture(GL_TEXTURE_2D/GL_TEXTURE_CUBE_MAP, m_glTexture);//绑定纹理,告诉OpenGL下面代码中对2D纹理的任何设置都是针对m_glTextureglTexImag...
shader实例(二十二)TexGen-球面贴图SphereMap
http://blog.sina.com.cn/s/blog_89d90b7c0102vfqz.html 球面贴图一般用于环境反射,如下图(左边为球面贴图,右边为正常贴图),一个镜面水晶球在这只猫的前方,而这只猫也正看着这个水晶球,效果是这只大头猫的头变的更大了。 原理: 1.将顶点转换到摄像机空间 2.根据该顶点的摄像机【入射向量 I 】和【法线向量N】计
【OpenGL】纹理贴图实例-棋盘
简单的纹理贴图实例,来学习OpenGL的功能 //main.h #if !defined_MAIN_H_ #define _MAIN_H_ #include #define WIDTH 64 #define HEIGHT 64 GLubyte Image[WIDTH][HEIGHT][4]; static GLuint texName; GLint WinWidth; GLint Win
opengl画个球
本文介绍两种方法用opengl绘制一个球体,一种是计算球面点的位置,然后画出来,另一种是glut工具箱自带的函数。
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 关于大数据培训 java学习opengl