OpenGL Function Note

本文解析了OpenGL编程中常见的几个问题,包括使用glTexImage2D时颜色系统的不匹配导致的访问违规,glUseProgram函数的正确使用方式,以及在未创建元素数组缓冲区的情况下使用glDrawElements的问题。

glTexImage2D:

  Access Violate when invoke glTexImage2D. This problem may happen when specify a color system which is not correspond to the exact color system.Eg. The texture uploaded is store in RGB color system,but when invoke glTexImage2D, I specify that the texture is in RGBA color system.Then, access violate will happen.

 

glUseProgram:

  This function work like glBind...(eg.glBindVertexArray) .After you call glUseProgram( 0 ), if you call glUniform... to upload some variable to shaders, glUniform don't work, even if you have invoke glGetUniformLocation and specify what variable to be bound to what shaders.So when you want to upload uniform data to shader(matrix, light, texture and so on), make sure that you call glUseProgram( the shader you want to upload data ).

   Access Violate when invoke glUseProgram or other gl... functions. This may happen when invoke some gl... functions before init GLEW( invoke function glewInit) because some gl... functions are rely on GLEW as far as I know.So the solution is obviously init the GLEW first.

   Notice that access violate at location 00000000 often happens when forgetting to init GLEW library first.

 

glDrawElement:

  If using glDrawElement without creating a element array buffer( index buffer in DirectX ) before,we should pass the index array to this function as his fourth parameter. But if using glDrawElement with a element array buffer created, wh should pass (GLvoid* )0(the start position of the index array in the element array buffer) to this function as his fourth parameter. If we don't specify the correct parameter, we will either fail to compile successfully or compile successfully but draw nothing.

 

To Be Continued!

 

If reprint articles, please indicate the source. 

转载于:https://www.cnblogs.com/swdever/p/3358307.html

在车辆工程中,悬架系统的性能评估和优化一直是研究的热点。悬架不仅关乎车辆的乘坐舒适性,还直接影响到车辆的操控性和稳定性。为了深入理解悬架的动态行为,研究人员经常使用“二自由度悬架模型”来简化分析,并运用“传递函数”这一数学工具来描述悬架系统的动态特性。 二自由度悬架模型将复杂的车辆系统简化为两个独立的部分:车轮和车身。这种简化模型能够较准确地模拟出车辆在垂直方向上的运动行为,同时忽略了侧向和纵向的动态影响,这使得工程师能够更加专注于分析与优化与垂直动态相关的性能指标。 传递函数作为控制系统理论中的一种工具,能够描述系统输入和输出之间的关系。在悬架系统中,传递函数特别重要,因为它能够反映出路面不平度如何被悬架系统转化为车内乘员感受到的振动。通过传递函数,我们可以得到一个频率域上的表达式,从中分析出悬架系统的关键动态特性,如系统的振幅衰减特性和共振频率等。 在实际应用中,工程师通过使用MATLAB这类数学软件,建立双质量悬架的数学模型。模型中的参数包括车轮质量、车身质量、弹簧刚度以及阻尼系数等。通过编程求解,工程师可以得到悬架系统的传递函数,并据此绘制出传递函数曲线。这为评估悬架性能提供了一个直观的工具,使工程师能够了解悬架在不同频率激励下的响应情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值