关于C#中使用OpenGL绘图的问题

问题描述

我需要在picturebox上用Opengl画一张图,设置像素格式的时候需要Wgl.wglChoosePixelFormatARB这个函数,代码如下:IntPtrhwnd=picturebox1.Handle;IntPtrdc=GetDC(hwnd);int[]attribs=newint[]{Wgl.WGL_SUPPORT_OPENGL_ARB,1,Wgl.WGL_DRAW_TO_WINDOW_ARB,1,Wgl.WGL_PIXEL_TYPE_ARB,Wgl.WGL_TYPE_RGBA_ARB,Wgl.WGL_RED_BITS_ARB,10,Wgl.WGL_GREEN_BITS_ARB,10,Wgl.WGL_BLUE_BITS_ARB,10,Wgl.WGL_DEPTH_BITS_ARB,24,Wgl.WGL_DOUBLE_BUFFER_ARB,1,0,};float[]fattribs=newfloat[]{0.0f,};intformat_max=256;int[]formats=newint[]{0,};int[]format_count=newint[]{0};Wgl.wglChoosePixelFormatARB(dc,attribs,fattribs,format_max,formats,format_count);

但是在运行时会停在Wgl.wglChoosePixelFormatARB(dc,attribs,fattribs,format_max,formats,format_count);这一行,出现“未将对象引用设置到对象的实例”的错误,请问这个问题出在哪里?另外,使用Wgl.wglChoosePixelFormatARB这个函数前是不是要进行什么设置?我看到C++的代码上有要初始化什么库的代码?那在C#里要如何实现呢?

解决方案

时间: 2024-11-27 05:04:02

关于C#中使用OpenGL绘图的问题的相关文章

在C++ Builder中使用OpenGL编程的优化框架

姑且不谈论OpenGL的名贵背景和光明前途,单凭其实用性和有效性就足以使其成为我们图形输出编程的首选.但是在实际工程应用中程序员没必要仔细地深究OpenGL的运作机制,也往往不需要掌握各种高级的效果制作,真正需要的是最简捷地利用这个得力的工具实现输出数据的可视化,如波形.谱图.立体统计图表等的显示.有鉴于此,本文总结出了在C++Builder中OpenGL编程的实用框架.笔者经过实践,对于一般的图形输出的应用,此框架足以应付.对于复杂些的程序可以在本框架的基础上进行扩充. 在Windows环境下

hadoop jni 如何实现opengl绘图

问题描述 hadoop jni 如何实现opengl绘图 我做一个尝试,hadoop+jni可以实现hadoop调用C++代码.将C++做好JNI接口函数,代码编译成动态链接库.so,hadoop代码调用.so中的接口函数函数..so实现的功能,是调用opengl库(一个用于绘图的库)的API,在窗口中绘制一个茶壶.但运行报错..so分发到节点机运行时,有没有什么注意事项,比如运行权限,.so能不能找到自己的依赖库等等.我附上了我的代码,很少的能帮我看一看,我哪里做错了吗?谢谢.c++中open

Android编程之OpenGL绘图技巧总结_Android

本文实例讲述了Android编程之OpenGL绘图技巧.分享给大家供大家参考,具体如下: 很久不用OpenGL ES绘图,怕自己忘记了,于是重新复习一遍,顺便原理性的东西总结如下: 1. Android 3D坐标系统 如图: Android的三维坐标系统中: 坐标原点位于中央, X轴从左向右延伸,原点左边的值为负数,右边为正数: Y轴从下向上延伸,原点下边的值为负数,上边为正数: Z轴屏幕里面向外面延伸,屏幕里面为负数,外面为正数. 2. 开发工具(OpenGL和OpenGL ES)介绍Open

Android编程之OpenGL绘图技巧总结

本文实例讲述了Android编程之OpenGL绘图技巧.分享给大家供大家参考,具体如下: 很久不用OpenGL ES绘图,怕自己忘记了,于是重新复习一遍,顺便原理性的东西总结如下: 1. Android 3D坐标系统 如图: Android的三维坐标系统中: 坐标原点位于中央, X轴从左向右延伸,原点左边的值为负数,右边为正数: Y轴从下向上延伸,原点下边的值为负数,上边为正数: Z轴屏幕里面向外面延伸,屏幕里面为负数,外面为正数. 2. 开发工具(OpenGL和OpenGL ES)介绍 Ope

opengl-学习计算机图形学OpenGL绘图

问题描述 学习计算机图形学OpenGL绘图 正在学习 计算机图形学OpenGL,遇到一个问题,弄不了,谁能帮忙绘制一个正平行六面体的正三测图 解决方案 请问你是想要获得正方体的3视图吗?如果是的话,或许我可以帮点忙! 解决方案二: 最讨厌伸手党, 你具体哪一步有问题说清楚啊

opengl 绘图系统-求解答。。OPengl绘图系统的问题!

问题描述 求解答..OPengl绘图系统的问题! 一个Opengl的绘图系统,怎样才能既可以绘制二维图形,又可以绘制三维图形,我觉得是Onsize里面出了问题,可是不知到怎么改,求高手解答,代码如下: void CMy123View::OnSize(UINT nType, int cx, int cy) { CView::OnSize(nType, cx, cy); //设定视口大小 if (m_shape == 1 || m_shape == 2 || m_shape == 3) { glLo

mfc-一个关于MFC中static叠加绘图的问题

问题描述 一个关于MFC中static叠加绘图的问题 在MFC系统语言中想根据输入浮点数据绘制多个波纹图,但是波纹图用static无法叠加,请问是怎么回事? 解决方案 用一个static就可以了,把所有的绘图代码都放在里面. 解决方案二: MFC绘图闪烁问题MFC中的绘图不显示问题

Visual C++2005中开发自定义绘图控件

本文源代码下载:CustomDraw.exe. 在您决定开发 Windows 提供的常规免费自定义控件范围之外的控件之后,您必需确定自己的控件将有多少独到之处 - 在功能和外观两方面.例如,我们假定您正在创建一个类似于计速表的控件.由于公共控件库 (ComCtrl32.dll) 中没有类似的控件,您完全需要自己进行以下操作:编写所有控件功能需要的代码,进行绘制,默认终端用户的交互,以及控件与其父窗口之间需要的任意消息处理. 另一方面,还包括一些您只想调整公共控件功能的情况.例如,我们假定您想创建

浮动窗体中的OpenGL多视图的实现

由于在工作中需要结合浮动窗体实现OpenGL的多视图,用于得到三维实体的三视图观察效果,通过参考其它资料,设计了一个程序框架,在此基础之上大家可以根据自己的需要进行扩充,实现需要的功能. 本程序中浮动窗体的实现从以下网站得到支持:www.datamekanix.com 程序实现效果图 关键技术实现介绍: 一.OpenGL多视图的实现 平常我们的程序大部分都是建立一OpenGL设备上下文,但在本程序中,由于要实现三维实体的多视图观察功能,因此,需要建立多OpenGL设备上下文,并在需要的时候进行切