OpenGL学习笔记以及其它学习思考

最近是很多天都没有写博客了,这是一个很不好的习惯。每天学习的内容如果不进行总结的话,基本上是全都忘掉了。所以还是得坚持写博客。

  • C#编程基础回顾

三个关键字:

  1. new:(1):创建对象。  在堆中开辟一块空间(对象属于引用类型 所以是在堆中开辟空间)、在开辟的空间中创建对象、调用类的无参的构造函数

       (2):完全隐藏父类的同名函数   意思就是在继承中  子类和父类的方法同名的时候  需要完全隐藏父类的方法时候使用  

  2. this:(1):指代当前类的对象  特别是用在构造函数中  this.Name=name; 这里的this就是这个意思

      (2):继承自己的构造函数   (一般继承最全的那个构造函数)

  3.base: (1):继承父类的构造函数  用于继承的时候

界面设计方面: (1):菜单栏有    数据资源、卫星资源、服务资源、插件资源、专题空间、全球目标、资源搜索

       (2):打开、影像模式、地图模式、海图模式、三维地形、地名管理、基础数据设置、自动隐藏、全屏,帮助、登录、退出

       (3):工具组包含:面积量测工具、文字情报引接与组织关联、手动校正、影像数据管理于应用、距离测量工具、空间可视域分析、全球基础影像下载

       (4):标题栏WPF、全球目标、显示疆界线、登陆、气象水文数据显示、新天空盒。

不清楚的地方:   全屏显示功能(也就是隐藏了工具条,将最上面的logo栏去掉)、工具组是哪一个空间来实现的?、如果实现鼠标不在控件上面就将控件的透明度降低。

 

OpenGL: 先来了解一下函数。学习了这么久的OpenGL,感觉就是在知道OpenGL的渲染流程以及各种小细节、然后就是学习各种函数

1:从缓存对象中回读数据:glGetBUfferSubData

2:直接访问缓存中数据:glMapBuffer(GLenum target,GLenum access)

3:执行解除映射操作:glUmMapBuffer()

4:更精确的设置访问模式:glMapBufferRange(GLenum target,GLintptr offset, GLsizeiptr length,GLbitfiled access);

5:抛弃缓存对象中的部分或者数据:glinvalidateBufferData()  glinvalidateBufferSubData()

6:顶点规范:glVertxAttribPointer(GLuint index,GLint size,GLenum type, GLboolean normalized, GLsizei stide, const GLvoid*pointer);初始化的属性指针索引传入这个函数。

7:整型顶点属性:glVertexAttribIPointer() 它不会执行自动转换到浮点数的操作

8:双精度顶点属性:glVertexAttribLPointer() 它的type必须为DOUBLE

9:顶点属性的压缩格式:????????

10:静态顶点属性的规范(难理解) 每个属性的顶点属性可以通过glVertexAttrib*()系列参数进行设置

11:OpenGL的绘制命令 :包括两部分

  • 1:索引形式 其绑定的数据类型  GL_ELEMENT_ARRAY_BUFFER  最基本的索引形式的绘制命令  glDrawElements(GLenum mode ,GLsizei count, GLenum type,Const GLvoid* indices)   使用count个元素来定义一系列几何图元,而元素的索引值保存在一个绑定大到 GL_ELEMENT_ARRAY_BUFFER的缓存中。indices定义了元素数组缓存中的偏移地址。此函数会从当前启用的顶点属性数组中读取顶点的信息,然后使用它们来构建mode指定的图元类型。  使用了元素数组缓存中的索引数据来索引各个顶点属性数组
  • 2:非索引形式:  基本的绘制命令:glDrawArrays()  直接将缓存对象中的顶点属性按照自身的排列顺序,直接取出并使用。

 

posted @ 2017-10-10 07:48  Audient  阅读(291)  评论(0编辑  收藏  举报