可视化
hankern
Code World,Cool Life
展开
-
osgEarth的Rex引擎原理分析(五十六)记录20191024
今天是20191024,好久没有更新文章,等忙完此段再来深究!原创 2019-10-24 21:06:42 · 222 阅读 · 0 评论 -
openGL之API学习(一零七)glGetActiveAttrib
从顶点属性(位置、纹理、颜色、法线)序号获取着色器中顶点属性的名称、类型等信息。顶点属性序号可通过glGetProgram GL_ACTIVE_ATTRIBUTES来获取。如果在链接操作期间确定属性变量可以在程序执行期间被访问,则该属性变量被认为是活动的,如gl_Vertex、gl_Normal等。void glGetActiveAttrib( GLuint program, ...原创 2019-07-08 22:31:55 · 604 阅读 · 0 评论 -
openGL之API学习(一零八)glGetAttribLocation
获取顶点属性变量(位置、纹理、颜色、法线)在着色器程序中的位置索引GLint glGetAttribLocation( GLuint program, const GLchar *name);program Specifies the program object to be queried.指定着色器程序标识符name Points to a...原创 2019-07-08 22:41:16 · 2112 阅读 · 0 评论 -
openGL之API学习(九十五)glProgramBinary
将着色器程序的二进制数据加载进着色器程序。二进制数据由glGetProgramBinary生成。使用二进制数据可以避免编译开销,并且不用呈现shader的源代码。OpenGL并不指定任何二进制格式,二进制格式完全由各个实现的供应商决定,这意味着使用glProgramBinary的程序的可移植性不强,即使同一供应商的不同版本之间,二进制格式也可能改变。所以,为了确保程序兼容,在调用glProgram...原创 2019-06-28 23:34:26 · 2053 阅读 · 0 评论 -
openGL之API学习(九十六)glGetProgramBinary
生成着色器程序已经编译、链接过的二进制数据。void glGetProgramBinary( GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);program Specifies the name of ...原创 2019-06-29 06:22:54 · 914 阅读 · 0 评论 -
openGL之API学习(一一零)glProgramUniform
设置着色器程序中的一致变量的值。具体包含一系列函数:void glProgramUniform1f( GLuint program, GLint location, GLfloat v0);void glProgramUniform2f( GLuint program, GLint location, GLfloat v0,...原创 2019-07-14 16:04:33 · 1033 阅读 · 0 评论 -
openGL之API学习(一零零)glProgramParameter
给着色器程序传递参数void glProgramParameteri( GLuint program, GLenum pname, GLint value);program Specifies the name of a program object whose parameter to modify.指定着色器程序标识符pname...原创 2019-07-04 22:31:18 · 461 阅读 · 0 评论 -
openGL之API学习(一一一)glUniform
设置当前着色器程序中的一致变量的值。具体包含一系列函数:void glUniform1f( GLint location, GLfloat v0);void glUniform2f( GLint location, GLfloat v0, GLfloat v1);void glUniform3f( GLint locati...原创 2019-07-14 16:09:52 · 825 阅读 · 0 评论 -
openGL之API学习(一零一)glGetAttachedShaders
获取着色器程序(program)中所有的着色器对象(shader)void glGetAttachedShaders( GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);program Specifies the program object to be...原创 2019-07-05 07:28:58 · 339 阅读 · 0 评论 -
openGL之API学习(一零九)FFP
固定功能流水线Fixed-Function Pipeline (FFP)原创 2019-07-11 06:20:21 · 195 阅读 · 0 评论 -
openGL之API学习(九十七)glGetProgramiv
获取着色器程序的属性值void glGetProgramiv( GLuint program, GLenum pname, GLint *params);program Specifies the program object to be queried.指定着色器程序对象pname Specifies the object par...原创 2019-06-30 23:30:11 · 1017 阅读 · 0 评论 -
openGL之API学习(九十八)glGetProgramInfoLog
返回着色器程序的日志信息。void glGetProgramInfoLog( GLuint program, GLsizei maxLength, GLsizei *length, GLchar *infoLog);program Specifies the program object whose information log is...原创 2019-06-30 23:49:01 · 884 阅读 · 0 评论 -
openGL之API学习(九十九)glValidateProgram
检查着色器可执行程序能够在当前OpenGL状态下执行,检查是否通过的结果需要glGetProgram来获得。检查出错信息会存放在日志信息中,该信息需要通过glGetProgramINfoLog来获得,这些信息会提示程序为什么不高效、不优化、不能执行等。void glValidateProgram( GLuint program);program Specifies the...原创 2019-07-01 06:51:44 · 517 阅读 · 0 评论 -
openGL之API学习(一零二)glBindAttribLocation
将顶点属性(位置、纹理、颜色、法线)索引与着色器中的变量名进行绑定void glBindAttribLocation( GLuint program, GLuint index, const GLchar *name);program Specifies the handle of the program object in which the a...原创 2019-07-07 08:02:02 · 1145 阅读 · 0 评论 -
openGL之API学习(一一三)glut freeglut glew glfw的关系
glutgult:OpenGL工具库 OpenGL Utility Toolkit。 glut是基本的窗口界面,是独立于gl和glu的,如果不喜欢用glut可使用MFC和Win32窗口等代替。但是glut是跨平台的,这就保证了我们编出的程序具有跨平台性,而使用MFC或Win32只能在windows操作系统上使用。主要包括窗口操作函数,窗口初始化、窗口大小、窗口位置等函数;回调函数:响应刷新消息...原创 2019-08-03 18:23:24 · 870 阅读 · 0 评论 -
openGL之API学习(一一二)纹理坐标和物体坐标
纹理坐标用strq表示,物体坐标用xyzw表示原创 2019-07-27 07:06:43 · 576 阅读 · 0 评论 -
openGL之API学习(一零六)wglGetProcAddress
获取当前显卡中OpenGL函数的指针地址PROC wglGetProcAddress( LPCSTR Arg1);Arg1Points to a null-terminated string that is the name of the extension function. The name of the extension function must be identic...原创 2019-07-07 23:34:16 · 1226 阅读 · 0 评论 -
openGL之API学习(一零五)glGetUniformLocation
获取一致变量在着色器程序中的位置序号,通过该序号可以设置一致变量的值,如果没有该变量则返回-1GLint glGetUniformLocation( GLuint program, const GLchar *name);program Specifies the program object to be queried.指定着色器程序的标识符name...原创 2019-07-07 23:04:14 · 2504 阅读 · 0 评论 -
openGL之API学习(七十九)HDR高动态范围图像
高动态范围图像(High-Dynamic Range,简称HDR),相比普通的图像,可以提供更多的动态范围和图像细节,根据不同的曝光时间的LDR(Low-Dynamic Range,低动态范围图像),并利用每个曝光时间相对应最佳细节的LDR图像来合成最终HDR图像。它能够更好的反映出真实环境中的视觉效果。(上方为压缩后的HDR图像,下方为直接用相机拍摄的图像)...原创 2019-05-30 22:57:37 · 537 阅读 · 0 评论 -
openGL之API学习(八十一)glsl的双精度double-precision
10年以前的旧显卡基本上是没有双精度的。新显卡使用双精度需要开启GL_ARB_vertex_attrib_64bit 和 GL_ARB_gpu_shader_fp64扩展,并且显卡架构要在SM5以上。就算有些显卡支持双精度类型,但是一些函数还是使用的float,比如exp, exp2, log, log2等。GLSL4.0以后才能访问double-precision类型...原创 2019-06-02 06:38:33 · 2270 阅读 · 0 评论 -
openGL之API学习(七十八)SPIR-V
Standard, Portable Intermediate Representation - V (SPIR-V)OpenGL 4.6的最大变化就是 支持SPIR-V,一种用于GPU通用计算和图形学的中间语言,Khronos开发设计,最初是为OpenCL规范准备的,和下一代图形标准Vulkan差不多同时提出,也在不断发展完善。SPIR-V是一种简单的二元中间语言,用于图形着色和计...原创 2019-05-30 07:29:11 · 3700 阅读 · 0 评论 -
openGL之API学习(八十五)有关opengl扩展extension
opengl扩展是opengl核心所不具备的新的或扩展的功能。一般opengl扩展会有多个硬件厂商支持,只有部分会有特殊的硬件开发厂商支持。哪些扩展有哪些厂商支持,可以查看下面的网站:https://www.khronos.org/opengl/wiki/OpenGL_Extensionhttps://www.khronos.org/registry/OpenGL/index_gl.p...原创 2019-06-15 17:40:36 · 935 阅读 · 0 评论 -
openGL之API学习(八十六)OpenGL、OpenGL ES、OpenGL SC、GLSL、 GLSL ES、GLX
在不同平台和设备运行的图形规范OpenGL桌面级GLSL是OpenGL着色语言,运行于桌面级的GPUOpenGL ES嵌入式、手持设备GLSL ES运行于嵌入式、手持设备的GPUOpenGL SC高可靠度显示系统GLX(OpenGL extension for X)它作为x的扩展,是x协议和X server的一部分,已经包含在X server的代码中了。GLX提供了x wi...原创 2019-06-15 18:11:04 · 834 阅读 · 0 评论 -
openGL之API学习(八十七)有关OpenGL SC
OpenGL SC 1.0 定义了OpenGL ES™ 1.0固定功能图形管线的高安全度子集。OpenGL SC 1.0 在2005年运行,之后在2009年更新到OpenGL SC 1.0.1。OpenGL SC 2.0 是OpenGL ES 2.0的子集,把控基于GLSL的可编程渲染器,以实现更强的图形功能,包括提高性能和降低能耗。OpenGL SC 2.0 去除了OpenGL ES 2.0的全...原创 2019-06-15 18:15:13 · 969 阅读 · 0 评论 -
openGL之API学习(八十八)有关Khronos Group
Khronos Group是一个行业组织,创建开放标准以实现并行计算、图形、视觉、传感处理和动态媒体在各种平台和设备上的编写和加速。Khronos标准包括 Vulkan™, OpenGL®, OpenGL® ES, WebGL™, OpenCL™, SPIR™, SYCL™, WebCL™, OpenVX™, EGL™, OpenMAX™, OpenVG™, OpenSL ES™, StreamI...原创 2019-06-15 18:17:37 · 1167 阅读 · 0 评论 -
openGL之API学习(八十九)WebGL与opengl es
WebGL是一种3D绘图标准,这种绘图技术标准允许把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的一个JavaScript绑定,WebGL可以为HTML5 Canvas提供硬件3D加速渲染,这样Web开发人员就可以借助系统显卡来在浏览器里更流畅地展示3D场景和模型了,还能创建复杂的导航和数据视觉化。显然,WebGL技术标准免去了开发网页专用渲染插件...原创 2019-06-15 18:24:49 · 891 阅读 · 0 评论 -
openGL之API学习(九十)GL_ARB_gpu_shader5
针对OpenGL 3.2 和 GLSL 1.50 提供的扩展。具体可看:https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_gpu_shader5.txt原创 2019-06-15 20:39:25 · 910 阅读 · 0 评论 -
openGL之API学习(九十一)gl_ModelViewProjectionMatrix过期deprecated
global variable gl_ModelViewProjectionMatrix is deprecated after version 120gl_ModelViewProjectionMatrix是一个内置GLSL常量,可以获取当前的视图投影变换矩阵。可是,自从opengl3.3后该常量标注为过期deprecated。取而代之的是采用uniform的形式向着色器传递矩阵,这样使...原创 2019-06-16 06:58:52 · 2545 阅读 · 2 评论 -
openGL之API学习(九十二)GLM
OpenGL Mathematics (GLM) 是一个基于GLSL的C++数学函数库。小例子:#include <glm/glm.hpp>int foo(){ glm::vec4 Position = glm::vec4( glm::vec3( 0.0 ), 1.0 ); glm::mat4 Model = glm::mat4( 1.0 ); ...原创 2019-06-16 07:02:53 · 1027 阅读 · 0 评论 -
openGL之API学习(九十三)OpenGL中EXT,ARB扩展
由于OpenGL的标准更新不是很频繁,因此,当某种技术应用流行起来时,显卡厂商为了支持该技术,会使用自己的扩展来实现该功能。但是不同厂商如果有不同的实现,那么程序编写将会异常繁琐。因此多个厂商共同协商使用一致的扩展,这就是EXT扩展。 如果这个扩展不仅多厂商协商,而且得到OpenGL体系结构审核委员会(即ARB)的确认,那么该扩展便成为ARB扩展。最后如果标准制定者认为该功能有必要添加到新版本的标...原创 2019-06-17 21:58:44 · 752 阅读 · 0 评论 -
openGL之API学习(九十四)几何着色器的几个参数设置含义
//设定输入几何图元的类型,比如GL_TRIANGLESglProgramParameteriEXT( program, GL_GEOMETRY_INPUT_TYPE_EXT, inputGeometryType);//设定输出几何图元的类型,比如GL_TRIANGLE_STRIPglProgramParameteriEXT( program, GL_GEOMETRY_OUTPUT_...原创 2019-06-17 22:48:51 · 350 阅读 · 0 评论 -
openGL之API学习(一零三)glGetActiveUniform
获取活跃一致变量的信息。变量可以在程序执行期间被访问,则该变量被认为是活动的void glGetActiveUniform( GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLch...原创 2019-07-07 18:11:56 · 572 阅读 · 0 评论 -
openGL之API学习(一零四)原子计数 Atomic Counters atomic_uint
原子计数器(Atomic counters)是OpenGL4.2的新功能,能够用于渲染管线的各个阶段,完整的文档规范说明在GL_ARB_shader_atomic_counters。原子计数器是一块缓冲区(缓冲区对象,存放了一个或多个整型),通过GLSL内置函数atomicCounterIncrement()增加计数,通过atomicCounterDecrement()减少计数。一个简单但...原创 2019-07-07 22:57:19 · 1205 阅读 · 0 评论 -
高效真实的云渲染算法
高效真实的云渲染算法 【转】原文链接 : http://www.cnblogs.com/effulgent/archive/2008/10/06/1305029.html原文:Realistic and Fast Cloud RenderingNinianeWangMicrosoftCorporation(nowatGoogleInc.)niniane@ofb.netNovemb...转载 2018-11-14 06:30:57 · 986 阅读 · 0 评论