学习OpenGL 用学习word学哪个版本好好

温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
但是,由于GLUT目前停留在2000年前的3.7版,据传开发者Mark不再更新?加上版权问题,别人不能随便改动。现在很多开源的替代GLUT的工具出现,比较简洁热门的有freeglut, glfw等,本人决定赶时髦,使用glfw。加一句:OpenGL是跨平台的图形库,但是不负责生成窗口,鼠标键盘控制等操作,但是这些却非常重要,因此需要额外的第三方来承担这些工作,即:Utilize Toolkit,所以学习OpenGL还得额外调用一些其他库(GLUT,glfw,freeglut)里的函数。安装使用GLFW:1. 官网下载最新版本的,头顶上那个就是最新的(即:This is the recommended version for all platforms.),点击下载。2. 进入下载文件夹:点击readme.html,打开安装页面,照着做。如果是Mac用户,跟我的一样,可以照着下面做即可。3. Mac平台编译:& &首先你得有Xcode,以及命令行工具,搞开发的这个应该都有。如果没有,参考:.&& &在命令行中切换到刚下载好的GLFW的文件夹下:&& cd lib/cocoa & 切换到mac平台的专用目录&& make -f Makefile.cocoa 开始编译生成libglfw.a静态库,libglfw.dylib动态库,libglfw.pc.in的下面将glfw.h复制过来&& cp ../../include/GL/glfw.h .然后用glfw手册里的小程序测试一下,vi test.c,输入下面程序&&cc -o test test.c ./libglfw.a -framework Cocoa -framework OpenGL -framework IOKit然后./test可以出现一个黑色背景的窗口,则表面一切都成功了。接下来只要将libglfw.a, glfw.h放在程序同一个目录下,修改test.c就可以学习编写OpenGl的程序,试运行一段时间,觉得glfw还比较适应,那么就可以安装到usr/local目录下,即将libglfw.a复制到/usr/local/lib下,将glfw.h复制到/usr/local/include/GL/目录下,以后只需要&&cc -o test test.c -lglfw -framework Cocoa -framework OpenGL -framework IOKit即可,或者直接&&make -f Makefile.cocoa installglfw的手册,使用指南参见:命令行用熟练了,而且编写了较多的opengl程序后再使用xcode加入库。#include "glfw.h"#include &stdlib.h&
int main( void ){
int running = GL_TRUE;
if( !glfwInit() ){
&exit( EXIT_FAILURE );}// Open an OpenGL windowif( !glfwOpenWindow( 300,300, 0,0,0,0,0,0, GLFW_WINDOW ) )&{glfwTerminate();exit( EXIT_FAILURE );}// Main loopwhile( running ) {&& & // OpenGL rendering goes here...&& & glClear( GL_COLOR_BUFFER_BIT );& & // Swap front and back rendering buffers&& & glfwSwapBuffers();&& & // Check if ESC key was pressed or window was closed&& & running = !glfwGetKey( GLFW_KEY_ESC ) &&&& & glfwGetWindowParam( GLFW_OPENED ); }&& & // Close window and terminate GLFW&& & glfwTerminate();&& & // Exit program&& & exit( EXIT_SUCCESS );}
阅读(4896)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_',
blogTitle:'Mac平台学习OpenGL[1]',
blogAbstract:'*注意:转载记得声明Goldman啊……首先,Mac Mountain Lion 10.8平台下OpenGL编译环境的搭建,Mac本身自带OpenGL,以及GLUT,编译非常方便,具体参看:
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}怎样开始学习OpenGL_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
怎样开始学习OpenGL
&&怎样开始学习OpenGL
你可能喜欢OpenGL超级宝典第七版学习笔记-uniform(3)
&uniform(3)
1、 uniform块的共享布局(默认布局):效率更好,但是额外工作较多。
2、 每个主程序、每个渲染管线阶段所能用的uniform 块的数量是有限制的,可以使用glGetIntegerv()来查询,至于所查询的目标需要给该函数传递如下参数中的一个:
GL_MAX_UNIFORM_BUFFERS //每个程序允许的最大数量
GL_MAX_VERTEX_UNIFORM_BUFFERS, //定点处理中允许的最大数量
GL_MAX_GEOMETRY_UNIFORM_BUFFERS,几何处理阶段允许的最大数量
GL_MAX_TESS_CONTROL_UNIFORM_BUFFERS,//曲面细分控制器允许的最大数量
GL_MAX_TESS_EVALUATION_UNIFORM_BUFFERS, //曲面细分评估器允许的最大数量
GL_MAX_FRAGMENT_UNIFORM_BUFFERS//片元处理阶段允许的最大数量
3、 把uniform block与buffer绑定在一起实际上分为两步:第一步是把uniform block分配给binding point(绑定点),第二步是把buffer绑定到绑定点上去。这样,对于同一个unifrom,可以直接切换绑定不同的主程序,而不需更改缓存对象。对于保存在默认uniform块中的普通uniform变量,即使分布在不同主程序中的几个变量的名字是一样的,在切换主程序时也需要一一为他们重新设定值。
4、 为uniform block绑定绑定点的方法:
glUniformBlockBinding(GLuintprogram,GLuintuniformBlockIndex,GLuintuniformBlockBinding);参数1是uniform 块所在的主程序,参数2是uniform块的索引,该索引可以通过GLuintglGetUniformBlockNames(GLuint program, const char* uniformBlockName)来获取;参数3是uniform块要绑定的绑定点。
5、 可以直接在shader中为uniform block指定绑定点,比如:
layout(std140,binding=2) uniform TransformBlock
这种方法可以避免使用glUniformBlockBinding()。
6、 在为uniform块绑定了绑定点后,就可以继续把buffer绑定到绑定点上:
glBindBufferBase(GL_UNIFORM_BUFFER,index,buffer);参数一说明要把buffer绑定到uniform的绑定点上去,参数2是绑定点的索引,而不是uniform的索引,这点要注意,参数3即是要绑定的buffer。
7、 在shader中指定绑定点的好处有3条:一是减少了OpenGL的调用,二是在主程序不知道uniform块的名字时可以让一个shader与一个uniform块关联在一起。这样的话,当你在某个缓冲区中按照标准布局保存了一些数据时,而你又想再不同的shader中使用不同的名字来引用它时会很方便。Posts - 179,
Articles - 0,
Comments - 44
爱你就和你吃一辈子的饭
15:55 by bingcaihuang, ... 阅读,
好的资源太多,自己懂的太少,而今迈步从头越!!fighting......
一些OpenGL资源链接
这是前几天自己简单整理的几个链接,希望对大家有用顺便问一下&这个网站的教程有一部分是收费的,大家如果知道那里可以看到免费的告我一声,谢谢!如果大家有关于step-by-step用OpenGL教你制作游戏引擎的也告我一下,再次感谢!&
1. OpenGL、DX教程链接
&有关于C++、Java、OpenGL、DX、Ray Tracing的教程,其中OpenGL中有关于Cg、HLSL的教程,C++中有关于OpenAL的教程,目前该网站正推出一个UGP Engine的教程,非常值得期待。该网站还提供了NVIDA、SGI、ATI的开发者、游戏引擎和相关技术文档的链接
&有关于DX9.0、DX8.1、OpenGL的相关教程,还有关于Torque Game Engine的教程,从该网站的相关链接出处可以找到很多非常好的链接。
&有关于C、C++、Win32、OpenGL和DX的教程,不过很多代码的下载现在不是免费了。该网站还提供了一个2D RPG Game Demo的游戏制作教程。
&NeHe的OpenGL教程,非常有名,提供了OpenGL的48个实例,据我所知,这个中文的翻译版一直不完整。该教程的最大特点是提供了针对常见各操作系统平台、各种不同编译器的相应下载版本。
&OpenGL只是该网站内容的一块。有针对View Frustum、GLSL、Math、Billboarding、Picking、Terrain、Display Lists、GLUT各专题的教程。其中关于GLUT、Terrain部分讲解都非常详细。
&OpenGL官方网址上列出的一些教程链接,可以找到一些针对Shadow、Bump Mapping等的专题教程。
&&一个法国网站,有一些不错的教程
2.Step-by-step教你制作游戏引擎
&通过代码和文章讲述了一个基于OpenGL的简单3D引擎制作,开发环境Visual C,开发语言C。
,.asp 详细讲解了一个引擎的制作过程,不过好像没什么代码。
&有关于游戏引擎、脚本引擎的step-by-step的制作教程,还有很多技术性很强的文章。
3.知名的游戏引擎
&Torque Engine 收费的。
&True Vision 3D引擎,收费的。
&ORGE一个3D渲染引擎。提供源代码及很多相关工具下载
&有关于各种引擎的介绍,比如十大开源引擎、十大商业引擎。
4.开发者网址
&&SGI开发者
& &ATI开发者
&有很多不错的技术性文章【调查】你们学opengl是做什么的?_opengl吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:5,456贴子:
【调查】你们学opengl是做什么的?收藏
专业学生还是纯属兴趣,还是其他?
贴吧拳王争霸赛中累计获取100场胜利,
为了啪啪啪
我是纯属兴趣吧,而且数学水平也不够,就是玩玩
玩玩 顺便用它学学数学
登录百度帐号}

我要回帖

更多关于 学习word学哪个版本好 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信