SharpGL

 

SharpGL知识:http://download.csdn.net/detail/chs007chs/7299689

 

可以从如下地址中下载到SharpGL,可用于vs2012.,具体网址:https://github.com/dwmkerr/sharpgl/releases

也可以从csdn中下载到vs2012及vs2010的扩展包

 

在创建一个SharpGL winform程序后,出现了一问题:Extension function glGenFramebuffersEXT not supported.
解决方法参考

主要是显卡的驱动不支持函数glGenFramebufferEXT,可以修改OpenGL control的属性'RenderContextProvider",将其从FBO(使用glGenFramebuffersEXT进行硬件加速)改变为‘DIBSection’(这个可以适应任何显卡)。

 

命名规则:

SharpGL的常量和OpenGL常量名称是一样的,并且是OpenGL类的常量成员。如

[csharp] view plaincopy

  1. // Two OpenGL constants  
  2. GL_TRIANGLES  
  3. GLU_TESS_COMBINE  

会被写为

[csharp] view plaincopy

  1. OpenGL.GL_TRIANGLES  
  2. OpenGL.GLU_TESS_COMBINE  

函数的名称和OpenGL中是一样的,只是‘“gl”前缀去除了,例如:

[csharp] view plaincopy

  1. // Set the line width and point size  
  2. glLineWidth(3.0f);  
  3. glPointSize(2.0f);  

可能会写作:

[csharp] view plaincopy

  1. // Get a reference to the OpenGL object  
  2. openGL gl  = openGLCtrl1.OpenGL;  
  3. gl.LineWidth(3.0f);  
  4. gl.PointSize(2.0f);  


另外,函数的参数类型后缀会去除,例如:

[csharp] view plaincopy

  1. // Output some vertices  
  2. glVertex3f(2.0f,3.0f,4.0f);  
  3. glVertex4f(2.0f,1.0f,10.0f,1.0f);  


会被写作

[csharp] view plaincopy

  1. gl.Vertex3(2.0f,3.0f,4.0f);  
  2. gl.Vertex4(2.0f,1.0f,10.0f,1.0f);  

 

OpenGL的基础知识

 推荐Nehe教程,非常适合入门,也可以从CSDNhttp://download.csdn.net/detail/chs007chs/7299689下载到教程,或者Nehe的网址。

这里推荐几个网址:

http://www.opengl.org

http://nehe.gamedev.net/

 

void glMatrixMode(GLenum  mode);

指定对哪个矩阵栈进行后续的矩阵操作,GL_MODEVIEW是对模型观矩阵,它也是初始值;GL_PROJECTION是对投影矩阵。

如果有一个三维点V,矩阵N、M、L,要进行N*M*L*V的矩阵操作(矩阵相乘满足结合律),那么它们在代码中出现的顺序也是自上而下的:

[csharp] view plaincopy

  1. glMatrixMode(GL_MODEVIEW);  
  2. glLoadIdenity();  
  3. glMultMatrixf(N);  
  4. glMultMatrixf(M);  
  5. glMultMatrixf(L);  
  6. glBegin(GL_POINTS);  
  7. glVertex3f(v);  
  8. glEnd();  


窗口变化事件唤醒的函数其实有程序启动时也会被执行一次,所以这个函数至少会被执行一次。

环境光、散射光、镜面光

  • 环境光(ambient light)是那些在环境中进行了充分的散射,无法分辨其方向的光,它似乎是来自所有的方向
  • 散射光(diffuse light)来自某个方向,当它撞击表面时,它会均匀地向所有方向发射。
  • 镜面光(specular light)来自一个特定的方向,并且倾向于从表面向某个特定的方向反射

 

最后欢迎大家访问我的个人网站: 1024s

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值