- nicehost
-
* 回复内容中包含的链接未经审核,可能存在风险,暂不予完整展示!
无差别平衡点增值率”是增值税一般纳税人与小规模纳税人应缴税款数额相同时的特定增值率。
当在一个特定的增值率时,增值税一般纳税人与小规模纳税人应缴税款数额相同,我们把这个特定的增值率称为“无差别平衡点增值率”。
增值率低于这个点时,增值税一般纳税人的税负低于小规模纳税人;当增值率高于这个点时,增值税一般纳税人的税负高于小规模纳税人
应该从以下几方面入手:
1.了解税务机关的工作程序
税法强制性能特点,决定了税务机关在企业税收筹划有效性中具有关键作用。众所周知,无论哪一税种,都在纳税范围的界定上留有余地。只要是税法未明确的行为,税务机关有权根据自身的判断认定是否为应纳税行为。这也给企业进行税收筹划增加了实际难度。因此,在日常税收筹划中,税收筹划人员应保持与税务部门密切的联系与沟通,在某些模糊或新生事物的处理上得到其认可,再进行具体的筹划行为,这是至关重要的。其次,通过密切的联系与沟通,能够尽早获取国家对相关税收政策的调整或新政策出台的信息,及时调整税收筹划方案,降低损失或增加收益。第三,通过对其工作程序的了解,在整个税收筹划中能做到有的放矢,分清轻重缓急,避免或减少无谓的损失。
1
分享评论
踩
税收筹划誉达 经验丰富 效率高
根据文中提到的税收筹划为您推荐
誉达专业税收筹划大中型上市公司央企及民营企业的咨询经验。税收筹划专业一对一指导,定制服务
y****.com广告
税务筹划【无企业所得税_个税带征_全程代办】
怎么少交税?免费咨询。税务筹划,所得税核定征收,无分红税,税率低至0.22%-2.1%,享高额返税,节税80%以上,免费提供注册地址,无需到场
n*****.com广告
金融缩写wgl
wgl是WaveformGenerationLanguage的缩写。金融英文缩写Finance。金融(Finance、Finaunce)是市场主体利用金融工具将资金从资金盈余方流向资金稀缺方的经济活动。[1]金融是货币资金融通的总称。主要指与货币流通和银行信用相关的各种活动。主要内容包括:货币的发行、投放、流通和回笼;各种存款的吸收和提取;各项贷款的发放和收回;银行会计、出纳、转账、结算、保险、投资、信托、租赁、汇兑、贴现、抵押、证券买卖以及国际间的贸易和非贸易的结算、黄金白银买卖、输出、输入等。2023-08-13 07:04:381
钢结构代号WGL什么意思?代表什么?谢谢!!
一般命名规则是构件名称的拼音首字母的缩写,所以据此推断应该是屋面钢拉杆或者是屋面钢檩条。图纸中不仅要给出代号,还要给出代号对应的构件名称,这才是完整的图纸表达,自然也不会产生这些问题。2023-08-13 07:04:471
钢结构代号WGL什么意思?代表什么?谢谢!!
钢结构2023-08-13 07:04:584
WGL威势环球外汇是哪里监管的?正规吗?
2016年 WGL威势环球外汇声称取得了新西兰FSP监管:目前来看是双监管。据他们客服说,正在申请英国监管。应该是不错的平台2023-08-13 07:05:082
JZL、WGL是什么建筑构件代号
JZL=基础主梁WGL=屋面过梁(我个人理解)2023-08-13 07:05:161
WGL外汇:怎样通过在线交易商交易外汇
通过在线交易商交易外汇直截了当,通常不需要耗费时间。一旦您已注册账户、验证身份并存入资金,您将能进入外汇竞技场并开始交易。 杠杆 外汇市场大多数时候非常稳定,这意味着它们的日波动幅度很小。平均而言,一种货币每天仅波动1美分。这意味着您获得的利润会非常少,除非你能够利用杠杆。 杠杆的意思是,作为一名交易员,你怎样对市场有更大的控制并扩大其波动。如果您以1.3000的市场价格向欧元/美元投资100美元,为了使您的资金翻倍,您将需要该汇率升至2.6000。这种情况不会很快发生,因为欧元/美元要产生上述波幅可能需要几年,说不定几十年。 鉴于这个原因,在线交易商提供最高达大约1:400的杠杆。杠杆使用借入的资金来放大价格波动,这意味着您账户中的每一美元价值可提高最大400倍。这样,一个小得多的价格波动即可使您的资金翻倍。 报价屏幕 您登陆在线账户并输入个人资料后,就可以在屏幕上上载货币走势。有很多货币可选,所有的货币都是成对的;欧元美元、英镑美元、美元日元、澳元美元、欧元英镑等等。每个货币对都有买价和卖价,两者之间有点差,这样你可以买入,也可以卖出。买卖价差低至几个点,非流动市场可能有6、7、8点。点差是您进行交易的成本,交易商也是基于这个赚钱。美元 您会注意到多数货币对与美元有关,这是因为美元是全世界的储备货币。美元是驱动外汇市场的关键,因为它是世界各地的大多数人开展业务所依赖的货币。正因为如此,了解美元走势对外汇交易至关重要。一旦您已了解了美元走向,您可以开始确定哪个货币对带来最好的风险回报机会。您也可以开始看一下不涉及美元的稀有货币对。这些货币对点差较高,因为这个市场不是那么普遍或流动性不是那么好。不过,要记住这些货币仍受到美元高度影响。接下来就是点击买入或卖出您想交易的货币对。确定仓位,设好止损/获利水平,然后就是静待市场走势变化了。此时您需要对风险管理和推动市场波动的原因有一个深入的了解。2023-08-13 07:05:231
wgl125b干燥箱怎么设置时间
你好,我来回答一下这个问题。时间设置:1、在正常工作状态下,按两下SET键,进入定时设定状态,此时PV显示屏显示ST,SV显示屏显示0,并闪烁;2、按移位键将闪烁位移至所需设定位;3、 按减键或者加键将数字调至所需值;4、按一下SET键,仪表进入定时运行状态,此时运行指示灯闪烁;5、定时功能为倒计时运行,在定时运行状态下,按一下移位键,SV显示屏显示定时剩余时间;6、定时剩余时间归零,仪表进入定时结束状态,此时SV显示屏显示End,并闪烁,同时除风速指示灯以外的所有指示灯均熄灭;7、在定时结束状态下,按一下SET键,仪表恢复到正常工作状态。8、在定时结束状态下,由于仪表温度控制部分停止工作,PV显示屏显示的测量值会下降到环境温度,此为正常现象。9、如果无需使用定时功能,请务必将定时时间设置为零。10、定时功能运行过程中,如发生意外断电,重新上电后,定时剩余时间自动归零。11、本设备的定时范围:1~9999分钟或1~9999小时。望采纳!2023-08-13 07:05:321
如何获得wglswapbuffers
如何获得wglswapbufferswglswapbuffers是厂商驱动带来的ms opengl 1.1 中的source:__inline FARPROC GetAPI(char *szDll, char *szAPI, HMODULE *phDll) { *phDll = LoadLibraryA(szDll); if (*phDll == NULL) { return NULL; } return GetProcAddress(*phDll, szAPI); } /***********************************************************************/ BOOL WINAPI SwapBuffers(HDC hdc) { HMODULE hDll; PFN5 pfn = (PFN5)GetAPI(szOpenGL, "wglSwapBuffers", &hDll); BOOL bRet = FALSE; if (pfn) { bRet = (*pfn)(hdc); } if (hDll) { FreeLibrary(hDll); } return bRet; }2023-08-13 07:05:401
WGL外汇:什么是MTF交易所模式
MTF(Multilateral Trading Facility)多边交易是一种创新型的交易技术,曾用于设计伦敦证交所(London Stock Exchange)、德意志交易所(Deutsche Brse)以及泛欧证券交易所(Euronext)等。有别于其他金融券商的交易技术,MTF系统中所有交易者都处于一个绝对平等的状态,不存有任何优先级以及任何的“区别对待”。凡市场流动性提供者,无论主次,都将得到完全公平的交易机会。目前英国外汇经纪商LMAX采用这一技术,同时LMAX也是一间交易所。很多人认为目前LMAX的模式就是ECN,但是LMAX的概念实际上是交易所概念。ECN是电子自动撮合成交模式。在ECN平台上,交易者的订单都直接且匿名的挂在这个网络上,买卖价格由参与这个ECN上的所有交易者竞价产生,包括个人投资者、小型银行、投资机构和对冲基金。由于ECN的平台研发和维护昂贵,几乎所有市面上ECN都对投资者资金要求有很高的门槛,比方说5万美元以上,并会要求每月最小交易量。一些ECN平台仅提供软件服务,然后由各个公司购买软件,然后在软件中加入报价,和MT4平台概念一样。购买软件的公司在加入报价的时候可以拉大点差,作为自己的手续费收入之外的一项额外收入。但是这并不是一个最关键的问题,最需要关注的问题是他们平台的设计。以采用ECN平台的Currenex为例。Currenex在设计软件的时候自动将报价者分给两个级别:一个是主要的流动性提供者,大型银行,例如汇丰、高盛、摩根大通等;另一个级别包括小型银行、投资机构、对冲基金和个人投资者。由于这个级别的区分,对于大型银行的特别照顾,造成了ECN的致命问题:大型银行要求在订单撮合之前首先向他们确认,之后再向客户确认,在市场波动大、客户所在网络距离服务器远或者客户网络速度不够快的情况下造成接单延迟,从而造成大的滑点或者重新报价。STP之前实际上是一个技术词,意思是通过直接交易处理系统将所有订单发送到报价银行,由报价银行撮合、对从或者接单,所以客户是只可以接受价格,不可以制定价格的。目前因为MT4平台多使用STP技术而将此名词转换成直接交易处理平台的代名词。而MTF技术将为所有流动性提供者创建一个“虚拟”的集中区域即多品种交易区(Multi-assets Area)。此区域融合了所有流动性提供者的订单,包括央行,投行,跨国企业,对冲基金,机构及个体交易者,并在此进行全盘撮合和成交。与其他交易方式的不同点在于:“虚拟”集中区域汇集的均是真实的订单(市价单或者限价单),而非报价。首先,所有的单子都是市价单或者限价单(包括来自银行的订单),并不是某个经纪商平台上的报价。其次就是成交方式:交易所接收到订单的时候,系统会直接在交易所内将订单以可成交的最优价格配对成交,无一例外。然后再同时将确认信息同时传达给银行和客户。这样就节省了信息在银行和服务器之间反复来回所花掉的时间。因此,MTF系统中所有的集中和撮合都会在3万百秒之一(3 million seconds)内完成。2023-08-13 07:05:471
wgl-65b烘箱使用方法
烘箱是一种专门用于物品烘干的一种设备,一般是通过底部的加热设备来实现快速烘干的过程。使用前,必须注意电源电压是否兼容。使用时,电源插座的地线必须按照规定接地。在通电操作期间,不要用手触摸包装盒顶部空间的电气部分,或用湿布擦拭并用水冲洗。检查期间应切断电源。不要使包装箱中的物品拥挤,并为空气自然对流留出空间,以使周围的空气能够减慢并在风顶上逸出。检查温度调节器的银对准是否有毛或不均匀。如果是这样,请在使用前用一块细纱布将连接弄平。应始终用干净的布擦拭它们以使接触良好(请注意必须切断电源)。不要撞击室内温度调节器的金属管,以免影响柔和。每次使用后,必须在本地切断电源,并始终保持盒子内部和外部清洁。2023-08-13 07:05:571
epsxe模拟器为什么会出来无WGL扩展
不知道 ps模拟器估计不会再升级了2023-08-13 07:06:174
openGL 是什么软件
OpenGL三维图形标准是由AT&T公司UNIX软件实验室、IBM 、DEC、SUN、HP、Microsoft和SGI等多家公司在GL图形库标准的基础 上联合推出的开放式图形库,它使在微机上实现三维真实 感图形的生成与显示成为可能。由于OpenGL是开放的图形标 准,用户原先在UNIX下开发的OpenGL图形软件很容易移植到微 机上的WindowsNT/95上。笔者在VisualC++4.1(以下简称VC)集 成环境下,开发了基于OpenGL的三维真实感图形应用程序,现 介绍如下。 微机上的OpenGL开发环境 基于OpenGL标准开发的应用程序必须运行于32位Windows 平台下,如WindowsNT或Windows95环境;而且运行时还需有动态 链接库OpenGL32.DLL、Glu32.DLL,这两个文件在安装WindowsNT时已 自动装载到C:WINNTSYSTEM32目录下(这里假定用户将WindowsNT 安装在C盘上);而对于使用Windows95平台的用户,则需手工将 两个动态库复制到Windows95目录的SYSTEM子目录中。安装了 WindowsNT/95和VC4.1后,用户就具备了基于OpenGL开发三维图 形软件的基本条件。 OpenGL程序设计的基本步骤 1.OpenGL在WindowsNT下的运行机制 OpenGL工作在客户机/服务器模式下,当客户方(即基 于OpenGL标准开发的应用程序)向服务器(OpenGL核心机制)发出 命令时,由服务器负责解释这些命令。通常情况下,客户方 和服务器是运行在同一台微机上的。由于OpenGL的运行机制 是客户机/服务器模式,这使得用户能够十分方便地在网 络环境下使用OpenGL,OpenGL在WindowsNT上的这种实现方式通常 称为网络透明性。 OpenGL的图形库函数封装在动态链接库OpenGL32.DLL中, 客户机中的所有OpenGL函数调用,都被传送到服务器上,由 WinSrv.DLL实现功能,再将经过处理的指令发送到Win32设备驱 动接口(DDI),从而实现在计算机屏幕上产生图像。 若使用OpenGL图形加速卡,则上述机制中将添加两个 驱动器:OpenGL可装载客户模块(OpenGLICD)将安装在客户端;硬 件指定DDI将安装在服务器端,与WinDDI同一级别。 2.OpenGL的库函数 开发基于OpenGL的应用程序,必须先了解OpenGL的库函 数。OpenGL函数命令方式十分有规律,每个库函数均有前缀gl 、glu、aux,分别表示该函数属于OpenGL基本库、实用库或辅助 库。WindowsNT下的OpenGL包含了100多个核心函数,均以gl作为前 缀,同时还支持另外四类函数: OpenGL实用库函数:43个,以glu作为前缀; OpenGL辅助库函数:31个,以aux作为前缀; Windows专用库函数(WGL):6个,以wgl作为前缀; Win32API函数(WGL):5个,无前缀。 OpenGL的115个核心函数提供了最基本的功能,可以实 现三维建模、建立光照模型、反走样、纹理映射等;OpenGL实 用库函数在核心函数的上一层,这类函数提供了简单的调 用方法,其实质是调用核心函数,目的是减轻开发者的编程 工作量;OpenGL辅助库函数是一些特殊的函数,可以供初学者 熟悉OpenGL的编程机制,然而使用辅助库函数的应用程序只 能在Win32环境中使用,可移植性较差,所以开发者应尽量避 免使用辅助库函数;Windows专用库函数(WGL)主要针对WindowsNT /95环境的OpenGL函数调用;Win32API函数用于处理像素存储格 式、双缓存等函数调用。 3.VC环境下基于OpenGL的编程步骤 下面介绍在VC环境中建立基于Opeetting菜单选项,在Link栏的Lib输入域中 添加openg132.lib、glu32.lib,若需使用OpenGL的辅助库函数,则还 需添加glaux.lib。 (3)选择View/ClassWizard菜单选项,打开MFC对话框,在 ClassName栏中选择CMyTestView类,进行以下操作: 选择WM_CREATE消息,鼠标单击EditCode,将OpenGL初始化代码 添加到OnCreate()函数中: /*定义像素存储格式*/ PIXELFORMATDESCRIPTORpfd= { sizeof(PIXELFORMATDESCRIPTOR), 1, PFD_DRAW_TO_WINDOW|PFD_SUPPORT_OPENGL, PFD_TYPE_RGBA, 24, 0,0,0,0,0,0, 0,0,0,0,0,0,0 32, 0,0, PFD_MAIN_PLANE, 0, 0,0,0, } CCLientdc(this); intpixelFormat=ChoosePixelFormat(dc.m_hDC,&pfd); BOOLsuccess=SetPixelFormat(dc.m_hDC,pixelFormat,&pfd); m_hRC=wglCreateContext(dc.m_hDC); 选择WM_DESTORY消息,在OnDestory()中添加以下代码: wglDeleteContext(m_hRC); 在MyTestView.cpp中,将以下代码添加到PreCreateWindows()函数中: cs.style|=WS_CLIPCHILDREN|WS_CLIPSIBLINGS; OpenGL只对WS_CLIPCHILDREN|WS_CLIPSIBLINGS类型窗口有效; 在MyTestView.cpp中,将以下代码添加到OnDraw()函数中: wglMakeCurrent(pDC->m_hDC,m_hRC); DrawScene();//用户自定义函数,用于绘制三维场景; wglMakeCurrent(pDC->m_hDC,NULL); 在MyTestView.cpp中,添加成员函数DrawScene(): voidCMyTestView::DrawScene() {/*绘制三维场景*/} (4)在MyTestView.h中包含以下头文件并添加类成员说明: #include #include #include 在CTestView类中的protected:段中添加成员变量声明: HGLRCm_hRC; 同时添加成员函数声明: DrawScene(); 这样,一个基于OpenGL标准的程序框架已经构造好,用 户只需在DrawScene()函数中添加程序代码即可。 建立三维实体模型 三维实体建模是整个图形学的基础,要生成高逼真 度的图像,首先要生成高质量的三维实体模型。 OpenGL中提供了十几个生成三维实体模型的辅助库函 数,这些函数均以aux作为函数名的前缀。简单的模型,如球 体、立方体、圆柱等可以使用这些辅助函数来实现,如 auxWireSphere(GLdoubleradius)(绘制一半径为radius的网状球体)。 但是这些函数难以满足建立复杂三维实体的需要,所以用 户可以通过其它建模工具(如3DS等)来辅助建立三维实体模 型数据库。笔者在三维实体的建模过程中采用3DS提供的2D Shape、3DLofter和3DEditor进行模型的编辑,最后通过将模型数 据以DXF文件格式输出存储供应用程序使用。 真实感图形的绘制 1.定义光照模型和材质 (1)光源。OpenGL提供了一系列建立光照模型的库函 数,使用户可以十分方便地在三维场景中建立所需的光照 模型。OpenGL中的光照模型由环境光(AmbientLight)、漫射光 (DiffuseLight)、镜面反射光(SpecularLight)等组成,同时还可设 置光线衰减因子来模拟真实的光源效果。 例如,定义一个黄色光源如下: GlfloatLight_position[]={1.0,1.0,1.0,0.0,}; GlfloatLight_diffuse[]={1.0,1.0,0.0,1.0,}; glLightfv(GL_LIGHT0,GL_POSTTION,light_position);//定义光源位置 glLightfv(GL_LIGHT0,GL_DIFFUSE,light_diffuse);//定义光源漫射光 光源必须经过启动后才会影响三维场景中的实体,可以通过以下指令使光源有效:< glEnable(LIGHTING);//启动光照模型; glEnable(GL_LIGHT0);//使光源GL_LIGHT0有效; OpenGL中一共可以定义GL_LIGHT0~GL_LIGHT7八个光源。 (2)材质。OpenGL中的材质是指构成三维实体的材料在 光照模型中对于红、绿、蓝三原色的反射率。与光源的定义 类似,材质的定义分为环境、漫射、镜面反射成分,另外还 有镜面高光指数、辐射成分等。通过对三维实体的材质定义 可以大大提高应用程序所绘制的三维场景的逼真程度。例 如: /*设置材质的反射成分*/ GLfloatmat_ambient[]={0.8,0.8,0.8,1.0}; GLfloatmat_diffuse[]={0.8,0.0,0.8,1.0};/*紫色*/ GLfloatmat_specular[]={1.0,0.0,1.0,1.0};/*镜面高光亮紫色*/ GLfloatmat_shiness[]={100.0};/*高光指数*/ glMaterialfv(GL_FRONT,GL_AMBIENT,mat_ambient);/*定义环境光反射率*/ glMaterialfv(GL_FRONT,GL_DIFFUSE,mat_diffuse);/*定义漫射光反射率*/ glMaterialfv(GL_FRONT,GL_SPECULAR,mat_specular);/*定义镜面光反射率*/ glMaterialfv(GL_FRONT,GL_SHINESS,mat_shiness);/*定义高光指数*/ (3)材质RGB值与光源RGB值的关系。OpenGL中材质的颜色 与光照模型中光源的颜色含义略有不同。对于光源,R、G、B 值表示三原色在光源中所占有的比率;而对于材质定义,R、 G、B的值表示具有这种材质属性的物体对于三原色的反射 比率,场景中物体所呈现的颜色与光照模型、材质定义都相 关。例如,若定义的光源颜色是(Lr,Lg,Lb)=(1.0,1.0,1.0)(白光), 物体的材质颜色定义为(Mr,Mg,Mb)=(0.0,0.0,0.8),则最终到达人 眼的物体颜色应当是(Lr*Mr,Lg*Mg,Lb*Mb)=(0.0,0.0,0.8)(蓝色)。 2.读取三维模型数据 为了绘制三维实体,我们首先必须将预先生成的三 维实体模型从三维实体模型库中读出。下图描述了读取三 维实体模型的流程。 3.三维实体绘制 由于3DS的DXF文件中对于三维实体的描述是采用三角 形面片逼近的方法,而在OpenGL函数库中,提供了绘制三角形 面片的方法,所以为三维实体的绘制提供了方便。以下提供 了绘制三角形面片的方法: glBegin(TRANGLES);//定义三角形绘制开始 glVertexf((GLfloat)x1,(GLfloat)y1,(GLfloat)z1);//第一个顶点 glVertexf((GLfloat)x2,(GLfloat)y2,(GLfloat)z2);//第二个顶点 glVertexf((GLfloat)x3,(GLfloat)y3,(GLfloat)z3);//第三个顶点 glEnd();//绘制结束 为了提高三维实时动画的显示速度,我们利用了 OpenGL库中的显示列表(DisplayList)的功能,将三维场景中的实 体分别定义为单独的显示列表,预先生成三维实体。在图形 显示时,只需调用所需的显示列表即可显示相应的三维实 体,而不需要重新计算实体在场景中的坐标,避免了大量的 浮点运算。在调用显示列表前所作的旋转、平移、光照、材 质的设定都将影响显示列表中的三维实体的显示效果。具 体实现算法如下: for(ObjectNo=0;ObjectNo<实体个数;ObjectNo++) { glNewList(ObjectNo,GL_COMPILE);//创建第ObjectNo个实体的显示列表 for(Fac2023-08-13 07:06:251
如何设置魔兽争霸opengl模式
在你的桌面上的魔兽快捷方式上单击右键,选属性,进入属性单击快捷方式选项卡,在目标一栏的配置符最后加" -opengl"(不包括引号),注意在"-"之前一定要加上一个英文状态下的空格,不然是连游戏也进不去的。最后点应用,确定.在桌面上刷新两次进游戏。扩展资料:高级功能OpenGL被设计为只有输出的,所以它只提供渲染功能。核心API没有窗口系统、音频、打印、键盘/鼠标或其它输入设备的概念。虽然这一开始看起来像是一种限制,但它允许进行渲染的代码完全独立于他运行的操作系统,允许跨平台开发。然而,有些整合于原生窗口系统的东西需要允许和宿主系统交互。这通过下列附加API实现:GLX - X11(包括透明的网络)WGL - Microsoft WindowsAGL - Apple MacOS另外,GLUT库能够以可移植的方式提供基本的窗口功能。参考资料:OpenGL—百度百科2023-08-13 07:06:351
最终幻想9无WGL扩展的问题
好像不要什么特意的视频插件。只要下载的epsxe 1.6 的模拟器 。里面应该有的插件都会有的 按照下面的图配置 应该就没有什么问题了2023-08-13 07:07:021
芯片如何进入testmode
芯片进入testmode的方法:1、比较特殊的芯片要单独区分出来。2、通过配置管脚使芯片进入指定的测试状态,从而完成各个类型的测试。ATPG可输出WGL或STIL格式文件供Tester使用。2023-08-13 07:07:151
用vb OpenGL 在picture中画一个三角形。
要想在VB6.0中使用OpenGL绘图,必须先下载一个SDK,名字叫vbogl.tlb。 下载该文件后,直接在VB6.0“工程”-“引用”里面引用 1、在form中加入一个PictureBox控件 2、要在Windows里面使用OpenGL,必须先进行像素格式设置,函数代码如下 Dim hRC As Long"全局变量 "启用OGL Sub EnableOpenGL(ghDC As Long) On Error GoTo Err Dim pfd As PIXELFORMATDESCRIPTOR "pfd像素格式设置. ZeroMemory pfd, Len(pfd) pfd.nSize = Len(pfd) "大小 pfd.nVersion = 1 "版本 pfd.dwFlags = PFD_DRAW_TO_WINDOW Or PFD_SUPPORT_OPENGL Or PFD_DOUBLEBUFFER "标志 pfd.iPixelType = PFD_TYPE_RGBA "像素类型 pfd.cColorBits = 24 "颜色位数 pfd.cDepthBits = 32 "位宽 pfd.iLayerType = PFD_MAIN_PLANE "图层类型 Dim PixFormat As Long PixFormat = ChoosePixelFormat(ghDC, pfd) "选择设备中最匹配我们所设置的像素 SetPixelFormat ghDC, PixFormat, pfd "设置成当前的像素 hRC = wglCreateContext(ghDC) "建立翻译描述表 wglMakeCurrent ghDC, hRC "将建立的翻译描述表设置为当前 Exit Sub Err: MsgBox "Can"t create OpenGL context!", vbCritical, "Error" End End Sub 在工程的FORM的load中加入调用代码 Call EnableOpenGL(Picture1.hDC) 3、与启用对应的禁用 "禁用OGL Sub DisableOpenGL() wglMakeCurrent 0, 0 wglDeleteContext hRC End Sub 在工程的form的unload中加入禁用代码 Call DisableOpenGL 4、绘图 Private Sub Display() glClearColor 0#, 0#, 1#, 0# "清空颜色缓存的RGBA颜色值 glClear clrColorBufferBit "为绘下帧曲面清除缓冲区 glColor3f 0.8, 0.3, 0.5 "设置显示的字体颜色 glPushMatrix "依据当前模式(模式-视图矩阵)使矩阵入栈 glBegin glBeginModeConstants.bmPolygon "开始绘图,绘制一个三角形 glVertex2f -0.5, -0.5 "三角形的3个顶点 glVertex2f -0.5, 0.5 glVertex2f 0.5, -0.5 glEnd glPopMatrix "依据当前模式(模式-视图矩阵)使矩阵出栈 SwapBuffers Picture1.hDC "切换缓存 End Sub 5、在PictureBox1的PAINT事件,调用显示的函数 Display2023-08-13 07:07:231
十 大品牌旋涡泵?
"1. 上海阳光泵业制造有限公司上海阳光泵业制造有限公司是公司成立于2001年,是一家坐落在世博会举办城市上海的生产厂家,拥有一支一流的设计研发队伍及有专业工程技术人员的服务队伍。(2KW发电机)(5KW发电机)(汽油发电机)(柴油发电机)(低噪音发电机) 公司产品出口到北美、欧洲、中东、非洲等50多个国家和地区,公司产品除了按引擎分类,按功能的不同样式有标准敞开式、移动拖车、环保静音、多机并联、超静音、双电压、双频双电压、远程监控、无人值守全自动化ATS、直流、发电电焊两用等。2. 济南盛泓晨经贸有限公司济南盛泓晨经贸有限公司 经销批发的电机、减速机、水泵、发电机畅销消费者市场,在消费者当中享有较高的地位,公司与多家零售商和代理商建立了长期稳定的合作关系。济南盛泓晨经贸有限公司经销的电机、减速机、水泵、发电机品种齐全、价格合理。济南盛泓晨经贸有限公司实力雄厚,重信用、守合同、保证产品质量,以多品种经营特色和薄利多销的原则,赢得了广大客户的信任。3. 天津奥斯特泵业有限公司天津奥斯特泵业有限公司,是一家集设计、开发、生产、销售于一体的水泵制造企业,公司位于天津静海经济开发区,紧邻京沪高速,津沧高速,104国道,京沪铁路,地理位置公优越,交通四通八达。公司拥有员工160名,主要技术人员是由天津电机总厂老技术员组成公司严格执行ISO9001国际管理体系进行生产,完善的质量检测设备为生产高质量的产品提供了强有力的保证,现已逐步成为有一定规模的现代化企业4. 天津淦顺泵业有限公司天津淦顺泵业有限公司,坐落于天津市南开区延安路6号,地理位置优越交通便利,公司集研发、制造、销售于一体,创业一年来,始终致力于科技与管理的创新,并开发出适合于工矿企业、建筑工地、城市污水、农田排灌、石油化工、工业水处理、地源热泵空调行业、地暖采暖、地热温泉、洗浴等各行业用泵。 公司主要产品有:多用潜水泵、轴流泵、多级泵、排污泵、自吸泵、管道泵、离心泵、油泵、隔膜泵、混流泵、污水泵、不锈钢耐腐蚀泵、耐腐耐磨砂浆泵、化工泵、液下泵、磁力泵、渣浆泵、机械密封、自动减压动柜、变频柜等产品。5. 东莞瑞畅机械设备有限公司东莞瑞畅机械设备有限公司 经销批发的空气压缩机、喷浆机、注浆机、发电机组、潜孔钻机畅销消费者市场,在消费者当中享有较高的地位,公司与多家零售商和代理商建立了长期稳定的合作关系。东莞瑞畅机械设备有限公司经销的空气压缩机、喷浆机、注浆机、发电机组、潜孔钻机品种齐全、价格合理。东莞瑞畅机械设备有限公司实力雄厚,重信用、守合同、保证产品质量,以多品种经营特色和薄利多销的原则,赢得了广大客户的信任。6. 天津市南开区凯顺鑫泵阀销售中心天津市南开区凯顺鑫泵阀销售中心 经销批发的排污泵、管道离心泵、磁力泵、油泵、耐酸泵、深井泵、多级泵、自吸泵、液下污水泵、齿轮油泵、切割泵、旋涡泵、消防泵、油浸泵、屏蔽泵、全自动自吸泵、不锈钢系列水泵、风机、水泵配套阀门、铜件畅销消费者市场,在消费者当中享有较高的地位,公司与多家零售商和代理商建立了长期稳定的合作关系。天津市南开区凯顺鑫泵阀销售中心本着“品质追求,永无止境”的信念,技术打造着泵业的品质。7. 上海赞马机械制造有限公司上海赞马机械制造有限公司是一家经国家相关部门批准注册的企业。上海赞马机械制造有限公司凭着良好的信用、优良的服务与多家企业建立了长期的合作关系。上海赞马机械制造有限公司热诚欢迎各界朋友前来参观、考察、洽谈业务。主营发电机;汽油发电机组;柴油发电机组;大型水冷柴油发电机组;发动机;汽油水泵;柴油水泵;移动照明灯车;油锯;割草机;高压清洗机;发电机组;上海赞马机械制造有限公司是中国一家专业生产发电机组的实业型企业,公司主要生产稀土永磁发电机组,汽油发电机组,柴油发电机组,汽油自吸水泵,汽油污水泵,汽油消防水泵,柴油水泵,移动照明灯车,油锯,割灌机,草坪机,高压清洗机。8. 河北润通泵业有限公司河北润通泵业有限公司具有几十年设计、制造的丰富经验,产品质量稳定,性能可靠,畅销国内外,拥有完善的售后服务网络,我们以“用户满意是我们永远的追求”为目标,本着“质量**,用户至上”的原则,竭诚为广大用户提供*优质的产品和*满意的服务。河北润通泵业主要产品有:D、DA卧式多级离心泵,S、SH双吸泵,LXL纸浆泵,AH、HH、ZJ渣浆泵,ZJL、SP、FY液下渣浆泵,PN、PNL泥浆泵、YW液下泵,PW、PWL污水泵,DL、LG立式多级离心泵,GC、DG多级锅炉给水泵,ISZ、ISG管道泵直连泵,IS、B、BA清水泵,IH、AFB化工泵,NWL、WDL、WGL立式污水泵等各类水泵及配件.产品用于冶金、矿山石油、化工、轻工、发电、造纸、制药、食品、城建、污水处理等各种行业的需要,畅销全国三十多个省、市、自治区、深受用户好评9. 河北鑫诚水泵厂河北鑫诚水泵厂始建于2005年,主要生产工业水泵及配件,企业建厂以来不断发展壮大,目前已发展成为集设计和生产和而为一的水泵骨干企业,拥有精湛的生产设备及完善的检测手段。企业产品具有设计合理、高效节能、性能可靠、维修方便等优点。 同时本企业水泵产品性能达以到国内先进水平,为国家一些重点工程、环保、工业、、农业建设、等做出了较大贡献,得到了广大用户、产品配套单位的好评和信赖。10. 河北鸿达泵业有限公司河北鸿达泵业有限公司坐落在美丽的东方药城--安国,主要产品有小型风冷柴油发电机组 2kW-10kW 、小型风冷汽油发电机组 0.45kW-6kW 、大型水冷机组(8kW-2000kW):分别为国产机组系列,康明斯机组系列、道茨机组系列、雷沃机组系列、沃尔沃机组系列、大宇系列;工厂可为客户定做特殊机型如静音机组、自动化机组系列、移动电站机组系列等。产品广泛用于工矿企业、野外作业、消防、大楼、公路、铁路、桥梁施工的备用电源和应急电源。"2023-08-13 07:07:301
OpenGL是什么?
OpenGL三维图形标准是由AT&T公司UNIX软件实验室、IBM 、DEC、SUN、HP、Microsoft和SGI等多家公司在GL图形库标准的基础 上联合推出的开放式图形库,它使在微机上实现三维真实 感图形的生成与显示成为可能。由于OpenGL是开放的图形标 准,用户原先在UNIX下开发的OpenGL图形软件很容易移植到微 机上的WindowsNT/95上。笔者在VisualC++4.1(以下简称VC)集 成环境下,开发了基于OpenGL的三维真实感图形应用程序,现 介绍如下。 微机上的OpenGL开发环境 基于OpenGL标准开发的应用程序必须运行于32位Windows 平台下,如WindowsNT或Windows95环境;而且运行时还需有动态 链接库OpenGL32.DLL、Glu32.DLL,这两个文件在安装WindowsNT时已 自动装载到C:WINNTSYSTEM32目录下(这里假定用户将WindowsNT 安装在C盘上);而对于使用Windows95平台的用户,则需手工将 两个动态库复制到Windows95目录的SYSTEM子目录中。安装了 WindowsNT/95和VC4.1后,用户就具备了基于OpenGL开发三维图 形软件的基本条件。 OpenGL程序设计的基本步骤 1.OpenGL在WindowsNT下的运行机制 OpenGL工作在客户机/服务器模式下,当客户方(即基 于OpenGL标准开发的应用程序)向服务器(OpenGL核心机制)发出 命令时,由服务器负责解释这些命令。通常情况下,客户方 和服务器是运行在同一台微机上的。由于OpenGL的运行机制 是客户机/服务器模式,这使得用户能够十分方便地在网 络环境下使用OpenGL,OpenGL在WindowsNT上的这种实现方式通常 称为网络透明性。 OpenGL的图形库函数封装在动态链接库OpenGL32.DLL中, 客户机中的所有OpenGL函数调用,都被传送到服务器上,由 WinSrv.DLL实现功能,再将经过处理的指令发送到Win32设备驱 动接口(DDI),从而实现在计算机屏幕上产生图像。 若使用OpenGL图形加速卡,则上述机制中将添加两个 驱动器:OpenGL可装载客户模块(OpenGLICD)将安装在客户端;硬 件指定DDI将安装在服务器端,与WinDDI同一级别。 2.OpenGL的库函数 开发基于OpenGL的应用程序,必须先了解OpenGL的库函 数。OpenGL函数命令方式十分有规律,每个库函数均有前缀gl 、glu、aux,分别表示该函数属于OpenGL基本库、实用库或辅助 库。WindowsNT下的OpenGL包含了100多个核心函数,均以gl作为前 缀,同时还支持另外四类函数: OpenGL实用库函数:43个,以glu作为前缀; OpenGL辅助库函数:31个,以aux作为前缀; Windows专用库函数(WGL):6个,以wgl作为前缀; Win32API函数(WGL):5个,无前缀。 OpenGL的115个核心函数提供了最基本的功能,可以实 现三维建模、建立光照模型、反走样、纹理映射等;OpenGL实 用库函数在核心函数的上一层,这类函数提供了简单的调 用方法,其实质是调用核心函数,目的是减轻开发者的编程 工作量;OpenGL辅助库函数是一些特殊的函数,可以供初学者 熟悉OpenGL的编程机制,然而使用辅助库函数的应用程序只 能在Win32环境中使用,可移植性较差,所以开发者应尽量避 免使用辅助库函数;Windows专用库函数(WGL)主要针对WindowsNT /95环境的OpenGL函数调用;Win32API函数用于处理像素存储格 式、双缓存等函数调用。 3.VC环境下基于OpenGL的编程步骤 下面介绍在VC环境中建立基于Opeetting菜单选项,在Link栏的Lib输入域中 添加openg132.lib、glu32.lib,若需使用OpenGL的辅助库函数,则还 需添加glaux.lib。 (3)选择View/ClassWizard菜单选项,打开MFC对话框,在 ClassName栏中选择CMyTestView类,进行以下操作: 选择WM_CREATE消息,鼠标单击EditCode,将OpenGL初始化代码 添加到OnCreate()函数中: /*定义像素存储格式*/ PIXELFORMATDESCRIPTORpfd= { sizeof(PIXELFORMATDESCRIPTOR), 1, PFD_DRAW_TO_WINDOW|PFD_SUPPORT_OPENGL, PFD_TYPE_RGBA, 24, 0,0,0,0,0,0, 0,0,0,0,0,0,0 32, 0,0, PFD_MAIN_PLANE, 0, 0,0,0, } CCLientdc(this); intpixelFormat=ChoosePixelFormat(dc.m_hDC,&pfd); BOOLsuccess=SetPixelFormat(dc.m_hDC,pixelFormat,&pfd); m_hRC=wglCreateContext(dc.m_hDC); 选择WM_DESTORY消息,在OnDestory()中添加以下代码: wglDeleteContext(m_hRC); 在MyTestView.cpp中,将以下代码添加到PreCreateWindows()函数中: cs.style|=WS_CLIPCHILDREN|WS_CLIPSIBLINGS; OpenGL只对WS_CLIPCHILDREN|WS_CLIPSIBLINGS类型窗口有效; 在MyTestView.cpp中,将以下代码添加到OnDraw()函数中: wglMakeCurrent(pDC->m_hDC,m_hRC); DrawScene();//用户自定义函数,用于绘制三维场景; wglMakeCurrent(pDC->m_hDC,NULL); 在MyTestView.cpp中,添加成员函数DrawScene(): voidCMyTestView::DrawScene() {/*绘制三维场景*/} (4)在MyTestView.h中包含以下头文件并添加类成员说明: #include #include #include 在CTestView类中的protected:段中添加成员变量声明: HGLRCm_hRC; 同时添加成员函数声明: DrawScene(); 这样,一个基于OpenGL标准的程序框架已经构造好,用 户只需在DrawScene()函数中添加程序代码即可。 建立三维实体模型 三维实体建模是整个图形学的基础,要生成高逼真 度的图像,首先要生成高质量的三维实体模型。 OpenGL中提供了十几个生成三维实体模型的辅助库函 数,这些函数均以aux作为函数名的前缀。简单的模型,如球 体、立方体、圆柱等可以使用这些辅助函数来实现,如 auxWireSphere(GLdoubleradius)(绘制一半径为radius的网状球体)。 但是这些函数难以满足建立复杂三维实体的需要,所以用 户可以通过其它建模工具(如3DS等)来辅助建立三维实体模 型数据库。笔者在三维实体的建模过程中采用3DS提供的2D Shape、3DLofter和3DEditor进行模型的编辑,最后通过将模型数 据以DXF文件格式输出存储供应用程序使用。 真实感图形的绘制 1.定义光照模型和材质 (1)光源。OpenGL提供了一系列建立光照模型的库函 数,使用户可以十分方便地在三维场景中建立所需的光照 模型。OpenGL中的光照模型由环境光(AmbientLight)、漫射光 (DiffuseLight)、镜面反射光(SpecularLight)等组成,同时还可设 置光线衰减因子来模拟真实的光源效果。 例如,定义一个黄色光源如下: GlfloatLight_position[]={1.0,1.0,1.0,0.0,}; GlfloatLight_diffuse[]={1.0,1.0,0.0,1.0,}; glLightfv(GL_LIGHT0,GL_POSTTION,light_position);//定义光源位置 glLightfv(GL_LIGHT0,GL_DIFFUSE,light_diffuse);//定义光源漫射光 光源必须经过启动后才会影响三维场景中的实体,可以通过以下指令使光源有效:< glEnable(LIGHTING);//启动光照模型; glEnable(GL_LIGHT0);//使光源GL_LIGHT0有效; OpenGL中一共可以定义GL_LIGHT0~GL_LIGHT7八个光源。 (2)材质。OpenGL中的材质是指构成三维实体的材料在 光照模型中对于红、绿、蓝三原色的反射率。与光源的定义 类似,材质的定义分为环境、漫射、镜面反射成分,另外还 有镜面高光指数、辐射成分等。通过对三维实体的材质定义 可以大大提高应用程序所绘制的三维场景的逼真程度。例 如: /*设置材质的反射成分*/ GLfloatmat_ambient[]={0.8,0.8,0.8,1.0}; GLfloatmat_diffuse[]={0.8,0.0,0.8,1.0};/*紫色*/ GLfloatmat_specular[]={1.0,0.0,1.0,1.0};/*镜面高光亮紫色*/ GLfloatmat_shiness[]={100.0};/*高光指数*/ glMaterialfv(GL_FRONT,GL_AMBIENT,mat_ambient);/*定义环境光反射率*/ glMaterialfv(GL_FRONT,GL_DIFFUSE,mat_diffuse);/*定义漫射光反射率*/ glMaterialfv(GL_FRONT,GL_SPECULAR,mat_specular);/*定义镜面光反射率*/ glMaterialfv(GL_FRONT,GL_SHINESS,mat_shiness);/*定义高光指数*/ (3)材质RGB值与光源RGB值的关系。OpenGL中材质的颜色 与光照模型中光源的颜色含义略有不同。对于光源,R、G、B 值表示三原色在光源中所占有的比率;而对于材质定义,R、 G、B的值表示具有这种材质属性的物体对于三原色的反射 比率,场景中物体所呈现的颜色与光照模型、材质定义都相 关。例如,若定义的光源颜色是(Lr,Lg,Lb)=(1.0,1.0,1.0)(白光), 物体的材质颜色定义为(Mr,Mg,Mb)=(0.0,0.0,0.8),则最终到达人 眼的物体颜色应当是(Lr*Mr,Lg*Mg,Lb*Mb)=(0.0,0.0,0.8)(蓝色)。 2.读取三维模型数据 为了绘制三维实体,我们首先必须将预先生成的三 维实体模型从三维实体模型库中读出。下图描述了读取三 维实体模型的流程。 3.三维实体绘制 由于3DS的DXF文件中对于三维实体的描述是采用三角 形面片逼近的方法,而在OpenGL函数库中,提供了绘制三角形 面片的方法,所以为三维实体的绘制提供了方便。以下提供 了绘制三角形面片的方法: glBegin(TRANGLES);//定义三角形绘制开始 glVertexf((GLfloat)x1,(GLfloat)y1,(GLfloat)z1);//第一个顶点 glVertexf((GLfloat)x2,(GLfloat)y2,(GLfloat)z2);//第二个顶点 glVertexf((GLfloat)x3,(GLfloat)y3,(GLfloat)z3);//第三个顶点 glEnd();//绘制结束 为了提高三维实时动画的显示速度,我们利用了 OpenGL库中的显示列表(DisplayList)的功能,将三维场景中的实 体分别定义为单独的显示列表,预先生成三维实体。在图形 显示时,只需调用所需的显示列表即可显示相应的三维实 体,而不需要重新计算实体在场景中的坐标,避免了大量的 浮点运算。在调用显示列表前所作的旋转、平移、光照、材 质的设定都将影响显示列表中的三维实体的显示效果。具 体实现算法如下: for(ObjectNo=0;ObjectNo<实体个数;ObjectNo++) { glNewList(ObjectNo,GL_COMPILE);//创建第ObjectNo个实体的显示列表 for(Fac2023-08-13 07:07:382
中国无堵塞排污泵十 大品牌?
1. 上海阳光泵业制造有限公司上海阳光泵业制造有限公司是国内一家著名的集研制、开发、生产、销售、服务于一体的水泵大型多元化企业, 是国内久负盛名的生产水泵企业之一。同样也被斯坦福、马拉松、凯捷利等知名电机生产供应商认定为高信誉合作伙伴。先进的研发与设计及规模性生产,使得瑞营可以满足所有行业的应急用电需求。“服务到永远”、“为您解决电力供应不足问题”是我们永久的企业理念。 2.山东神力渣浆泵科技有限公司山东神力渣浆泵科技有限公司(原山东博山渣浆泵厂)地处风景秀丽的“中国泵业名城”——淄博市博山区,始建于1968年,是国内最早的专业渣浆泵生产企业。主导产品为“神力”牌渣浆泵、液下渣浆泵、潜水渣浆泵、真空泵、抽芯机系列和“鲁魁牌”水煤气发生炉系列。经过四十多年的发展,目前公司已发展成长为占地面积9.7万平方米,厂房面积4.3万平方米,下设三个现代化生产厂区、一个技术研发中心,集科研、开发、生产、销售于一体的企业。3. 河北天泽水泵有限公司河北天泽水泵有限公司是国家机电部水泵定点生产厂家,也是华北工业水泵主要生产厂家之一。具有几十年设计、制造的丰富经验,产品质量稳定,性能可靠,畅销国内外。天泽水泵 先后取得了河北省优质产品、名牌产品、优秀生产厂家等荣誉称号,并率先于1999年通过了ISO9001国际质量体系认证,为公司的生产,发展奠定了坚实的基础。 河北天泽水泵是集设计、开发、制造、销售、服务于一体,主营:多级泵及配件、管道泵、热水泵、排污泵、化工泵、渣浆泵、耐腐蚀、不锈钢泵、管道泵、化工泵、纸浆泵、离心泵、清水泵、液下泵、污水泵等20个系列64个品种1100多个规格型号的各类水泵,年产万余台,产品广泛应用于化工、稀土、农药、石油、电镀、冶炼、电子等领域, 大批产品替代进口,畅销全国31个省市和自治区,并在全国建立了26个分支结构,巩固了健全的销售服务网络。4. 济南泉祥水泵设备有限公司 xylem赛莱默水泵,鹤见水泵,flygt飞力水泵,lowara不锈钢泵是广州科澍环保设备有限公司的主营水泵品牌,水泵产品种类多,型号丰富,价格空间广阔,售后无忧,同时为xylem赛莱默水泵,鹤见水泵做售后服务,水泵维修,检修,零配件更换等。5. 郑州金元冶金设备有限公司郑州金元冶金设备有限公司是一家集科研、工贸为一体的股份制企业,它坐落在中国著名铝都—郑州市上街区南一公里处的南郊段,南依嵩山,北邻黄河,西有古都洛阳,东有宋都开封,开落高速公路和国道310都从这里经过,环境优美,地理位置得天独厚。公司注册资本为100万人民币。公司主营业务为:渣浆泵,泥浆泵,砂浆泵,污水泵,灰浆泵等杂质泵的研发,生产与销售。 自 2003年 5月创办以来,我们本着诚信经营的原则,积极进取,勇于开拓,经过多年的努力拼搏,完成年产值约1500 万元。 LZB、LZ2H系列杂质泵是我公司采用两相流理论开发的新一代高效 节能耐磨杂质泵,适用于输送所含固体颗粒的物料浆体。固液混合浆体的最大重量浓度为:灰浆(煤浆)40%,矿浆(重介)60%,根据工矿可串联使用。6.上海石保水泵制造有限公司上海石保水泵制造有限公司是国家机电部指定的水泵生产厂家,也是华东工业水泵厂家之一。我公司是专业生产工业水泵的企业,已有多年的水泵生产历史。我公司具有十几年设计、制造的丰富经验,产品质量稳定,性能可靠,畅销国内外。上海石保水泵制造有限公司主要生产的水泵产品有压滤机专用泵,渣浆泵,FSB氟塑料化工泵,多级泵,纸浆泵,污水泵,清水泵,水泵配件,机械密封等十多个系列,上百种规格型号。上海石保水泵制造有限公司现有职工50余人,其中10%是工程技术人员。产品的开发设计和工艺编制全部采用CAD新技术。我公司建有国内大型的测试精度达到ISO3555级精度的渣浆泵站,主要研究泵的运行性能机械损耗、抗磨蚀材料及新产品的开发。拥有严格的质量控制体系,在各个车间设有质量检查站,在关键的流程设有专人负责监查控制。7. 河北宏强泵业有限公司河北宏强泵业有限公司是国家生产工业水泵的专业性企业,公司有多年的生产经验,良好的管理体系和质量保证体系,公司现有员工500余人,高,中级专业人员70余人,拥有各种生产设备100余台,固定资产2800万元,厂区面积3.7万平方米,建筑面积2.5万平方米。 我公司拥有雄厚的生产技术力量,完善的生产保障、质量保证监督体系和专业型精神队伍。公司年生产水泵1万余台(套),各种配件1500多吨,是科研、生产、经营为一体的生产实体。 宏强主要生产:D、DA卧式多级离心泵,S、SH双吸泵,LXL纸浆泵,AH、HH、ZJ渣浆泵,ZJL、SP、FY液下渣浆泵,PNJB衬胶泵,PN、PNL泥浆泵、YW液下泵,PW、PWL污水泵,DL、LG立式多级离心泵,GC、DG多级锅炉给水泵,ISZ、ISG管道泵直连泵,IS、B、BA清水泵,IH、AFB化工泵,NWL、WDL、WGL立式污水泵,Y、AY离心油泵等各类水泵及配件. 8. 永嘉县慧泉泵业制造有限公司永嘉县慧泉泵业制造有限公司是一家国内专业从事多级泵,集研究、开发、销售为一体的现代化企业。拥有一批高素质、具有丰富经验专业技术、管理团队人员。本公司采用世界先进的CFD流体力学专业内流畅分析软件CAE有限元分析、并辅以PROE和CIMATRON等三维软件设计,经过多道特殊设备加工和成品检测,研制了轰动全国的冲压不锈钢多级泵QDL、QDLF、CDLF等系列产品。现在公司研制的新一代HQDL便拆式轻型不锈钢多级离心泵,配置了专利产品HQ-12、HQ-18免维护集装式机械密封,其在锅炉冷热水循环、高层建筑供水消防、工业水处理、石油化工等各行业中广泛使用,其寿命、效率能源等各项指标都达到或超过国际水平。 9.开宇泵业本厂主要产品有:QW系列潜水排污泵、QSZ潜水渣浆泵、JYQW自动搅匀排污泵、JGQW切割型排污泵、GAK系列自动耦合装置、IS、ISG、DL、DA1、D、SH、LG等系列单极、多级离心式清水泵、XBD系列消防泵等各种水泵及渣浆泵、真空泵、给水设备。 产品工艺先进、性能可靠、质量优良,水泵性能均达到国际标准B级精度。10. 石家庄市新亚水泵制造有限公司石家庄市新亚水泵制造有限公司是泵类产品的专业制造厂商,拥有近二十年的研发、生产、销售各种潜水电泵的经验。产品采用德国里茨公司的技术,设计先进,效率高、耗电低,尤其产品的质量极为稳定,各方面性能在业内均处于领先地位。近二十年来,我公司的产品以畅销全国三十多个省市地区,并可根据用户需求定做特殊型号产品,深受用户好评。我公司主要生产工矿产品系列200JQA80、250JQA80、250JQC140;里茨技术6699、6613、6618、6620、6715。QJ系列:100QJ、125QJ、150QJ、175QJ、200QJ、250QJ、300QJ、350QJ。流量:由5m3/h-1000m3/h,扬程:5-1000m以下潜水电泵,广泛用于农田灌溉、城市供水和工矿企业用水,是提取地下深井、河流水和水库水的理想工具。2023-08-13 07:07:461
主页被篡改为http://www.43737.com/?wgl
经过实际测试发现,用村落网页安全专家可以完美解决这个问题,其它方法基本没有办法处理!2023-08-13 07:08:0610
GLFWError #65542 Happen,WGL;The driver does not a
GLFWError #65542 Happen,WGL;The driver does not asgbxdh2023-08-13 07:08:282
关于DOOM3游戏无法运行的问题
你好!!绝对是显卡问题!目前来讲,欧美游戏对于系统配置越来越高,而DOOM3是目前要求最高的,其次是<上古卷轴4>.FX5200显卡已经算是低档次的显卡,而且已经停产,这款显卡连<上古4>都无法运行.更何况DOOM3了.如果你注意的话,运行该游戏的显卡问题在该游戏推出不久就频频出现。官方的解释是,DOOM之父JohnCarmack曾经透露GeForceFX系列显卡将可以用5种不同的模式来运行DOOM3,分别是ARB(最少额外功能、不含镜面光照特殊效果、无vertex程序)、NV10(完整功能、5道渲染程序)、NV20(完整功能、2或3次渲染程序)、NV30(完整功能、单次渲染程序)以及ARB2。而时隔这么久,随着GeForce6800Ultra的发布,很多人开始猜测DOOM3的运行模式是否会有变化呢?JohnCarmack表示,DOOM3将会去掉之前的NV30特效渲染模式,原因是目前的NV3X显卡配合最新的驱动后,在标准的ARB2模式(ARB=(OpenGL)ArchitectureReviewBoard)已经可以取得和之前NV30特效模式一样的速度。最关键的是,正如JohnCarmack所表示的那样,在DOOM3最主要的是可以通过牺牲画质来取得出色的速度,完美灵活的vertex/fragmentprograms/Cg界面将可以令以前的硬件同样运行DOOM3。唯一的办法就是更换显卡.祝顺利!2023-08-13 07:08:351
关于魔兽用opengl模式玩!
概述 [编辑本段] OpenGL 是个专业的图形程序接口,是一个功能强大,调用方便的底层图形库。OpenGL的前身是SGI公司为其图形工作站开发的IRIS GL。IRIS GL是一个工业标准的3D图形软件接口,功能虽然强大但是移植性不好,于是SGI公司便在IRIS GL的基础上开发了OpenGL。OpenGL的英文全称是“Open Graphics Library”,顾名思义,OpenGL便是“开放的图形程序接口”。虽然DirectX在家用市场全面领先,但在专业高端绘图领域,OpenGL是不能被取代的主角。 OpenGL是个与硬件无关的软件接口,可以在不同的平台如Windows 95、Windows NT、Unix、Linux、MacOS、OS/2之间进行移植。因此,支持OpenGL的软件具有很好的移植性,可以获得非常广泛的应用。由于OpenGL是图形的底层图形库,没有提供几何实体图元,不能直接用以描述场景。但是,通过一些转换程序,可以很方便地将AutoCAD、3DS/3DSMAX等3D图形设计软件制作的DFX和3DS模型文件转换成OpenGL的顶点数组。 在OpenGL的基础上还有Open Inventor、Cosmo3D、Optimizer等多种高级图形库,适应不同应用。其中,Open Inventor应用最为广泛。该软件是基于OpenGL面向对象的工具包,提供创建交互式3D图形应用程序的对象和方法,提供了预定义的对象和用于交互的事件处理模块,创建和编辑3D场景的高级应用程序单元,有打印对象和用其它图形格式交换数据的能力。 OpenGL的发展一直处于一种较为迟缓的态势,每次版本的提高新增的技术很少,大多只是对其中部分做出修改和完善。1992年7月,SGI公司发布了 OpenGL的1.0版本,随后又与微软公司共同开发了Windows NT版本的OpenGL,从而使一些原来必须在高档图形工作站上运行的大型3D图形处理软件也可以在微机上运用。1995年OpenGL的1.1版本面市,该版本比1.0的性能有许多提高,并加入了一些新的功能。其中包括改进打印机支持,在增强元文件中包含OpenGL的调用,顶点数组的新特性,提高顶点位置、法线、颜色、色彩指数、纹理坐标、多边形边缘标识的传输速度,引入了新的纹理特性等等。OpenGL 1.5又新增了“OpenGL Shading Language”,该语言是“OpenGL 2.0”的底核,用于着色对象、顶点着色以及片断着色技术的扩展功能。 OpenGL 2.0标准的主要制订者并非原来的SGI,而是逐渐在ARB中占据主动地位的3DLabs。2.0版本首先要做的是与旧版本之间的完整兼容性,同时在顶点与像素及内存管理上与DirectX共同合作以维持均势。OpenGL 2.0将由OpenGL 1.3的现有功能加上与之完全兼容的新功能所组成(如图一)。借此可以对在ARB停滞不前时代各家推出的各种纠缠不清的扩展指令集做一次彻底的精简。此外,硬件可编程能力的实现也提供了一个更好的方法以整合现有的扩展指令。 目前,随着DirectX的不断发展和完善,OpenGL的优势逐渐丧失,至今虽然已有3Dlabs提倡开发的2.0版本面世,在其中加入了很多类似于DirectX中可编程单元的设计,但厂商的用户的认知程度并不高,未来的OpenGL发展前景迷茫。 Open GL现状 [编辑本段] Open GL仍然是唯一能够取代微软对3D图形技术的完全控制的API。它仍然具有一定的生命力,但是Silicon Graphics已经不再以任何让微软不悦的方式推广Open GL,因而它存在较高的风险。游戏开发人员是一个有着独立思想的群体,很多重要的开发人员目前仍然在使用Open GL。因此,硬件开发商正在设法加强对它的支持。Direct3D目前还不能支持高端的图形设备和专业应用; Open GL在这些领域占据着统治地位。最后,开放源码社区(尤其是Mesa项目)一直致力于为任何类型的计算机(无论它们是否使用微软的操作系统)提供Open GL支持。 高级功能 [编辑本段] OpenGL被设计为只有输出的,所以它只提供渲染功能。核心API没有窗口系统、音频、打印、键盘/鼠标或其它输入设备的概念。虽然这一开始看起来像是一种限制,但它允许进行渲染的代码完全独立于他运行的操作系统,允许跨平台开发。然而,有些整合于原生窗口系统的东西需要允许和宿主系统交互。这通过下列附加API实现: * GLX - X11(包括透明的网络) * WGL - Microsoft Windows * AGL - Apple MacOS 另外,GLUT库能够以可移植的方式提供基本的窗口功能。 OpenGL编程入门 [编辑本段] OpenGL作图非常方便,故日益流行,但对许多人来说,是在微机上进行的,首先碰到的问题是,如何适应微机环境。这往往是最关键的一步,虽然也是最初级的。一般的,我不建议使用glut 包.那样难以充分发挥 windows 的界面上的功能. 下面介绍如何在 VC++ 上进行 OpenGL 编程。 OpenGL 绘图的一般过程可以看作这样的,先用 OpenGL 语句在 OpenGL 的绘图环境 RenderContext (RC)中画好图, 然后再通过一个 Swap buffer 的过程把图传给操作系统的绘图环境 DeviceContext (DC)中,实实在在地画出到屏幕上. 下面以画一条 Bezier 曲线为例,详细介绍VC++ 上 OpenGL编程的方法。文中给出了详细注释,以便给初学者明确的指引。一步一步地按所述去做,你将顺利地画出第一个 OpenGL 平台上的图形来。 一、产生程序框架 Test.dsw New Project | MFC Application Wizard (EXE) | "Test" | OK *注* : 加“”者指要手工敲入的字串 二、导入 Bezier 曲线类的文件 用下面方法产生 BezierCurve.h BezierCurve.cpp 两个文件: WorkSpace | ClassView | Test Classes| <右击弹出> New Class | Generic Class(不用MFC类) | "CBezierCurve" | OK 三、编辑好 Bezier 曲线类的定义与实现 写好下面两个文件: BezierCurve.h BezierCurve.cpp 四、设置编译环境: 1. 在 BezierCurve.h 和 TestView.h 内各加上: #include <GL/gl.h> #include <GL/glu.h> #include <GL/glaux.h> 2. 在集成环境中 Project | Settings | Link | Object/library module | "opengl32.lib glu32.lib glaux.lib" | OK 五、设置 OpenGL 工作环境:(下面各个操作,均针对 TestView.cpp ) 1. 处理 PreCreateWindow(): 设置 OpenGL 绘图窗口的风格 cs.style |= WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CS_OWNDC; 2. 处理 OnCreate():创建 OpenGL 的绘图设备。 OpenGL 绘图的机制是: 先用 OpenGL 的绘图上下文 Rendering Context (简称为 RC )把图画好,再把所绘结果通过 SwapBuffer() 函数传给 Window 的 绘图上下文 Device Context (简记为 DC).要注意的是,程序运行过程中,可以有多个 DC,但只能有一个 RC。因此当一个 DC 画完图后,要立即释放 RC,以便其它的 DC 也使用。在后面的代码中,将有详细注释。 int CTestView::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CView::OnCreate(lpCreateStruct) == -1) return -1; myInitOpenGL(); return 0; } void CTestView::myInitOpenGL() { m_pDC = new CClientDC(this); //创建 DC ASSERT(m_pDC != NULL); if (!mySetupPixelFormat()) //设定绘图的位图格式,函数下面列出 return; m_hRC = wglCreateContext(m_pDC->m_hDC);//创建 RC wglMakeCurrent(m_pDC->m_hDC, m_hRC); //RC 与当前 DC 相关联 } //CClient * m_pDC; HGLRC m_hRC; 是 CTestView 的成员变量 BOOL CTestView::mySetupPixelFormat() {//我们暂时不管格式的具体内容是什么,以后熟悉了再改变格式 static PIXELFORMATDESCRIPTOR pfd = { sizeof(PIXELFORMATDESCRIPTOR), // size of this pfd 1, // version number PFD_DRAW_TO_WINDOW | // support window PFD_SUPPORT_OPENGL | // support OpenGL PFD_DOUBLEBUFFER, // double buffered PFD_TYPE_RGBA, // RGBA type 24, // 24-bit color depth 0, 0, 0, 0, 0, 0, // color bits ignored 0, // no alpha buffer 0, // shift bit ignored 0, // no accumulation buffer 0, 0, 0, 0, // accum bits ignored 32, // 32-bit z-buffer 0, // no stencil buffer 0, // no auxiliary buffer PFD_MAIN_PLANE, // main layer 0, // reserved 0, 0, 0 // layer masks ignored }; int pixelformat; if ( (pixelformat = ChoosePixelFormat(m_pDC->m_hDC, &pfd)) == 0 ) { MessageBox("ChoosePixelFormat failed"); return FALSE; } if (SetPixelFormat(m_pDC->m_hDC, pixelformat, &pfd) == FALSE) { MessageBox("SetPixelFormat failed"); return FALSE; } return TRUE; } 3. 处理 OnDestroy() void CTestView::OnDestroy() { wglMakeCurrent(m_pDC->m_hDC,NULL); //释放与m_hDC 对应的 RC wglDeleteContext(m_hRC); //删除 RC if (m_pDC) delete m_pDC; //删除当前 View 拥有的 DC CView::OnDestroy(); } 4. 处理 OnEraseBkgnd() BOOL CTestView::OnEraseBkgnd(CDC* pDC) { // TODO: Add your message handler code here and/or call default // return CView::OnEraseBkgnd(pDC); //把这句话注释掉,若不然,Window //会用白色北景来刷新,导致画面闪烁 return TRUE;//只要空返回即可。 } 5. 处理 OnDraw() void CTestView::OnDraw(CDC* pDC) { wglMakeCurrent(m_pDC->m_hDC,m_hRC);//使 RC 与当前 DC 相关联 myDrawScene( ); //具体的绘图函数,在 RC 中绘制 SwapBuffers(m_pDC->m_hDC);//把 RC 中所绘传到当前的 DC 上,从而 //在屏幕上显示 wglMakeCurrent(m_pDC->m_hDC,NULL);//释放 RC,以便其它 DC 进行绘图 } void CTestView::myDrawScene( ) { glClearColor(0.0f,0.0f,0.0f,1.0f);//设置背景颜色为黑色 glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); glPushMatrix(); glTranslated(0.0f,0.0f,-3.0f);//把物体沿(0,0,-1)方向平移 //以便投影时可见。因为缺省的视点在(0,0,0),只有移开 //物体才能可见。 //本例是为了演示平面 Bezier 曲线的,只要作一个旋转 //变换,可更清楚的看到其 3D 效果。 //下面画一条 Bezier 曲线 bezier_curve.myPolygon();//画Bezier曲线的控制多边形 bezier_curve.myDraw(); //CBezierCurve bezier_curve //是 CTestView 的成员变量 //具体的函数见附录 glPopMatrix(); glFlush(); //结束 RC 绘图 return; } 6. 处理 OnSize() void CTestView::OnSize(UINT nType, int cx, int cy) { CView::OnSize(nType, cx, cy); VERIFY(wglMakeCurrent(m_pDC->m_hDC,m_hRC));//确认RC与当前DC关联 w=cx; h=cy; VERIFY(wglMakeCurrent(NULL,NULL));//确认DC释放RC } 7 处理 OnLButtonDown() void CTestView::OnLButtonDown(UINT nFlags, CPoint point) { CView::OnLButtonDown(nFlags, point); if(bezier_curve.m_N>MAX-1) { MessageBox("顶点个数超过了最大数MAX=50"); return; } //以下为坐标变换作准备 GetClientRect(&m_ClientRect);//获取视口区域大小 w=m_ClientRect.right-m_ClientRect.left;//视口宽度 w h=m_ClientRect.bottom-m_ClientRect.top;//视口高度 h //w,h 是CTestView的成员变量 centerx=(m_ClientRect.left+m_ClientRect.right)/2;//中心位置, centery=(m_ClientRect.top+m_ClientRect.bottom)/2;//取之作原点 //centerx,centery 是 CTestView 的成员变量 GLdouble tmpx,tmpy; tmpx=scrx2glx(point.x);//屏幕上点坐标转化为OpenGL画图的规范坐标 tmpy=scry2gly(point.y); bezier_curve.m_Vertex[bezier_curve.m_N].x=tmpx;//加一个顶点 bezier_curve.m_Vertex[bezier_curve.m_N].y=tmpy; bezier_curve.m_N++;//顶点数加一 InvalidateRect(NULL,TRUE);//发送刷新重绘消息 } double CTestView::scrx2glx(int scrx) { return (double)(scrx-centerx)/double(h); } double CTestView::scry2gly(int scry) { } 附录: 1.CBezierCurve 的声明: (BezierCurve.h) class CBezierCurve { public: myPOINT2D m_Vertex[MAX];//控制顶点,以数组存储 //myPOINT2D 是一个存二维点的结构 //成员为Gldouble x,y int m_N; //控制顶点的个数 public: CBezierCurve(); virtual ~CBezierCurve(); void bezier_generation(myPOINT2D P[MAX],int level); //算法的具体实现 void myDraw();//画曲线函数 void myPolygon(); //画控制多边形 }; 2. CBezierCurve 的实现: (BezierCurve.cpp) CBezierCurve::CBezierCurve() { m_N=4; m_Vertex[0].x=-0.5f; m_Vertex[0].y=-0.5f; m_Vertex[1].x=-0.5f; m_Vertex[1].y=0.5f; m_Vertex[2].x=0.5f; m_Vertex[2].y=0.5f; m_Vertex[3].x=0.5f; m_Vertex[3].y=-0.5f; } CBezierCurve::~CBezierCurve() { } void CBezierCurve::myDraw() { bezier_generation(m_Vertex,LEVEL); } void CBezierCurve::bezier_generation(myPOINT2D P[MAX], int level) { //算法的具体描述,请参考相关书本 int i,j; level--; if(level<0)return; if(level==0) { glColor3f(1.0f,1.0f,1.0f); glBegin(GL_LINES); //画出线段 glVertex2d(P[0].x,P[0].y); glVertex2d(P[m_N-1].x,P[m_N-1].y); glEnd();//结束画线段 return; //递归到了最底层,跳出递归 } myPOINT2D Q[MAX],R[MAX]; for(i=0;i { Q.x=P.x; Q.y=P.y; } for(i=1;i<m_N;i++) { R[m_N-i].x=Q[m_N-1].x; R[m_N-i].y=Q[m_N-1].y; for(j=m_N-1;j>=i;j--) { Q[j].x=(Q[j-1].x+Q[j].x)/double(2); Q[j].y=(Q[j-1].y+Q[j].y)/double(2); } } R[0].x=Q[m_N-1].x; R[0].y=Q[m_N-1].y; bezier_generation(Q,level); bezier_generation(R,level); } void CBezierCurve::myPolygon() { glBegin(GL_LINE_STRIP); //画出连线段 glColor3f(0.2f,0.4f,0.4f); for(int i=0;i<m_N;i++) { glVertex2d(m_Vertex.x,m_Vertex.y); } glEnd();//结束画连线段 } OpenGL与DirectX的区别 [编辑本段] OpenGL 只是图形函数库。 DirectX 包含图形, 声音, 输入, 网络等模块。 OpenGL稳定,可跨平台使用。DirectX仅能用于Windows系列平台,包括Windows Mobile/CE系列以及XBOX/XBOX360。 ---------------------------------------------------------------------------------------------- 1995年至1996年,微软实行了一项新计划,以支持在Windows95上运行游戏,目标是把市场扩展到被任天堂和世嘉控制的游戏领域。然而,微软不想用已经在NT上提供的OpenGL技术。微软收购了Rendermorphics,Ltd.并得到他的被称作RealityLab的3D API。经重新整理,微软发布了新的3D API——Direct3D。 微软,推行Direct3D,冻结OpenGL! 微软当时拒绝了在Window95上支持OpenGL。不止如此,微软采取异常手段收回对OpenGL的MCD驱动接口的支持,以致硬件厂商不得不放弃已经进入最后测试的OpenGL驱动。微软的市场部门开始向游戏开发商、硬件厂商、新闻出版机构推销Direct3D,同时排斥OpenGL。 API之战! Silicon Graphics和很多OpenGL用户都依赖OpenGL创新且高性能的技术。但很明显微软打算用Direct3D代替OpenGL,尽管D3D有很多问题而且不能像OpenGL那样被硬件厂商扩展。Silicon Graphics决定在1996 SIGGRAPH会议上作一项演示。演示证明OpenGL至少和D3D一样快,从而驳倒微软的市场论调。因为OpenGL是业界公认标准,比D3D功能丰富,而且图像质量要高一些,所以演示在计算机图形和游戏开发社区导致了激烈论战。 游戏开发者要求OpenGL和D3D站在同等地位! 当技术和市场问题暴露,强烈的支持OpenGL行动开始了。Doom的开发者John Carmack声明拒绝D3D,Chris Hecker在游戏开发杂志上发表了两套API的全面分析,移微软应放弃D3D为结论。游戏开发者先后两次向微软递交请愿书。第一次由56名首席游戏开发者要求微软发行OpenGL MCD驱动,但未成功,因为会让OpenGL与D3D竞争。第二次的公开信由254人签名开始,截止时达到1400人。微软的回答仍是重申旧市场立场。尽管请愿者清楚的要求两套API同等竞争以促进发展,微软却以增加D3D的投资、更加减少OpenGL的投资为回应。 Fahrenheit——D3D与OpenGL的合并? Silicon Graphics,Microsoft, HP,Intel达成协议联合开发下一代3D API——Fahrenheit。但不了了之,因为微软的打算是把OpenGL的技术用到D3D里并且以此之名驱除OpenGL的威胁。(估计 DirectX 8 Graphics即是剩下微软独自开发的Fahrenheit,吸收了OpenGL的很多东西。) OpenGL豪气不减当年! OpenGL依然是唯一能与微软单独控制的D3D对立的API,尽管Silicon Graphics不再以任何微软不能接受的方式推行OpenGL。游戏开发这是独立的,并且很多关键人物在用OpenGL,因此,硬件厂商正努力提高对其支持。D3D仍不能支持高端图像和专业应用,而OpenGL主宰着这些土地。在开放原码社区,Mesa项目正提供独立于微软的OpenGL驱动。 译者注:表面上好像D3D比OpenGL支持更多的功能,其实由于D3D不支持硬件扩展,如硬件全景阴影,硬件渲染顺序无关半透明材质等新技术根本无法使用,而D3D(特指D3D8)本身提供的功能只有一小部分能在使用HAL且硬件不支持时模拟,你要用大量代码分析硬件能力和采取不同策略2023-08-13 07:09:011
vb OpenGL 程序修改
你图片框的AutoRedraw有没有设置成true?2023-08-13 07:09:092
如何在vc++环境下建立OpenGL程序
你说的是MFC还是WIN32??我假设你的编译器是vc++6.01.加入头文件#include <glglut.h>#include <glgl.h>#include <glglaux.h>2.alt+f7在link选项卡添加opengl32.lib glu32.lib glaux.lib就这样了吧。关键不知道你想建立什么项目,这很让人纠结2023-08-13 07:09:173
Delphi中有没有OpenGL现成的控件
GLPanel也能用,下面是源码,给大家共享: unit GLPanel; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls,OpenGL,Printers; type TGLPanel = class(TCustomPanel) private { Private declarations } //DC: HDC; RC: HGLRC; procedure initDC; procedure initGL; procedure PreparePixelFormat(var DC: HDC); protected { Protected declarations } FOnPaint:TNotifyEvent; FOnInit:TNotifyEvent; FOnPreInit:TNotifyEvent; FOnResize:TNotifyEvent; procedure Paint;override; procedure Resize;override; procedure WMDestroy(var Msg: TWMDestroy);message WM_DESTROY; procedure WMCreate(var Msg:TWMCreate); message WM_CREATE; public { Public declarations } DC: HDC; constructor Create(Owner:TComponent);override; procedure SaveToBMPFile(FileName: String); procedure PrintIt; published { Published declarations } property Alignment; property Align; property DragCursor; property DragMode; property Enabled; property ParentFont; property ParentShowHint; property PopupMenu; property ShowHint; property TabOrder; property TabStop; property Visible; property OnClick; property OnDblClick; property OnDragDrop; property OnDragOver; property OnEndDrag; property OnEnter; property OnExit; property OnMouseDown; property OnMouseMove; property OnMouseUp; property OnStartDrag; property OnInit:TNotifyEvent read FOnInit write FOnInit; property OnPreInit:TNotifyEvent read FOnPreInit write FOnPreInit; property OnResize:TNotifyEvent read FOnResize write FOnResize; property OnPaint:TNotifyEvent read FOnPaint write FOnPaint; end; procedure Register; implementation procedure Register; begin RegisterComponents("Samples", [TGLPanel]); end; //--------------------------------------------- constructor TGLPanel.Create; begin inherited; end; //--------------------------------------------- procedure TGLPanel.WMDestroy(var Msg: TWMDestroy); begin wglMakeCurrent(0, 0); wglDeleteContext(RC); ReleaseDC(Handle, DC); end; //--------------------------------------------------- procedure TGLPanel.initDC; begin DC := GetDC(Handle); PreparePixelFormat(DC); end; procedure TGLPanel.initGL; begin glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT); glMatrixMode(GL_PROJECTION); glLoadIdentity; glEnable(GL_LIGHTING); glEnable(GL_LIGHT0); gluPerspective(45.0, self.ClientWidth/self.ClientHeight, 1.0, 500.0); //glOrtho(-1, 1, -1, 1, -1, 50); glMatrixMode(GL_MODELVIEW); glLoadIdentity; glEnable(GL_DEPTH_TEST); glEnable(GL_COLOR_MATERIAL); glShadeModel(GL_SMOOTH); gluLookAt(0, 0, 6, 0, 0, 0, 0, 1, 0); SwapBuffers(DC); end; //--------------------------------------------- procedure TGLPanel.PreparePixelFormat(var DC: HDC); var PFD : TPixelFormatDescriptor; ChosenPixelFormat : Integer; begin FillChar(PFD, SizeOf(TPixelFormatDescriptor), 0); with PFD do begin nSize := SizeOf(TPixelFormatDescriptor); nVersion := 1; dwFlags := PFD_DRAW_TO_WINDOW or PFD_SUPPORT_OPENGL or PFD_DOUBLEBUFFER; iPixelType := PFD_TYPE_RGBA; cColorBits := 16; // 16位颜色 cDepthBits := 32; // 32位深度缓冲 iLayerType := PFD_MAIN_PLANE; { Should be 24, but we must allow for the clunky WKU boxes } end; ChosenPixelFormat := ChoosePixelFormat(DC, @PFD); if ChosenPixelFormat = 0 then Raise Exception.Create("ChoosePixelFormat failed!"); SetPixelFormat(DC, ChosenPixelFormat, @PFD); end; procedure TGLPanel.WMCreate(var Msg:TWMCreate); begin //在这里做初始化工作 //修改DC的象素格式,使之支持OpenGL绘制 initDC; RC := wglCreateContext(DC); if Assigned(FOnInit) then begin if (wglMakeCurrent(DC,RC)=false) then ShowMessage("wglMakeCurrent:" + IntToStr (GetLastError)); FOnInit(self); end; wglMakeCurrent(DC, RC); //初始化GL绘制系统 initGL; end; //--------------------------------------------------------------------------- procedure TGLPanel.Paint; begin //TCustomPanel::Paint(); if Assigned(FOnPaint) then begin wglMakeCurrent(DC,RC); FOnPaint(self); SwapBuffers(DC); end; end; //--------------------------------------------------------------------------- procedure TGLPanel.Resize; begin inherited; if Assigned(FOnResize) then begin wglMakeCurrent(DC,RC); glViewport(0,0,ClientWidth,ClientHeight); FOnResize(self); end; end; procedure TGLPanel.SaveToBMPFile(FileName: String); var BitMap : TBitmap; begin Bitmap:= TBitmap.Create; BitMap.Height := Height; BitMap.Width := Width; BringToFront; Paint; BitMap.Canvas.CopyRect(ClientRect ,Canvas,ClientRect); BitMap.SaveToFile(FileName); //delete BitMap; end; procedure TGLPanel.PrintIt; var Bitmap:TBitMap; XPixelsPerInch,YPixelsPerInch:integer; Rect:TRECT; PrintDlg:TPrintDialog; begin PrintDlg:=TPrintDialog.Create(self); if PrintDlg.Execute then begin BitMap := TBitmap.Create; BitMap.Height:= Height; BitMap.Width := Width; BringToFront; Paint; BitMap.Canvas.CopyRect(ClientRect,Canvas,ClientRect); XPixelsPerInch:=GetDeviceCaps(Printer.Handle,LOGPIXELSX); YPixelsPerInch:=GetDeviceCaps(Printer.Handle,LOGPIXELSY); Rect.left :=round(0.18*XPixelsPerInch); Rect.top :=round(0.18*YPixelsPerInch); //根据需要调整right/bottom可以达到按比例打印或打满整纸等效果 //必要时可使用GetDeviceCaps(Printer.Handle,HORZRES/VERTRES) //查询相关信息 Rect.right :=BitMap.Width+Rect.left; Rect.bottom:=BitMap.Height+Rect.right; Printer.BeginDoc; Printer.Canvas.CopyRect(Rect,BitMap.Canvas,ClientRect); Printer.EndDoc; end; //if(dlg.execute) PrintDlg.Destroy; end; end.2023-08-13 07:10:051
VC++编程问题:实现三维物体顶点的拖动~~~
以下部分程序,完整程序已发到您邮箱,请注意查收/* * This Code Was Created By Jeff Molofee 2000 * A HUGE Thanks To Fredric Echols For Cleaning Up * And Optimizing The Base Code, Making It More Flexible! * If You"ve Found This Code Useful, Please Let Me Know. * Visit My Site At nehe.gamedev.net */#include <windows.h> // Header File For Windows#include <glgl.h> // Header File For The OpenGL32 Library#include <glglu.h> // Header File For The GLu32 Library#include<glglaux.h>#include<glglut.h>HDC hDC=NULL; // Private GDI Device ContextHGLRC hRC=NULL; // Permanent Rendering ContextHWND hWnd=NULL; // Holds Our Window HandleHINSTANCE hInstance; // Holds The Instance Of The Applicationbool keys[256]; // Array Used For The Keyboard Routinebool active=TRUE; // Window Active Flag Set To TRUE By Defaultbool fullscreen=TRUE; // Fullscreen Flag Set To Fullscreen Mode By DefaultGLfloat rtri; // Angle For The Triangle ( NEW )LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); // Declaration For WndProcGLvoid ReSizeGLScene(GLsizei width, GLsizei height) // Resize And Initialize The GL Window{ if (height==0) // Prevent A Divide By Zero By { height=1; // Making Height Equal One } glViewport(0,0,width,height); // Reset The Current Viewport glMatrixMode(GL_PROJECTION); // Select The Projection Matrix glLoadIdentity(); // Reset The Projection Matrix // Calculate The Aspect Ratio Of The Window gluPerspective(45.0f,(GLfloat)width/(GLfloat)height,0.1f,100.0f); glMatrixMode(GL_MODELVIEW); // Select The Modelview Matrix glLoadIdentity(); // Reset The Modelview Matrix}int InitGL(GLvoid) // All Setup For OpenGL Goes Here{ glShadeModel(GL_SMOOTH); // Enable Smooth Shading glClearColor(0.0f, 0.0f, 0.0f, 0.5f); // Black Background glClearDepth(1.0f); // Depth Buffer Setup glEnable(GL_DEPTH_TEST); // Enables Depth Testing glDepthFunc(GL_LEQUAL); // The Type Of Depth Testing To Do return TRUE; // Initialization Went OK}int DrawGLScene(GLvoid) // Here"s Where We Do All The Drawing{ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Clear Screen And Depth Buffer glLoadIdentity(); // Reset The Current Modelview Matrix glTranslatef(0.0f,0.0f,-6.0f); // Move Left 1.5 Units And Into The Screen 6.0 glRotatef(rtri,0.0f,1.0f,0.0f); // Rotate The Triangle On The Y axis ( NEW )/* glBegin(GL_TRIANGLES); // Start Drawing A Triangle glColor3f(1.0f,0.0f,0.0f); // Red glVertex3f( 0.0f, 1.0f, 0.0f); // Top Of Triangle (Front) glColor3f(0.0f,1.0f,0.0f); // Green glVertex3f(-1.0f,-1.0f, 1.0f); // Left Of Triangle (Front) glColor3f(0.0f,0.0f,1.0f); // Blue glVertex3f( 1.0f,-1.0f, 1.0f); // Right Of Triangle (Front) glColor3f(1.0f,0.0f,0.0f); // Red glVertex3f( 0.0f, 1.0f, 0.0f); // Top Of Triangle (Right) glColor3f(0.0f,0.0f,1.0f); // Blue glVertex3f( 1.0f,-1.0f, 1.0f); // Left Of Triangle (Right) glColor3f(0.0f,1.0f,0.0f); // Green glVertex3f( 1.0f,-1.0f, -1.0f); // Right Of Triangle (Right) glColor3f(1.0f,0.0f,0.0f); // Red glVertex3f( 0.0f, 1.0f, 0.0f); // Top Of Triangle (Back) glColor3f(0.0f,1.0f,0.0f); // Green glVertex3f( 1.0f,-1.0f, -1.0f); // Left Of Triangle (Back) glColor3f(0.0f,0.0f,1.0f); // Blue glVertex3f(-1.0f,-1.0f, -1.0f); // Right Of Triangle (Back) glColor3f(1.0f,0.0f,0.0f); // Red glVertex3f( 0.0f, 1.0f, 0.0f); // Top Of Triangle (Left) glColor3f(0.0f,0.0f,1.0f); // Blue glVertex3f(-1.0f,-1.0f,-1.0f); // Left Of Triangle (Left) glColor3f(0.0f,1.0f,0.0f); // Green glVertex3f(-1.0f,-1.0f, 1.0f); // Right Of Triangle (Left) glEnd(); // Done Drawing The Pyramid*/ glBegin(GL_TRIANGLE_FAN); // Start Drawing A Triangle glColor3f(1.0f,0.0f,0.0f); // Red glVertex3f( 0.0f, 1.0f, 0.0f); // Top Of Triangle (Front) glColor3f(0.0f,1.0f,0.0f); // Green glVertex3f(-1.0f,-1.0f, 1.0f); // Left Of Triangle (Front) glColor3f(0.0f,0.0f,1.0f); // Blue glVertex3f( 1.0f,-1.0f, 1.0f); // Right Of Triangle (Front) glColor3f(0.0f,1.0f,0.0f); // Green glVertex3f( 1.0f,-1.0f, -1.0f); // Right Of Triangle (Right) glColor3f(0.0f,0.0f,1.0f); // Blue glVertex3f(-1.0f,-1.0f, -1.0f); // Right Of Triangle (Back) glColor3f(0.0f,1.0f,0.0f); // Green glVertex3f(-1.0f,-1.0f, 1.0f); // Right Of Triangle (Left) glEnd(); // Done Drawing The Pyramid glFlush(); rtri+=0.2f; // Increase The Rotation Variable For The Triangle ( NEW ) return TRUE; // Keep Going}GLvoid KillGLWindow(GLvoid) // Properly Kill The Window{ if (fullscreen) // Are We In Fullscreen Mode? { ChangeDisplaySettings(NULL,0); // If So Switch Back To The Desktop ShowCursor(TRUE); // Show Mouse Pointer } if (hRC) // Do We Have A Rendering Context? { if (!wglMakeCurrent(NULL,NULL)) // Are We Able To Release The DC And RC Contexts? { MessageBox(NULL,L"Release Of DC And RC Failed.",L"SHUTDOWN ERROR",MB_OK | MB_ICONINFORMATION); } if (!wglDeleteContext(hRC)) // Are We Able To Delete The RC? { MessageBox(NULL,L"Release Rendering Context Failed.",L"SHUTDOWN ERROR",MB_OK | MB_ICONINFORMATION); } hRC=NULL; // Set RC To NULL } if (hDC && !ReleaseDC(hWnd,hDC)) // Are We Able To Release The DC { MessageBox(NULL,L"Release Device Context Failed.",L"SHUTDOWN ERROR",MB_OK | MB_ICONINFORMATION); hDC=NULL; // Set DC To NULL } if (hWnd && !DestroyWindow(hWnd)) // Are We Able To Destroy The Window? { MessageBox(NULL,L"Could Not Release hWnd.",L"SHUTDOWN ERROR",MB_OK | MB_ICONINFORMATION); hWnd=NULL; // Set hWnd To NULL } if (!UnregisterClass(L"OpenGL",hInstance)) // Are We Able To Unregister Class { MessageBox(NULL,L"Could Not Unregister Class.",L"SHUTDOWN ERROR",MB_OK | MB_ICONINFORMATION); hInstance=NULL; // Set hInstance To NULL }}/* This Code Creates Our OpenGL Window. Parameters Are: * * title - Title To Appear At The Top Of The Window * * width - Width Of The GL Window Or Fullscreen Mode * * height - Height Of The GL Window Or Fullscreen Mode * * bits - Number Of Bits To Use For Color (8/16/24/32) * * fullscreenflag - Use Fullscreen Mode (TRUE) Or Windowed Mode (FALSE) */ BOOL CreateGLWindow(LPCWSTR title, int width, int height, int bits, bool fullscreenflag){ GLuint PixelFormat; // Holds The Results After Searching For A Match WNDCLASS wc; // Windows Class Structure DWORD dwExStyle; // Window Extended Style DWORD dwStyle; // Window Style RECT WindowRect; // Grabs Rectangle Upper Left / Lower Right Values WindowRect.left=(long)0; // Set Left Value To 0 WindowRect.right=(long)width; // Set Right Value To Requested Width WindowRect.top=(long)0; // Set Top Value To 0 WindowRect.bottom=(long)height; // Set Bottom Value To Requested Height fullscreen=fullscreenflag; // Set The Global Fullscreen Flag hInstance = GetModuleHandle(NULL); // Grab An Instance For Our Window wc.style = CS_HREDRAW | CS_VREDRAW | CS_OWNDC; // Redraw On Size, And Own DC For Window. wc.lpfnWndProc = (WNDPROC) WndProc; // WndProc Handles Messages wc.cbClsExtra = 0; // No Extra Window Data wc.cbWndExtra = 0; // No Extra Window Data wc.hInstance = hInstance; // Set The Instance wc.hIcon = LoadIcon(NULL, IDI_WINLOGO); // Load The Default Icon wc.hCursor = LoadCursor(NULL, IDC_ARROW); // Load The Arrow Pointer wc.hbrBackground = NULL; // No Background Required For GL wc.lpszMenuName = NULL; // We Don"t Want A Menu wc.lpszClassName = L"OpenGL"; // Set The Class Name if (!RegisterClass(&wc)) // Attempt To Register The Window Class { MessageBox(NULL,L"Failed To Register The Window Class.",L"ERROR",MB_OK|MB_ICONEXCLAMATION); return FALSE; // Return FALSE } if (fullscreen) // Attempt Fullscreen Mode? { DEVMODE dmScreenSettings; // Device Mode memset(&dmScreenSettings,0,sizeof(dmScreenSettings)); // Makes Sure Memory"s Cleared dmScreenSettings.dmSize=sizeof(dmScreenSettings); // Size Of The Devmode Structure dmScreenSettings.dmPelsWidth = width; // Selected Screen Width dmScreenSettings.dmPelsHeight = height; // Selected Screen Height dmScreenSettings.dmBitsPerPel = bits; // Selected Bits Per Pixel dmScreenSettings.dmFields=DM_BITSPERPEL|DM_PELSWIDTH|DM_PELSHEIGHT; // Try To Set Selected Mode And Get Results. NOTE: CDS_FULLSCREEN Gets Rid Of Start Bar. if (ChangeDisplaySettings(&dmScreenSettings,CDS_FULLSCREEN)!=DISP_CHANGE_SUCCESSFUL) { // If The Mode Fails, Offer Two Options. Quit Or Use Windowed Mode. if (MessageBox(NULL,L"The Requested Fullscreen Mode Is Not Supported By Your Video Card. Use Windowed Mode Instead?",L"NeHe GL",MB_YESNO|MB_ICONEXCLAMATION)==IDYES) { fullscreen=FALSE; // Windowed Mode Selected. Fullscreen = FALSE } else { // Pop Up A Message Box Letting User Know The Program Is Closing. MessageBox(NULL,L"Program Will Now Close.",L"ERROR",MB_OK|MB_ICONSTOP); return FALSE; // Return FALSE } } } if (fullscreen) // Are We Still In Fullscreen Mode? { dwExStyle=WS_EX_APPWINDOW; // Window Extended Style dwStyle=WS_POPUP; // Windows Style ShowCursor(FALSE); // Hide Mouse Pointer } else { dwExStyle=WS_EX_APPWINDOW | WS_EX_WINDOWEDGE; // Window Extended Style dwStyle=WS_OVERLAPPEDWINDOW; // Windows Style } AdjustWindowRectEx(&WindowRect, dwStyle, FALSE, dwExStyle); // Adjust Window To True Requested Size// Create The Window if (!(hWnd=CreateWindowEx( dwExStyle, // Extended Style For The Window L"OpenGL", // Class Name title, // Window Title dwStyle | // Defined Window Style WS_CLIPSIBLINGS | // Required Window Style WS_CLIPCHILDREN, // Required Window Style 0, 0, // Window Position WindowRect.right-WindowRect.left, // Calculate Window Width WindowRect.bottom-WindowRect.top, // Calculate Window Height NULL, // No Parent Window NULL, // No Menu hInstance, // Instance NULL))) // Dont Pass Anything To WM_CREATE { KillGLWindow(); // Reset The Display MessageBox(NULL,L"Window Creation Error.",L"ERROR",MB_OK|MB_ICONEXCLAMATION); return FALSE; // Return FALSE } static PIXELFORMATDESCRIPTOR pfd= // pfd Tells Windows How We Want Things To Be { sizeof(PIXELFORMATDESCRIPTOR), // Size Of This Pixel Format Descriptor 1, // Version Number PFD_DRAW_TO_WINDOW | // Format Must Support Window PFD_SUPPORT_OPENGL | // Format Must Support OpenGL PFD_DOUBLEBUFFER, // Must Support Double Buffering PFD_TYPE_RGBA, // Request An RGBA Format bits, // Select Our Color Depth 0, 0, 0, 0, 0, 0, // Color Bits Ignored 0, // No Alpha Buffer 0, // Shift Bit Ignored 0, // No Accumulation Buffer 0, 0, 0, 0, // Accumulation Bits Ignored 16, // 16Bit Z-Buffer (Depth Buffer) 0, // No Stencil Buffer 0, // No Auxiliary Buffer PFD_MAIN_PLANE, // Main Drawing Layer 0, // Reserved 0, 0, 0 // Layer Masks Ignored }; if (!(hDC=GetDC(hWnd))) // Did We Get A Device Context? { KillGLWindow(); // Reset The Display MessageBox(NULL,L"Can"t Create A GL Device Context.",L"ERROR",MB_OK|MB_ICONEXCLAMATION); return FALSE; // Return FALSE } if (!(PixelFormat=ChoosePixelFormat(hDC,&pfd))) // Did Windows Find A Matching Pixel Format? { KillGLWindow(); // Reset The Display MessageBox(NULL,L"Can"t Find A Suitable PixelFormat.",L"ERROR",MB_OK|MB_ICONEXCLAMATION); return FALSE; // Return FALSE } if(!SetPixelFormat(hDC,PixelFormat,&pfd)) // Are We Able To Set The Pixel Format? { KillGLWindow(); // Reset The Display MessageBox(NULL,L"Can"t Set The PixelFormat.",L"ERROR",MB_OK|MB_ICONEXCLAMATION); return FALSE; // Return FALSE }2023-08-13 07:10:156
在opengl中编写的程序没有错误,可是就是不显示图形
void CGeneric2View::OnDrawBezierCurve(){ // TODO: 在此添加命令处理程序代码 HWND hWnd=GetSafeHwnd(); HDC hDC=::GetDC(hWnd); wglMakeCurrent(hDC,hglrc); drawb_curve(); wglMakeCurrent(NULL,NULL); SwapBuffers(hDC);}我怎么没有看到HGLRC的赋值过程?wglCreateContext(hDC);2023-08-13 07:10:301
bcd470wgltdd5bju1是不是双循环
是。bcd470wgltdd5bju1是冰箱的型号,在bcd470wgltdd5bju1型号的冰箱中是配备双循环的水冷冰箱的。冰箱是保持低温的一种器具,通过使食物或其他物品保持恒定低温冷态以避免其腐败。2023-08-13 07:10:401
介绍常用的OpenGL的函数(定义+功能)
OpenGL 函数库相关的API有核心库(gl)、实用库(glu)、辅助库(aux)、实用工具库(glut)、窗口库(glx、agl、wgl)和扩展函数库等。从图1可以看出,gl是核心,glu是对gl的部分封装。glx、agl、wgl 是针对不同窗口系统的函数。glut是为跨平台的OpenGL程序的工具包,比aux功能强大。扩展函数库是硬件厂商为实现硬件更新利用OpenGL的扩展机制开发的函数。下面逐一对这些库进行详细介绍。 1.OpenGL核心库 核心库包含有115个函数,函数名的前缀为gl。 这部分函数用于常规的、核心的图形处理。此函数由gl.dll来负责解释执行。由于许多函数可以接收不同数以下几类。据类型的参数,因此派生出来的函数原形多达300多个。 核心库中的函数主要可以分为以下几类函数: (1)绘制基本几何图元的函数。如绘制图元的函数glBegain()、glEnd()、glNormal*()、glVertex*()。 (2)矩阵操作、几何变换和投影变换的函数。如矩阵入栈函数glPushMatrix()、矩阵出栈函数glPopMatrix()、装载矩阵函数glLoadMatrix()、矩阵相乘函数glMultMatrix(),当前矩阵函数 glMatrixMode()和矩阵标准化函数glLoadIdentity(),几何变换函数glTranslate*()、glRotate*()和 glScale*(),投影变换函数glOrtho()、glFrustum()和视口变换函数glViewport()等等。 (3)颜色、光照和材质的函数。如设置颜色模式函数glColor*()、glIndex*(),设置光照效果的函数glLight*() 、glLightModel*()和设置材质效果函数glMaterial()等等。 (4)显示列表函数、主要有创建、结束、生成、删除和调用显示列表的函数glNewList()、 glEndList()、glGenLists()、glCallList()和glDeleteLists()。 (5)纹理映射函数,主要有一维纹理函数glTexImage1D()、二维纹理函数glTexImage2D()、 设置纹理参数、纹理环境和纹理坐标的函数glTexParameter*()、glTexEnv*()和glTetCoord*()等。 (6)特殊效果函数。融合函数glBlendFunc()、反走样函数glHint()和雾化效果glFog*()。 (7)光栅化、象素操作函数。如象素位置glRasterPos*()、线型宽度glLineWidth()、多边形绘制模式glPolygonMode(),读取象素glReadPixel()、复制象素glCopyPixel()等。 (8)选择与反馈函数。主要有渲染模式glRenderMode()、选择缓冲区glSelectBuffer()和反馈缓冲区glFeedbackBuffer()等。 (9)曲线与曲面的绘制函数。生成曲线或曲面的函数glMap*()、glMapGrid*(),求值器的函数glEvalCoord*() glEvalMesh*()。 (10)状态设置与查询函数。主要有glGet*()、glEnable()、glGetError()等。 2.OpenGL实用库The OpenGL Utility Library (GLU) 包含有43个函数,函数名的前缀为glu。 OpenGL提供了强大的但是为数不多的绘图命令,所有较复杂的绘图都必须从点。线、面开始。Glu 为了减轻繁重的编程工作,封装了OpenGL函数,Glu函数通过调用核心库的函数,为开发者提供相对简单的用法,实现一些较为复杂的操作。此函数由 glu.dll来负责解释执行。OpenGL中的核心库和实用库可以在所有的OpenGL平台上运行。 主要包括了以下几种: (1)辅助纹理贴图函数,有gluScaleImage() 、gluBuild1Dmipmaps()、gluBuild2Dmipmaps()。 (2)坐标转换和投影变换函数,定义投影方式函数gluPerspective()、gluOrtho2D() 、gluLookAt(),拾取投影视景体函数gluPickMatrix(),投影矩阵计算gluProject()和 gluUnProject()等等。 (3)多边形镶嵌工具,有gluNewTess()、 gluDeleteTess()、gluTessCallback()、gluBeginPolygon() gluTessVertex()、gluNextContour()、gluEndPolygon()等等。 (4)二次曲面绘制工具,主要有绘制球面、锥面、柱面、圆环面gluNewQuadric()、gluSphere()、gluCylinder()、gluDisk()、gluPartialDisk()、gluDeleteQuadric()等等。 (5)非均匀有理B样条绘制工具,主要用来定义和绘制Nurbs曲线和曲面,包括gluNewNurbsRenderer()、 gluNurbsCurve()、gluBeginSurface()、gluEndSurface()、gluBeginCurve()、 gluNurbsProperty()等函数。 (6)错误反馈工具,获取出错信息的字符串gluErrorString()。 3.OpenGL辅助库 包含有31个函数,函数名前缀为aux。 这部分函数提供窗口管理、输入输出处理以及绘制一些简单三维物体。此函数由glaux.dll来负责解释执行。创建aux库是为了学习和编写 OpenGL程序,它更像是一个用于测试创意的预备基础接管。Aux库在windows实现有很多错误,因此很容易导致频繁的崩溃。在跨平台的编程实例和演示中,aux很大程度上已经被glut库取代。OpenGL中的辅助库不能在所有的OpenGL平台上运行。 辅助库函数主要包括以下几类: (1)窗口初始化和退出函数,auxInitDisplayMode()和auxInitPosition()。 (2)窗口处理和时间输入函数,auxReshapeFunc()、auxKeyFunc()和auxMouseFunc()。 (3)颜色索引装入函数,auxSetOneColor()。 (4)三维物体绘制函数。包括了两种形式网状体和实心体,如绘制立方体auxWireCube()和 auxSolidCube()。这里以网状体为例,长方体auxWireBox()、环形圆纹面auxWireTorus()、圆柱 auxWireCylinder()、二十面体auxWireIcosahedron()、八面体auxWireOctahedron()、四面体 auxWireTetrahedron()、十二面体auxWireDodecahedron()、圆锥体auxWireCone()和茶壶 auxWireTeapot()。 (5)背景过程管理函数auxIdleFunc()。 (6)程序运行函数auxMainLoop()。 4.OpenGL工具库 OpenGL Utility Toolkit 包含大约30多个函数,函数名前缀为glut。 glut是不依赖于窗口平台的OpenGL工具包,由Mark KLilgrad在SGI编写(现在在Nvidia),目的是隐藏不同窗口平台API的复杂度。函数以glut开头,它们作为aux库功能更强的替代品,提供更为复杂的绘制功能,此函数由glut.dll来负责解释执行。由于glut中的窗口管理函数是不依赖于运行环境的,因此OpenGL中的工具库可以在X-Window, Windows NT, OS/2等系统下运行,特别适合于开发不需要复杂界面的OpenGL示例程序。对于有经验的程序员来说,一般先用glut理顺3D图形代码,然后再集成为完整的应用程序。 这部分函数主要包括: (1)窗口操作函数,窗口初始化、窗口大小、窗口位置等函数glutInit() glutInitDisplayMode() glutInitWindowSize() glutInitWindowPosition()等。 (2)回调函数。响应刷新消息、键盘消息、鼠标消息、定时器函数等,GlutDisplayFunc() glutPostRedisplay() glutReshapeFunc() glutTimerFunc() glutKeyboardFunc() glutMouseFunc()。 (3)创建复杂的三维物体。这些和aux库的函数功能相同。创建网状体和实心体。如glutSolidSphere()、glutWireSphere()等。在此不再叙述。 (4)菜单函数。创建添加菜单的函数GlutCreateMenu()、glutSetMenu()、glutAddMenuEntry()、glutAddSubMenu() 和glutAttachMenu()。 (5)程序运行函数,glutMainLoop()。2023-08-13 07:10:501
电脑高手进~~~~~~~~~~~~~~~~~~~~
用瑞星卡卡扫一下进程项,然后上报可疑的,很快会得到答复的。2023-08-13 07:10:5915
opengl在windows系统下编程,如何实现在窗口外绘图?
二、生成OpenGL程序的基本步骤和条件 本文将给出一个例子,这个例子是一个用OpenGL显示图像的Windows程序,通过这个程序我们也可以知道用OpenGL编程的基本要求。我们知道,GDI是通过设备句柄(Device Context以下简称"DC")来绘图,而OpenGL则需要绘制环境(Rendering Context,以下简称"RC")。每一个GDI命令需要传给它一个DC,与GDI不同,OpenGL使用当前绘制环境(RC)。一旦在一个线程中指定了一个当前RC,所有在此线程中的OpenGL命令都使用相同的当前RC。虽然在单一窗口中可以使用多个RC,但在单一线程中只有一个当前RC。本例将首先产生一个OpenGL RC并使之成为当前RC,分为三个步骤:设置窗口像素格式;产生RC;设置为当前RC。 一、首先创建工程 用AppWizard产生一个EXE文件,选择工程目录,并在工程名字中输入"GLSample一",保持其他的不变;第一步、选单文档(SDI);第二步、不支持数据库;第三步、不支持OLE;第四步、不选中浮动工具条、开始状态条、打印和预览支持、帮助支持的复选框(选中也可以,本文只是说明最小要求),选中三维控制(三D Controls);第五步、选中产生源文件注释并使用MFC为共享动态库;第六步、保持缺省选择。按Finish结束,工程创建完毕。 二、将此工程所需的OpenGL文件 和库加入到工程中 在工程菜单中,选择"Build"下的"Settings"项。单击"Link"标签,选择"General"目录,在Object/Library Modules的编辑框中输入"OpenGL三二.lib glu三二.lib glaux.lib"(注意,输入双引号中的内容,各个库用空格分开;否则会出现链接错误),选择"OK"结束。然后打开文件"stdafx.h",将下列语句插入到文件中(划下划线的语句为所加语句): #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers #include // MFC core and standard components #include // MFC extensions #include #include #ifndef _AFX_NO_AFXCMN_SUPPORT #include // MFC support for Windows 95 Common Controls #endif // _AFX_NO_AFXCMN_SUPPORT 三、改写OnPreCreate函数并给视 类添加成员函数和成员变量 OpenGL需要窗口加上WS_CLIPCHILDREN(创建父窗口使用的Windows风格,用于重绘时裁剪子窗口所覆盖的区域)和 WS_CLIPSIBLINGS(创建子窗口使用的Windows风格,用于重绘时剪裁其他子窗口所覆盖的区域)风格。把OnPreCreate改写成如下所示: BOOL CGLSample一View::PreCr- eateWindow(CREATESTRUCT& cs) { cs.style |= (WS_CLIPCHI- LDREN | WS_CLIPSIBLINGS); return CView::PreCreate- Window(cs); } 产生一个RC的第一步是定义窗口的像素格式。像素格式决定窗口着所显示的图形在内存中是如何表示的。由像素格式控制的参数包括:颜色深度、缓冲模式和所支持的绘画接口。在下面将有对这些参数的设置。我们先在CGLSample一View的类中添加一个保护型的成员函数BOOL SetWindowPixel-Format(HDC hDC)(用鼠标右键添加),并编辑其中的代码,见程序一。 BOOL CGLSample一View::SetWindowPixelFormat(HDC hDC) { PIXELFORMATDESCRIPTOR pixelDesc; pixelDesc.nSize = sizeof(PIXELFORMATDESCRIPTOR); pixelDesc.nVersion = 一; pixelDesc.dwFlags = PFD_DRAW_TO_WINDOW | PFD_DRAW_TO_BITMAP | PFD_SUPPORT_OpenGL | PFD_SUPPORT_GDI | PFD_STEREO_DONTCARE; pixelDesc.iPixelType = PFD_TYPE_RGBA; pixelDesc.cColorBits = 三二; pixelDesc.cRedBits = 吧; pixelDesc.cRedShift = 一陆; pixelDesc.cGreenBits = 吧; pixelDesc.cGreenShift = 吧; pixelDesc.cBlueBits = 吧; pixelDesc.cBlueShift = 0; pixelDesc.cAlphaBits = 0; pixelDesc.cAlphaShift = 0; pixelDesc.cAccumBits = 陆四; pixelDesc.cAccumRedBits = 一陆; pixelDesc.cAccumGreenBits = 一陆; pixelDesc.cAccumBlueBits = 一陆; pixelDesc.cAccumAlphaBits = 0; pixelDesc.cDepthBits = 三二; pixelDesc.cStencilBits = 吧; pixelDesc.cAuxBuffers = 0; pixelDesc.iLayerType = PFD_MAIN_PLANE; pixelDesc.bReserved = 0; pixelDesc.dwLayerMask = 0; pixelDesc.dwVisibleMask = 0; pixelDesc.dwDamageMask = 0; m_GLPixelIndex = ChoosePixelFormat( hDC, &pixelDesc); if (m_GLPixelIndex==0) // Lets choose a default index. { m_GLPixelIndex = 一; if (DescribePixelFormat(hDC, m_GLPixelIndex, sizeof(PIXELFORMATDESCRIPTOR), &pixelDesc)==0) { return FALSE; } } if (SetPixelFormat( hDC, m_GLPixelIndex, &pixelDesc)==FALSE) { return FALSE; } return TRUE; } 接着用鼠标右键在CGLSample一View中添加保护型的成员变量: int m_GLPixelIndex; 四、用ClassWizard添加WM_CREATE的消息处理函数OnCreate 添加OnCreate函数后如程序一所示。 至此,OpenGL工程的基本框架就建好了。但如果你现在运行此工程,则它与一般的MFC程序看起来没有什么两样。 5、代码解释 现在我们可以看一看Describe-PixelFormat提供有哪几种像素格式,并对代码进行一些解释: PIXELFORMATDESCRIPTOR包括了定义像素格式的全部信息。 DWFlags定义了与像素格式兼容的设备和接口。 通常的OpenGL发行版本并不包括所有的标志(flag)。wFlags能接收以下标志: PFD_DRAW_TO_WINDOW 使之能在窗口或者其他设备窗口画图; PFD_DRAW_TO_BITMAP 使之能在内存中的位图画图; PFD_SUPPORT_GDI 使之能调用GDI函数(注:如果指定了PFD_DOUBLEBUFFER,这个选项将无效); PFD_SUPPORT_OpenGL 使之能调用OpenGL函数; PFD_GENERIC_FORMAT 假如这种象素格式由Windows GDI函数库或由第三方硬件设备驱动程序支持,则需指定这一项; PFD_NEED_PALETTE 告诉缓冲区是否需要调色板,本程序假设颜色是使用二四或 三二位色,并且不会覆盖调色板; PFD_NEED_SYSTEM_PALETTE 这个标志指明缓冲区是否把系统调色板当作它自身调色板的一部分; PFD_DOUBLEBUFFER 指明使用了双缓冲区(注:GDI不能在使用了双缓冲区的窗口中画图); PFD_STEREO 指明左、右缓冲区是否按立体图像来组织。 PixelType定义显示颜色的方法。PFD_TYPE_RGBA意味着每一位(bit)组代表着红、绿、蓝各分量的值。PFD_TYPE_COLORINDEX 意味着每一位组代表着在彩色查找表中的索引值。本例都是采用了PFD_TYPE_RGBA方式。 ● cColorBits定义了指定一个颜色的位数。对RGBA来说,位数是在颜色中红、绿、蓝各分量所占的位数。对颜色的索引值来说,指的是表中的颜色数。 ● cRedBits、cGreenBits、cBlue-Bits、cAlphaBits用来表明各相应分量所使用的位数。 ● cRedShift、cGreenShift、cBlue-Shift、cAlphaShift用来表明各分量从颜色开始的偏移量所占的位数。 一旦初始化完我们的结构,我们就想知道与要求最相近的系统象素格式。我们可以这样做: m_hGLPixelIndex = ChoosePixelFormat(hDC, &pixelDesc); ChoosePixelFormat接受两个参数:一个是hDc,另一个是一个指向PIXELFORMATDESCRIPTOR结构的指针&pixelDesc;该函数返回此像素格式的索引值。如果返回0则表示失败。假如函数失败,我们只是把索引值设为一并用DescribePixelFormat得到像素格式描述。假如你申请一个没得到支持的像素格式,则Choose-PixelFormat将会返回与你要求的像素格式最接近的一个值。一旦我们得到一个像素格式的索引值和相应的描述,我们就可以调用SetPixelFormat设置像素格式,并且只需设置一次。 现在像素格式已经设定,我们下一步工作是产生绘制环境(RC)并使之成为当前绘制环境。在CGLSample一View中加入一个保护型的成员函数BOOL CreateViewGLContext(HDC hDC),使之如下所示: BOOL CGLSample一View::CreateView GLContext(HDC hDC) { m_hGLContext = wglCreate Context(hDC);//用当前DC产生绘制环境(RC) if (m_hGLContext == NULL) { return FALSE; } if (wglMakeCurrent(hDC, m_hGLContext)==FALSE) { return FALSE; } return TRUE; } 并加入一个保护型的成员变量HGLRC m_hGLContext;HGLRC是一个指向rendering context的句柄。 在OnCreate函数中调用此函数: int CGLSample一View::OnCreate (LPCREATESTRUCT lpCreateStruct) { if (CView::OnCreate(lpCreateS truct) == -一) return -一; HWND hWnd = GetSafeHwnd(); HD2023-08-13 07:11:241
求比较坦克世界ru251与m4190
金币车与银币车,很明显银币收益与经验收益(还有成员经验),也很明显说说轻坦的两大法宝,激动与隐蔽隐蔽251高,190隐蔽和美国斗牛狗差不多机动251功率大,履带差,急速差不多(80and72)金币车总体肯定比银币车差点(收益除外)2023-08-13 07:11:422
OpenGl是什么?
OpenGL三维图形标准是由AT&T公司UNIX软件实验室、IBM 、DEC、SUN、HP、Microsoft和SGI等多家公司在GL图形库标准的基础 上联合推出的开放式图形库,它使在微机上实现三维真实 感图形的生成与显示成为可能。由于OpenGL是开放的图形标 准,用户原先在UNIX下开发的OpenGL图形软件很容易移植到微 机上的WindowsNT/95上。笔者在VisualC++4.1(以下简称VC)集 成环境下,开发了基于OpenGL的三维真实感图形应用程序,现 介绍如下。 微机上的OpenGL开发环境 基于OpenGL标准开发的应用程序必须运行于32位Windows 平台下,如WindowsNT或Windows95环境;而且运行时还需有动态 链接库OpenGL32.DLL、Glu32.DLL,这两个文件在安装WindowsNT时已 自动装载到C:WINNTSYSTEM32目录下(这里假定用户将WindowsNT 安装在C盘上);而对于使用Windows95平台的用户,则需手工将 两个动态库复制到Windows95目录的SYSTEM子目录中。安装了 WindowsNT/95和VC4.1后,用户就具备了基于OpenGL开发三维图 形软件的基本条件。 OpenGL程序设计的基本步骤 1.OpenGL在WindowsNT下的运行机制 OpenGL工作在客户机/服务器模式下,当客户方(即基 于OpenGL标准开发的应用程序)向服务器(OpenGL核心机制)发出 命令时,由服务器负责解释这些命令。通常情况下,客户方 和服务器是运行在同一台微机上的。由于OpenGL的运行机制 是客户机/服务器模式,这使得用户能够十分方便地在网 络环境下使用OpenGL,OpenGL在WindowsNT上的这种实现方式通常 称为网络透明性。 OpenGL的图形库函数封装在动态链接库OpenGL32.DLL中, 客户机中的所有OpenGL函数调用,都被传送到服务器上,由 WinSrv.DLL实现功能,再将经过处理的指令发送到Win32设备驱 动接口(DDI),从而实现在计算机屏幕上产生图像。 若使用OpenGL图形加速卡,则上述机制中将添加两个 驱动器:OpenGL可装载客户模块(OpenGLICD)将安装在客户端;硬 件指定DDI将安装在服务器端,与WinDDI同一级别。 2.OpenGL的库函数 开发基于OpenGL的应用程序,必须先了解OpenGL的库函 数。OpenGL函数命令方式十分有规律,每个库函数均有前缀gl 、glu、aux,分别表示该函数属于OpenGL基本库、实用库或辅助 库。WindowsNT下的OpenGL包含了100多个核心函数,均以gl作为前 缀,同时还支持另外四类函数: OpenGL实用库函数:43个,以glu作为前缀; OpenGL辅助库函数:31个,以aux作为前缀; Windows专用库函数(WGL):6个,以wgl作为前缀; Win32API函数(WGL):5个,无前缀。 OpenGL的115个核心函数提供了最基本的功能,可以实 现三维建模、建立光照模型、反走样、纹理映射等;OpenGL实 用库函数在核心函数的上一层,这类函数提供了简单的调 用方法,其实质是调用核心函数,目的是减轻开发者的编程 工作量;OpenGL辅助库函数是一些特殊的函数,可以供初学者 熟悉OpenGL的编程机制,然而使用辅助库函数的应用程序只 能在Win32环境中使用,可移植性较差,所以开发者应尽量避 免使用辅助库函数;Windows专用库函数(WGL)主要针对WindowsNT /95环境的OpenGL函数调用;Win32API函数用于处理像素存储格 式、双缓存等函数调用。 3.VC环境下基于OpenGL的编程步骤 下面介绍在VC环境中建立基于Opeetting菜单选项,在Link栏的Lib输入域中 添加openg132.lib、glu32.lib,若需使用OpenGL的辅助库函数,则还 需添加glaux.lib。 (3)选择View/ClassWizard菜单选项,打开MFC对话框,在 ClassName栏中选择CMyTestView类,进行以下操作: 选择WM_CREATE消息,鼠标单击EditCode,将OpenGL初始化代码 添加到OnCreate()函数中: /*定义像素存储格式*/ PIXELFORMATDESCRIPTORpfd= { sizeof(PIXELFORMATDESCRIPTOR), 1, PFD_DRAW_TO_WINDOW|PFD_SUPPORT_OPENGL, PFD_TYPE_RGBA, 24, 0,0,0,0,0,0, 0,0,0,0,0,0,0 32, 0,0, PFD_MAIN_PLANE, 0, 0,0,0, } CCLientdc(this); intpixelFormat=ChoosePixelFormat(dc.m_hDC,&pfd); BOOLsuccess=SetPixelFormat(dc.m_hDC,pixelFormat,&pfd); m_hRC=wglCreateContext(dc.m_hDC); 选择WM_DESTORY消息,在OnDestory()中添加以下代码: wglDeleteContext(m_hRC); 在MyTestView.cpp中,将以下代码添加到PreCreateWindows()函数中: cs.style|=WS_CLIPCHILDREN|WS_CLIPSIBLINGS; OpenGL只对WS_CLIPCHILDREN|WS_CLIPSIBLINGS类型窗口有效; 在MyTestView.cpp中,将以下代码添加到OnDraw()函数中: wglMakeCurrent(pDC->m_hDC,m_hRC); DrawScene();//用户自定义函数,用于绘制三维场景; wglMakeCurrent(pDC->m_hDC,NULL); 在MyTestView.cpp中,添加成员函数DrawScene(): voidCMyTestView::DrawScene() {/*绘制三维场景*/} (4)在MyTestView.h中包含以下头文件并添加类成员说明: #include #include #include 在CTestView类中的protected:段中添加成员变量声明: HGLRCm_hRC; 同时添加成员函数声明: DrawScene(); 这样,一个基于OpenGL标准的程序框架已经构造好,用 户只需在DrawScene()函数中添加程序代码即可。 建立三维实体模型 三维实体建模是整个图形学的基础,要生成高逼真 度的图像,首先要生成高质量的三维实体模型。 OpenGL中提供了十几个生成三维实体模型的辅助库函 数,这些函数均以aux作为函数名的前缀。简单的模型,如球 体、立方体、圆柱等可以使用这些辅助函数来实现,如 auxWireSphere(GLdoubleradius)(绘制一半径为radius的网状球体)。 但是这些函数难以满足建立复杂三维实体的需要,所以用 户可以通过其它建模工具(如3DS等)来辅助建立三维实体模 型数据库。笔者在三维实体的建模过程中采用3DS提供的2D Shape、3DLofter和3DEditor进行模型的编辑,最后通过将模型数 据以DXF文件格式输出存储供应用程序使用。 真实感图形的绘制 1.定义光照模型和材质 (1)光源。OpenGL提供了一系列建立光照模型的库函 数,使用户可以十分方便地在三维场景中建立所需的光照 模型。OpenGL中的光照模型由环境光(AmbientLight)、漫射光 (DiffuseLight)、镜面反射光(SpecularLight)等组成,同时还可设 置光线衰减因子来模拟真实的光源效果。 例如,定义一个黄色光源如下: GlfloatLight_position[]={1.0,1.0,1.0,0.0,}; GlfloatLight_diffuse[]={1.0,1.0,0.0,1.0,}; glLightfv(GL_LIGHT0,GL_POSTTION,light_position);//定义光源位置 glLightfv(GL_LIGHT0,GL_DIFFUSE,light_diffuse);//定义光源漫射光 光源必须经过启动后才会影响三维场景中的实体,可以通过以下指令使光源有效:< glEnable(LIGHTING);//启动光照模型; glEnable(GL_LIGHT0);//使光源GL_LIGHT0有效; OpenGL中一共可以定义GL_LIGHT0~GL_LIGHT7八个光源。 (2)材质。OpenGL中的材质是指构成三维实体的材料在 光照模型中对于红、绿、蓝三原色的反射率。与光源的定义 类似,材质的定义分为环境、漫射、镜面反射成分,另外还 有镜面高光指数、辐射成分等。通过对三维实体的材质定义 可以大大提高应用程序所绘制的三维场景的逼真程度。例 如: /*设置材质的反射成分*/ GLfloatmat_ambient[]={0.8,0.8,0.8,1.0}; GLfloatmat_diffuse[]={0.8,0.0,0.8,1.0};/*紫色*/ GLfloatmat_specular[]={1.0,0.0,1.0,1.0};/*镜面高光亮紫色*/ GLfloatmat_shiness[]={100.0};/*高光指数*/ glMaterialfv(GL_FRONT,GL_AMBIENT,mat_ambient);/*定义环境光反射率*/ glMaterialfv(GL_FRONT,GL_DIFFUSE,mat_diffuse);/*定义漫射光反射率*/ glMaterialfv(GL_FRONT,GL_SPECULAR,mat_specular);/*定义镜面光反射率*/ glMaterialfv(GL_FRONT,GL_SHINESS,mat_shiness);/*定义高光指数*/ (3)材质RGB值与光源RGB值的关系。OpenGL中材质的颜色 与光照模型中光源的颜色含义略有不同。对于光源,R、G、B 值表示三原色在光源中所占有的比率;而对于材质定义,R、 G、B的值表示具有这种材质属性的物体对于三原色的反射 比率,场景中物体所呈现的颜色与光照模型、材质定义都相 关。例如,若定义的光源颜色是(Lr,Lg,Lb)=(1.0,1.0,1.0)(白光), 物体的材质颜色定义为(Mr,Mg,Mb)=(0.0,0.0,0.8),则最终到达人 眼的物体颜色应当是(Lr*Mr,Lg*Mg,Lb*Mb)=(0.0,0.0,0.8)(蓝色)。 2.读取三维模型数据 为了绘制三维实体,我们首先必须将预先生成的三 维实体模型从三维实体模型库中读出。下图描述了读取三 维实体模型的流程。 3.三维实体绘制 由于3DS的DXF文件中对于三维实体的描述是采用三角 形面片逼近的方法,而在OpenGL函数库中,提供了绘制三角形 面片的方法,所以为三维实体的绘制提供了方便。以下提供 了绘制三角形面片的方法: glBegin(TRANGLES);//定义三角形绘制开始 glVertexf((GLfloat)x1,(GLfloat)y1,(GLfloat)z1);//第一个顶点 glVertexf((GLfloat)x2,(GLfloat)y2,(GLfloat)z2);//第二个顶点 glVertexf((GLfloat)x3,(GLfloat)y3,(GLfloat)z3);//第三个顶点 glEnd();//绘制结束 为了提高三维实时动画的显示速度,我们利用了 OpenGL库中的显示列表(DisplayList)的功能,将三维场景中的实 体分别定义为单独的显示列表,预先生成三维实体。在图形 显示时,只需调用所需的显示列表即可显示相应的三维实 体,而不需要重新计算实体在场景中的坐标,避免了大量的 浮点运算。在调用显示列表前所作的旋转、平移、光照、材 质的设定都将影响显示列表中的三维实体的显示效果。具 体实现算法如下: for(ObjectNo=0;ObjectNo<实体个数;ObjectNo++) { glNewList(ObjectNo,GL_COMPILE);//创建第ObjectNo个实体的显示列表 for(FacOpenGL是近几年发展起来的一个性能卓越的三维图形标准,它是在SGI等多家 世界闻名的计算机公司的倡导下,以SGI的GL三维图形库为基础制定的一个通 用共享的开放式三维图形标准。目前,包括Microsoft、SGI、IBM、DEC、SUN、 HP等大公司都采用了OpenGL做为三维图形标准,许多软件厂商也纷纷以OpenGL 为基础开发出自己的产品,其中比较著名的产品包括动画制作软件Soft Image 和3D Studio MAX、仿真软件Open Inventor、VR软件World Tool Kit、CAM软 件ProEngineer、GIS软ARC/INFO等等。值得一提的是,随着Microsoft公司在 Windows NT和最新的Windows 95中提供了OpenGL标准及OpenGL三维图形加速卡 (如北京黎明电子技术公司的AGC-3D系列三维图形加速卡)的推出,OpenGL将 在微机中有广泛地应用,同时也为广大用户提供了在微机上使用以前只能在高 性能图形工作站上运行的各种软件的机会。 OpenGL实际上是一个开放的三维图形软件包,它独立于窗口系统和操作系统, 以它为基础开发的应用程序可以十分方便地在各种平台间移植;OpenGL可以 与Visual C++紧密接口,便于实现机械手的有关计算和图形算法,可保证算 法的正确性和可靠性;OpenGL使用简便,效率高。它具有七大功能: 1) 建模 OpenGL图形库除了提供基本的点、线、多边形的绘制函数外,还提 供了复杂的三维物体(球、锥、多面体、茶壶等)以及复杂曲线和曲面 (如Bezier、Nurbs等曲线或曲面)绘制函数。 2) 变换 OpenGL图形库的变换包括基本变换和投影变换。基本变换有平移、 旋转、变比镜像四种变换,投影变换有平行投影(又称正射投影)和透 视投影两种变换。其变换方法与机器人运动学中的坐标变换方法完全一 致,有利于减少算法的运行时间,提高三维图形的显示速度。 3) 颜色模式设置 OpenGL颜色模式有两种,即RGBA模式和颜色索引(Color Index)。 4) 光照和材质设置 OpenGL光有辐射光(Emitted Light)、环境光 (Ambient Light)、漫反射光(Diffuse Light)和镜面光(Specular Light)。 材质是用光反射率来表示。场景(Scene)中物体最终反映到人眼的颜色是光 的红绿蓝分量与材质红绿蓝分量的反射率相乘后形成的颜色。 5) 纹理映射(Texture Mapping) 利用OpenGL纹理映射功能可以十分逼真 地表达物体表面细节。 6) 位图显示和图象增强 图象功能除了基本的拷贝和像素读写外,还提供 融合(Blending)、反走样(Antialiasing)和雾(fog)的特殊图象效果处理。 以上三条可是被仿真物更具真实感,增强图形显示的效果。 7) 双缓存(Double Buffering)动画 双缓存即前台缓存和后台缓存,简而言 之,后台缓存计算场景、生成画面,前台缓存显示后台缓存已画好的画面。 此外,利用OpenGL还能实现深度暗示(Depth Cue)、运动模糊(Motion Blur)等 特殊效果。从而实现了消隐算法。2023-08-13 07:12:031
openGL 是什么软件
分类: 电脑/网络 >> 软件 解析: OpenGL三维图形标准是由AT&T公司UNIX软件实验室、IBM 、DEC、SUN、HP、Microsoft和SGI等多家公司在GL图形库标准的基础 上联合推出的开放式图形库,它使在微机上实现三维真实 感图形的生成与显示成为可能。由于OpenGL是开放的图形标 准,用户原先在UNIX下开发的OpenGL图形软件很容易移植到微 机上的WindowsNT/95上。笔者在VisualC++4.1(以下简称VC)集 成环境下,开发了基于OpenGL的三维真实感图形应用程序,现 介绍如下。 微机上的OpenGL开发环境 基于OpenGL标准开发的应用程序必须运行于32位Windows 平台下,如WindowsNT或Windows95环境;而且运行时还需有动态 链接库OpenGL32.DLL、Glu32.DLL,这两个文件在安装WindowsNT时已 自动装载到C:WINNTSYSTEM32目录下(这里假定用户将WindowsNT 安装在C盘上);而对于使用Windows95平台的用户,则需手工将 两个动态库复制到Windows95目录的SYSTEM子目录中。安装了 WindowsNT/95和VC4.1后,用户就具备了基于OpenGL开发三维图 形软件的基本条件。 OpenGL程序设计的基本步骤 1.OpenGL在WindowsNT下的运行机制 OpenGL工作在客户机/服务器模式下,当客户方(即基 于OpenGL标准开发的应用程序)向服务器(OpenGL核心机制)发出 命令时,由服务器负责解释这些命令。通常情况下,客户方 和服务器是运行在同一台微机上的。由于OpenGL的运行机制 是客户机/服务器模式,这使得用户能够十分方便地在网 络环境下使用OpenGL,OpenGL在WindowsNT上的这种实现方式通常 称为网络透明性。 OpenGL的图形库函数封装在动态链接库OpenGL32.DLL中, 客户机中的所有OpenGL函数调用,都被传送到服务器上,由 WinSrv.DLL实现功能,再将经过处理的指令发送到Win32设备驱 动接口(DDI),从而实现在计算机屏幕上产生图像。 若使用OpenGL图形加速卡,则上述机制中将添加两个 驱动器:OpenGL可装载客户模块(OpenGLICD)将安装在客户端;硬 件指定DDI将安装在服务器端,与WinDDI同一级别。 2.OpenGL的库函数 开发基于OpenGL的应用程序,必须先了解OpenGL的库函 数。OpenGL函数命令方式十分有规律,每个库函数均有前缀gl 、glu、aux,分别表示该函数属于OpenGL基本库、实用库或辅助 库。WindowsNT下的OpenGL包含了100多个核心函数,均以gl作为前 缀,同时还支持另外四类函数: OpenGL实用库函数:43个,以glu作为前缀; OpenGL辅助库函数:31个,以aux作为前缀; Windows专用库函数(WGL):6个,以wgl作为前缀; Win32API函数(WGL):5个,无前缀。 OpenGL的115个核心函数提供了最基本的功能,可以实 现三维建模、建立光照模型、反走样、纹理映射等;OpenGL实 用库函数在核心函数的上一层,这类函数提供了简单的调 用方法,其实质是调用核心函数,目的是减轻开发者的编程 工作量;OpenGL辅助库函数是一些特殊的函数,可以供初学者 熟悉OpenGL的编程机制,然而使用辅助库函数的应用程序只 能在Win32环境中使用,可移植性较差,所以开发者应尽量避 免使用辅助库函数;Windows专用库函数(WGL)主要针对WindowsNT /95环境的OpenGL函数调用;Win32API函数用于处理像素存储格 式、双缓存等函数调用。 3.VC环境下基于OpenGL的编程步骤 下面介绍在VC环境中建立基于Opeetting菜单选项,在Link栏的Lib输入域中 添加openg132.lib、glu32.lib,若需使用OpenGL的辅助库函数,则还 需添加glaux.lib。 (3)选择View/ClassWizard菜单选项,打开MFC对话框,在 ClassName栏中选择CMyTestView类,进行以下操作: 选择WM_CREATE消息,鼠标单击EditCode,将OpenGL初始化代码 添加到OnCreate()函数中: /*定义像素存储格式*/ PIXELFORMATDESCRIPTORpfd= { sizeof(PIXELFORMATDESCRIPTOR), 1, PFD_DRAW_TO_WINDOW|PFD_SUPPORT_OPENGL, PFD_TYPE_RGBA, 24, 0,0,0,0,0,0, 0,0,0,0,0,0,0 32, 0,0, PFD_MAIN_PLANE, 0, 0,0,0, } CCLientdc(this); intpixelFormat=ChoosePixelFormat(dc.m_hDC,&pfd); BOOLsuccess=SetPixelFormat(dc.m_hDC,pixelFormat,&pfd); m_hRC=wglCreateContext(dc.m_hDC); 选择WM_DESTORY消息,在OnDestory()中添加以下代码: wglDeleteContext(m_hRC); 在MyTestView.cpp中,将以下代码添加到PreCreateWindows()函数中: cs.style|=WS_CLIPCHILDREN|WS_CLIPSIBLINGS; OpenGL只对WS_CLIPCHILDREN|WS_CLIPSIBLINGS类型窗口有效; 在MyTestView.cpp中,将以下代码添加到OnDraw()函数中: wglMakeCurrent(pDC->m_hDC,m_hRC); DrawScene();//用户自定义函数,用于绘制三维场景; wglMakeCurrent(pDC->m_hDC,NULL); 在MyTestView.cpp中,添加成员函数DrawScene(): voidCMyTestView::DrawScene() {/*绘制三维场景*/} (4)在MyTestView.h中包含以下头文件并添加类成员说明: #include #include #include 在CTestView类中的protected:段中添加成员变量声明: HGLRCm_hRC; 同时添加成员函数声明: DrawScene(); 这样,一个基于OpenGL标准的程序框架已经构造好,用 户只需在DrawScene()函数中添加程序代码即可。 建立三维实体模型 三维实体建模是整个图形学的基础,要生成高逼真 度的图像,首先要生成高质量的三维实体模型。 OpenGL中提供了十几个生成三维实体模型的辅助库函 数,这些函数均以aux作为函数名的前缀。简单的模型,如球 体、立方体、圆柱等可以使用这些辅助函数来实现,如 auxWireSphere(GLdoubleradius)(绘制一半径为radius的网状球体)。 但是这些函数难以满足建立复杂三维实体的需要,所以用 户可以通过其它建模工具(如3DS等)来辅助建立三维实体模 型数据库。笔者在三维实体的建模过程中采用3DS提供的2D Shape、3DLofter和3DEditor进行模型的编辑,最后通过将模型数 据以DXF文件格式输出存储供应用程序使用。 真实感图形的绘制 1.定义光照模型和材质 (1)光源。OpenGL提供了一系列建立光照模型的库函 数,使用户可以十分方便地在三维场景中建立所需的光照 模型。OpenGL中的光照模型由环境光(AmbientLight)、漫射光 (DiffuseLight)、镜面反射光(SpecularLight)等组成,同时还可设 置光线衰减因子来模拟真实的光源效果。 例如,定义一个黄色光源如下: GlfloatLight_position[]={1.0,1.0,1.0,0.0,}; GlfloatLight_diffuse[]={1.0,1.0,0.0,1.0,}; glLightfv(GL_LIGHT0,GL_POSTTION,light_position);//定义光源位置 glLightfv(GL_LIGHT0,GL_DIFFUSE,light_diffuse);//定义光源漫射光 光源必须经过启动后才会影响三维场景中的实体,可以通过以下指令使光源有效:< glEnable(LIGHTING);//启动光照模型; glEnable(GL_LIGHT0);//使光源GL_LIGHT0有效; OpenGL中一共可以定义GL_LIGHT0~GL_LIGHT7八个光源。 (2)材质。OpenGL中的材质是指构成三维实体的材料在 光照模型中对于红、绿、蓝三原色的反射率。与光源的定义 类似,材质的定义分为环境、漫射、镜面反射成分,另外还 有镜面高光指数、辐射成分等。通过对三维实体的材质定义 可以大大提高应用程序所绘制的三维场景的逼真程度。例 如: /*设置材质的反射成分*/ GLfloatmat_ambient[]={0.8,0.8,0.8,1.0}; GLfloatmat_diffuse[]={0.8,0.0,0.8,1.0};/*紫色*/ GLfloatmat_specular[]={1.0,0.0,1.0,1.0};/*镜面高光亮紫色*/ GLfloatmat_shiness[]={100.0};/*高光指数*/ glMaterialfv(GL_FRONT,GL_AMBIENT,mat_ambient);/*定义环境光反射率*/ glMaterialfv(GL_FRONT,GL_DIFFUSE,mat_diffuse);/*定义漫射光反射率*/ glMaterialfv(GL_FRONT,GL_SPECULAR,mat_specular);/*定义镜面光反射率*/ glMaterialfv(GL_FRONT,GL_SHINESS,mat_shiness);/*定义高光指数*/ (3)材质RGB值与光源RGB值的关系。OpenGL中材质的颜色 与光照模型中光源的颜色含义略有不同。对于光源,R、G、B 值表示三原色在光源中所占有的比率;而对于材质定义,R、 G、B的值表示具有这种材质属性的物体对于三原色的反射 比率,场景中物体所呈现的颜色与光照模型、材质定义都相 关。例如,若定义的光源颜色是(Lr,Lg,Lb)=(1.0,1.0,1.0)(白光), 物体的材质颜色定义为(Mr,Mg,Mb)=(0.0,0.0,0.8),则最终到达人 眼的物体颜色应当是(Lr*Mr,Lg*Mg,Lb*Mb)=(0.0,0.0,0.8)(蓝色)。 2.读取三维模型数据 为了绘制三维实体,我们首先必须将预先生成的三 维实体模型从三维实体模型库中读出。下图描述了读取三 维实体模型的流程。 3.三维实体绘制 由于3DS的DXF文件中对于三维实体的描述是采用三角 形面片逼近的方法,而在OpenGL函数库中,提供了绘制三角形 面片的方法,所以为三维实体的绘制提供了方便。以下提供 了绘制三角形面片的方法: glBegin(TRANGLES);//定义三角形绘制开始 glVertexf((GLfloat)x1,(GLfloat)y1,(GLfloat)z1);//第一个顶点 glVertexf((GLfloat)x2,(GLfloat)y2,(GLfloat)z2);//第二个顶点 glVertexf((GLfloat)x3,(GLfloat)y3,(GLfloat)z3);//第三个顶点 glEnd();//绘制结束 为了提高三维实时动画的显示速度,我们利用了 OpenGL库中的显示列表(DisplayList)的功能,将三维场景中的实 体分别定义为单独的显示列表,预先生成三维实体。在图形 显示时,只需调用所需的显示列表即可显示相应的三维实 体,而不需要重新计算实体在场景中的坐标,避免了大量的 浮点运算。在调用显示列表前所作的旋转、平移、光照、材 质的设定都将影响显示列表中的三维实体的显示效果。具 体实现算法如下: for(ObjectNo=0;ObjectNo<实体个数;ObjectNo++) { glNewList(ObjectNo,GL_COMPILE);//创建第ObjectNo个实体的显示列表 for(Fac2023-08-13 07:12:111
OPENGL是什么?
OpenGL三维图形标准是由AT&T公司UNIX软件实验室、IBM 、DEC、SUN、HP、Microsoft和SGI等多家公司在GL图形库标准的基础 上联合推出的开放式图形库,它使在微机上实现三维真实 感图形的生成与显示成为可能。由于OpenGL是开放的图形标 准,用户原先在UNIX下开发的OpenGL图形软件很容易移植到微 机上的WindowsNT/95上。笔者在VisualC++4.1(以下简称VC)集 成环境下,开发了基于OpenGL的三维真实感图形应用程序,现 介绍如下。 微机上的OpenGL开发环境 基于OpenGL标准开发的应用程序必须运行于32位Windows 平台下,如WindowsNT或Windows95环境;而且运行时还需有动态 链接库OpenGL32.DLL、Glu32.DLL,这两个文件在安装WindowsNT时已 自动装载到C:WINNTSYSTEM32目录下(这里假定用户将WindowsNT 安装在C盘上);而对于使用Windows95平台的用户,则需手工将 两个动态库复制到Windows95目录的SYSTEM子目录中。安装了 WindowsNT/95和VC4.1后,用户就具备了基于OpenGL开发三维图 形软件的基本条件。 OpenGL程序设计的基本步骤 1.OpenGL在WindowsNT下的运行机制 OpenGL工作在客户机/服务器模式下,当客户方(即基 于OpenGL标准开发的应用程序)向服务器(OpenGL核心机制)发出 命令时,由服务器负责解释这些命令。通常情况下,客户方 和服务器是运行在同一台微机上的。由于OpenGL的运行机制 是客户机/服务器模式,这使得用户能够十分方便地在网 络环境下使用OpenGL,OpenGL在WindowsNT上的这种实现方式通常 称为网络透明性。 OpenGL的图形库函数封装在动态链接库OpenGL32.DLL中, 客户机中的所有OpenGL函数调用,都被传送到服务器上,由 WinSrv.DLL实现功能,再将经过处理的指令发送到Win32设备驱 动接口(DDI),从而实现在计算机屏幕上产生图像。 若使用OpenGL图形加速卡,则上述机制中将添加两个 驱动器:OpenGL可装载客户模块(OpenGLICD)将安装在客户端;硬 件指定DDI将安装在服务器端,与WinDDI同一级别。 2.OpenGL的库函数 开发基于OpenGL的应用程序,必须先了解OpenGL的库函 数。OpenGL函数命令方式十分有规律,每个库函数均有前缀gl 、glu、aux,分别表示该函数属于OpenGL基本库、实用库或辅助 库。WindowsNT下的OpenGL包含了100多个核心函数,均以gl作为前 缀,同时还支持另外四类函数: OpenGL实用库函数:43个,以glu作为前缀; OpenGL辅助库函数:31个,以aux作为前缀; Windows专用库函数(WGL):6个,以wgl作为前缀; Win32API函数(WGL):5个,无前缀。 OpenGL的115个核心函数提供了最基本的功能,可以实 现三维建模、建立光照模型、反走样、纹理映射等;OpenGL实 用库函数在核心函数的上一层,这类函数提供了简单的调 用方法,其实质是调用核心函数,目的是减轻开发者的编程 工作量;OpenGL辅助库函数是一些特殊的函数,可以供初学者 熟悉OpenGL的编程机制,然而使用辅助库函数的应用程序只 能在Win32环境中使用,可移植性较差,所以开发者应尽量避 免使用辅助库函数;Windows专用库函数(WGL)主要针对WindowsNT /95环境的OpenGL函数调用;Win32API函数用于处理像素存储格 式、双缓存等函数调用。 3.VC环境下基于OpenGL的编程步骤 下面介绍在VC环境中建立基于Opeetting菜单选项,在Link栏的Lib输入域中 添加openg132.lib、glu32.lib,若需使用OpenGL的辅助库函数,则还 需添加glaux.lib。 (3)选择View/ClassWizard菜单选项,打开MFC对话框,在 ClassName栏中选择CMyTestView类,进行以下操作: 选择WM_CREATE消息,鼠标单击EditCode,将OpenGL初始化代码 添加到OnCreate()函数中: /*定义像素存储格式*/ PIXELFORMATDESCRIPTORpfd= { sizeof(PIXELFORMATDESCRIPTOR), 1, PFD_DRAW_TO_WINDOW|PFD_SUPPORT_OPENGL, PFD_TYPE_RGBA, 24, 0,0,0,0,0,0, 0,0,0,0,0,0,0 32, 0,0, PFD_MAIN_PLANE, 0, 0,0,0, } CCLientdc(this); intpixelFormat=ChoosePixelFormat(dc.m_hDC,&pfd); BOOLsuccess=SetPixelFormat(dc.m_hDC,pixelFormat,&pfd); m_hRC=wglCreateContext(dc.m_hDC); 选择WM_DESTORY消息,在OnDestory()中添加以下代码: wglDeleteContext(m_hRC); 在MyTestView.cpp中,将以下代码添加到PreCreateWindows()函数中: cs.style|=WS_CLIPCHILDREN|WS_CLIPSIBLINGS; OpenGL只对WS_CLIPCHILDREN|WS_CLIPSIBLINGS类型窗口有效; 在MyTestView.cpp中,将以下代码添加到OnDraw()函数中: wglMakeCurrent(pDC->m_hDC,m_hRC); DrawScene();//用户自定义函数,用于绘制三维场景; wglMakeCurrent(pDC->m_hDC,NULL); 在MyTestView.cpp中,添加成员函数DrawScene(): voidCMyTestView::DrawScene() {/*绘制三维场景*/} (4)在MyTestView.h中包含以下头文件并添加类成员说明: #include #include #include 在CTestView类中的protected:段中添加成员变量声明: HGLRCm_hRC; 同时添加成员函数声明: DrawScene(); 这样,一个基于OpenGL标准的程序框架已经构造好,用 户只需在DrawScene()函数中添加程序代码即可。 建立三维实体模型 三维实体建模是整个图形学的基础,要生成高逼真 度的图像,首先要生成高质量的三维实体模型。 OpenGL中提供了十几个生成三维实体模型的辅助库函 数,这些函数均以aux作为函数名的前缀。简单的模型,如球 体、立方体、圆柱等可以使用这些辅助函数来实现,如 auxWireSphere(GLdoubleradius)(绘制一半径为radius的网状球体)。 但是这些函数难以满足建立复杂三维实体的需要,所以用 户可以通过其它建模工具(如3DS等)来辅助建立三维实体模 型数据库。笔者在三维实体的建模过程中采用3DS提供的2D Shape、3DLofter和3DEditor进行模型的编辑,最后通过将模型数 据以DXF文件格式输出存储供应用程序使用。 真实感图形的绘制 1.定义光照模型和材质 (1)光源。OpenGL提供了一系列建立光照模型的库函 数,使用户可以十分方便地在三维场景中建立所需的光照 模型。OpenGL中的光照模型由环境光(AmbientLight)、漫射光 (DiffuseLight)、镜面反射光(SpecularLight)等组成,同时还可设 置光线衰减因子来模拟真实的光源效果。 例如,定义一个黄色光源如下: GlfloatLight_position[]={1.0,1.0,1.0,0.0,}; GlfloatLight_diffuse[]={1.0,1.0,0.0,1.0,}; glLightfv(GL_LIGHT0,GL_POSTTION,light_position);//定义光源位置 glLightfv(GL_LIGHT0,GL_DIFFUSE,light_diffuse);//定义光源漫射光 光源必须经过启动后才会影响三维场景中的实体,可以通过以下指令使光源有效:< glEnable(LIGHTING);//启动光照模型; glEnable(GL_LIGHT0);//使光源GL_LIGHT0有效; OpenGL中一共可以定义GL_LIGHT0~GL_LIGHT7八个光源。 (2)材质。OpenGL中的材质是指构成三维实体的材料在 光照模型中对于红、绿、蓝三原色的反射率。与光源的定义 类似,材质的定义分为环境、漫射、镜面反射成分,另外还 有镜面高光指数、辐射成分等。通过对三维实体的材质定义 可以大大提高应用程序所绘制的三维场景的逼真程度。例 如: /*设置材质的反射成分*/ GLfloatmat_ambient[]={0.8,0.8,0.8,1.0}; GLfloatmat_diffuse[]={0.8,0.0,0.8,1.0};/*紫色*/ GLfloatmat_specular[]={1.0,0.0,1.0,1.0};/*镜面高光亮紫色*/ GLfloatmat_shiness[]={100.0};/*高光指数*/ glMaterialfv(GL_FRONT,GL_AMBIENT,mat_ambient);/*定义环境光反射率*/ glMaterialfv(GL_FRONT,GL_DIFFUSE,mat_diffuse);/*定义漫射光反射率*/ glMaterialfv(GL_FRONT,GL_SPECULAR,mat_specular);/*定义镜面光反射率*/ glMaterialfv(GL_FRONT,GL_SHINESS,mat_shiness);/*定义高光指数*/ (3)材质RGB值与光源RGB值的关系。OpenGL中材质的颜色 与光照模型中光源的颜色含义略有不同。对于光源,R、G、B 值表示三原色在光源中所占有的比率;而对于材质定义,R、 G、B的值表示具有这种材质属性的物体对于三原色的反射 比率,场景中物体所呈现的颜色与光照模型、材质定义都相 关。例如,若定义的光源颜色是(Lr,Lg,Lb)=(1.0,1.0,1.0)(白光), 物体的材质颜色定义为(Mr,Mg,Mb)=(0.0,0.0,0.8),则最终到达人 眼的物体颜色应当是(Lr*Mr,Lg*Mg,Lb*Mb)=(0.0,0.0,0.8)(蓝色)。 2.读取三维模型数据 为了绘制三维实体,我们首先必须将预先生成的三 维实体模型从三维实体模型库中读出。下图描述了读取三 维实体模型的流程。 3.三维实体绘制 由于3DS的DXF文件中对于三维实体的描述是采用三角 形面片逼近的方法,而在OpenGL函数库中,提供了绘制三角形 面片的方法,所以为三维实体的绘制提供了方便。以下提供 了绘制三角形面片的方法: glBegin(TRANGLES);//定义三角形绘制开始 glVertexf((GLfloat)x1,(GLfloat)y1,(GLfloat)z1);//第一个顶点 glVertexf((GLfloat)x2,(GLfloat)y2,(GLfloat)z2);//第二个顶点 glVertexf((GLfloat)x3,(GLfloat)y3,(GLfloat)z3);//第三个顶点 glEnd();//绘制结束 为了提高三维实时动画的显示速度,我们利用了 OpenGL库中的显示列表(DisplayList)的功能,将三维场景中的实 体分别定义为单独的显示列表,预先生成三维实体。在图形 显示时,只需调用所需的显示列表即可显示相应的三维实 体,而不需要重新计算实体在场景中的坐标,避免了大量的 浮点运算。在调用显示列表前所作的旋转、平移、光照、材 质的设定都将影响显示列表中的三维实体的显示效果。具 体实现算法如下: for(ObjectNo=0;ObjectNo<实体个数;ObjectNo++) { glNewList(ObjectNo,GL_COMPILE);//创建第ObjectNo个实体的显示列表 for(Fac OpenGL是近几年发展起来的一个性能卓越的三维图形标准,它是在SGI等多家 世界闻名的计算机公司的倡导下,以SGI的GL三维图形库为基础制定的一个通 用共享的开放式三维图形标准。目前,包括Microsoft、SGI、IBM、DEC、SUN、 HP等大公司都采用了OpenGL做为三维图形标准,许多软件厂商也纷纷以OpenGL 为基础开发出自己的产品,其中比较著名的产品包括动画制作软件Soft Image 和3D Studio MAX、仿真软件Open Inventor、VR软件World Tool Kit、CAM软 件ProEngineer、GIS软ARC/INFO等等。值得一提的是,随着Microsoft公司在 Windows NT和最新的Windows 95中提供了OpenGL标准及OpenGL三维图形加速卡 (如北京黎明电子技术公司的AGC-3D系列三维图形加速卡)的推出,OpenGL将 在微机中有广泛地应用,同时也为广大用户提供了在微机上使用以前只能在高 性能图形工作站上运行的各种软件的机会。 OpenGL实际上是一个开放的三维图形软件包,它独立于窗口系统和操作系统, 以它为基础开发的应用程序可以十分方便地在各种平台间移植;OpenGL可以 与Visual C++紧密接口,便于实现机械手的有关计算和图形算法,可保证算 法的正确性和可靠性;OpenGL使用简便,效率高。它具有七大功能: 1) 建模 OpenGL图形库除了提供基本的点、线、多边形的绘制函数外,还提 供了复杂的三维物体(球、锥、多面体、茶壶等)以及复杂曲线和曲面 (如Bezier、Nurbs等曲线或曲面)绘制函数。 2) 变换 OpenGL图形库的变换包括基本变换和投影变换。基本变换有平移、 旋转、变比镜像四种变换,投影变换有平行投影(又称正射投影)和透 视投影两种变换。其变换方法与机器人运动学中的坐标变换方法完全一 致,有利于减少算法的运行时间,提高三维图形的显示速度。 3) 颜色模式设置 OpenGL颜色模式有两种,即RGBA模式和颜色索引(Color Index)。 4) 光照和材质设置 OpenGL光有辐射光(Emitted Light)、环境光 (Ambient Light)、漫反射光(Diffuse Light)和镜面光(Specular Light)。 材质是用光反射率来表示。场景(Scene)中物体最终反映到人眼的颜色是光 的红绿蓝分量与材质红绿蓝分量的反射率相乘后形成的颜色。 5) 纹理映射(Texture Mapping) 利用OpenGL纹理映射功能可以十分逼真 地表达物体表面细节。 6) 位图显示和图象增强 图象功能除了基本的拷贝和像素读写外,还提供 融合(Blending)、反走样(Antialiasing)和雾(fog)的特殊图象效果处理。 以上三条可是被仿真物更具真实感,增强图形显示的效果。 7) 双缓存(Double Buffering)动画 双缓存即前台缓存和后台缓存,简而言 之,后台缓存计算场景、生成画面,前台缓存显示后台缓存已画好的画面。 此外,利用OpenGL还能实现深度暗示(Depth Cue)、运动模糊(Motion Blur)等 特殊效果。从而实现了消隐算法。2023-08-13 07:12:181
DOOM3问题
把你的翻译了一下1700兆赫英特尔CPU的MMX公司与上证所和支持 SSE2256 MB系统内存32 MB的视频内存Winsock的初始化主机名:b79a6c7f2350498IP为:169.254.242.146的IP:122.90.39.78厄运使用的SIMD处理MMX公司与上证所和支持 SSE2启用冲洗至零模式启用Denormals,是零模式初始化文件系统------ ------当前的搜索路径:电子邮件: DOOM3/base电子邮件:占有率,基地 pak004.pk4(5137文件)电子邮件:占有率,基地 pak003.pk4(4676文件)电子邮件:占有率,基地 pak002.pk4(6120文件)电子邮件:占有率,基地 pak001.pk4(8972文件)电子邮件:占有率,基地 pak000.pk4(2698文件)电子邮件:占有率,基地 game00.pk4(2张)游戏的DLL:白0x0:0x0文件系统初始化。------------------------------------------- -----初始化Decls-------------------------------------- -------初始化renderSystem使用ARB的renderSystemrenderSystem初始化。--------------------------------------4966字符串读取字符串/ english.lang无法打开日志文件execing editor.cfgexecing default.cfgexecing DoomConfig.cfg不能Exec的autoexec.cfg4966字符串读取字符串/ english.lang-----初始化声音系统------音响系统初始化。------------------------------------------- ----- R_InitOpenGL初始化OpenGL的子系统注册窗口类...假冒注册窗口类......初始化清肝...调用 LoadLibrary("opengl32"):成功找不到进程内地址:wglGetExtensionsStringARB找不到进程内地址:wglSwapIntervalEXT找不到进程内地址:wglGetPixelFormatAttribivARB找不到进程内地址:wglGetPixelFormatAttribfvARB找不到进程内地址:wglChoosePixelFormatARB找不到进程内地址:wglCreatePbufferARB找不到进程内地址:wglGetPbufferDCARB找不到进程内地址:wglReleasePbufferDCARB找不到进程内地址:wglDestroyPbufferARB找不到进程内地址:wglQueryPbufferARB找不到进程内地址:wglBindTexImageARB找不到进程内地址:wglReleaseTexImageARB找不到进程内地址:wglSetPbufferAttribARB...调用的CDS:确定...创建窗口@ 0,0(1024 × 768)初始化OpenGL驱动...越来越直流:成功...企图用立体声... PIXELFORMAT 7选定...创造吉尔方面:成功...决策方面电流:成功找不到进程内地址:wglGetExtensionsStringARB找不到进程内地址:wglSwapIntervalEXT找不到进程内地址:wglGetPixelFormatAttribivARB找不到进程内地址:wglGetPixelFormatAttribfvARB找不到进程内地址:wglChoosePixelFormatARB找不到进程内地址:wglCreatePbufferARB找不到进程内地址:wglGetPbufferDCARB找不到进程内地址:wglReleasePbufferDCARB找不到进程内地址:wglDestroyPbufferARB找不到进程内地址:wglQueryPbufferARB找不到进程内地址:wglBindTexImageARB不知道你装好没有你的是什么版本的 是3个cd的么完了之后可以安个免cd补丁不知道能不能帮到你2023-08-13 07:12:261
齿轮油泵十 大品牌排 行榜?
1. 上海阳光泵业制造有限公司上海阳光泵业制造有限公司是国内一家著名的集研制、开发、生产、销售、服务于一体的水泵大型多元化企业, 是国内久负盛名的生产水泵企业之一。同样也被斯坦福、马拉松、凯捷利等知名电机生产供应商认定为高信誉合作伙伴。先进的研发与设计及规模性生产,使得瑞营可以满足所有行业的应急用电需求。“服务到永远”、“为您解决电力供应不足问题”是我们永久的企业理念。 2.山东神力渣浆泵科技有限公司山东神力渣浆泵科技有限公司(原山东博山渣浆泵厂)地处风景秀丽的“中国泵业名城”——淄博市博山区,始建于1968年,是国内最早的专业渣浆泵生产企业。主导产品为“神力”牌渣浆泵、液下渣浆泵、潜水渣浆泵、真空泵、抽芯机系列和“鲁魁牌”水煤气发生炉系列。经过四十多年的发展,目前公司已发展成长为占地面积9.7万平方米,厂房面积4.3万平方米,下设三个现代化生产厂区、一个技术研发中心,集科研、开发、生产、销售于一体的企业。3. 河北天泽水泵有限公司河北天泽水泵有限公司是国家机电部水泵定点生产厂家,也是华北工业水泵主要生产厂家之一。具有几十年设计、制造的丰富经验,产品质量稳定,性能可靠,畅销国内外。天泽水泵 先后取得了河北省优质产品、名牌产品、优秀生产厂家等荣誉称号,并率先于1999年通过了ISO9001国际质量体系认证,为公司的生产,发展奠定了坚实的基础。 河北天泽水泵是集设计、开发、制造、销售、服务于一体,主营:多级泵及配件、管道泵、热水泵、排污泵、化工泵、渣浆泵、耐腐蚀、不锈钢泵、管道泵、化工泵、纸浆泵、离心泵、清水泵、液下泵、污水泵等20个系列64个品种1100多个规格型号的各类水泵,年产万余台,产品广泛应用于化工、稀土、农药、石油、电镀、冶炼、电子等领域, 大批产品替代进口,畅销全国31个省市和自治区,并在全国建立了26个分支结构,巩固了健全的销售服务网络。4. 济南泉祥水泵设备有限公司 xylem赛莱默水泵,鹤见水泵,flygt飞力水泵,lowara不锈钢泵是广州科澍环保设备有限公司的主营水泵品牌,水泵产品种类多,型号丰富,价格空间广阔,售后无忧,同时为xylem赛莱默水泵,鹤见水泵做售后服务,水泵维修,检修,零配件更换等。5. 郑州金元冶金设备有限公司郑州金元冶金设备有限公司是一家集科研、工贸为一体的股份制企业,它坐落在中国著名铝都—郑州市上街区南一公里处的南郊段,南依嵩山,北邻黄河,西有古都洛阳,东有宋都开封,开落高速公路和国道310都从这里经过,环境优美,地理位置得天独厚。公司注册资本为100万人民币。公司主营业务为:渣浆泵,泥浆泵,砂浆泵,污水泵,灰浆泵等杂质泵的研发,生产与销售。 自 2003年 5月创办以来,我们本着诚信经营的原则,积极进取,勇于开拓,经过多年的努力拼搏,完成年产值约1500 万元。 LZB、LZ2H系列杂质泵是我公司采用两相流理论开发的新一代高效 节能耐磨杂质泵,适用于输送所含固体颗粒的物料浆体。固液混合浆体的最大重量浓度为:灰浆(煤浆)40%,矿浆(重介)60%,根据工矿可串联使用。6.上海石保水泵制造有限公司上海石保水泵制造有限公司是国家机电部指定的水泵生产厂家,也是华东工业水泵厂家之一。我公司是专业生产工业水泵的企业,已有多年的水泵生产历史。我公司具有十几年设计、制造的丰富经验,产品质量稳定,性能可靠,畅销国内外。上海石保水泵制造有限公司主要生产的水泵产品有压滤机专用泵,渣浆泵,FSB氟塑料化工泵,多级泵,纸浆泵,污水泵,清水泵,水泵配件,机械密封等十多个系列,上百种规格型号。上海石保水泵制造有限公司现有职工50余人,其中10%是工程技术人员。产品的开发设计和工艺编制全部采用CAD新技术。我公司建有国内大型的测试精度达到ISO3555级精度的渣浆泵站,主要研究泵的运行性能机械损耗、抗磨蚀材料及新产品的开发。拥有严格的质量控制体系,在各个车间设有质量检查站,在关键的流程设有专人负责监查控制。7. 河北宏强泵业有限公司河北宏强泵业有限公司是国家生产工业水泵的专业性企业,公司有多年的生产经验,良好的管理体系和质量保证体系,公司现有员工500余人,高,中级专业人员70余人,拥有各种生产设备100余台,固定资产2800万元,厂区面积3.7万平方米,建筑面积2.5万平方米。 我公司拥有雄厚的生产技术力量,完善的生产保障、质量保证监督体系和专业型精神队伍。公司年生产水泵1万余台(套),各种配件1500多吨,是科研、生产、经营为一体的生产实体。 宏强主要生产:D、DA卧式多级离心泵,S、SH双吸泵,LXL纸浆泵,AH、HH、ZJ渣浆泵,ZJL、SP、FY液下渣浆泵,PNJB衬胶泵,PN、PNL泥浆泵、YW液下泵,PW、PWL污水泵,DL、LG立式多级离心泵,GC、DG多级锅炉给水泵,ISZ、ISG管道泵直连泵,IS、B、BA清水泵,IH、AFB化工泵,NWL、WDL、WGL立式污水泵,Y、AY离心油泵等各类水泵及配件. 8. 永嘉县慧泉泵业制造有限公司永嘉县慧泉泵业制造有限公司是一家国内专业从事多级泵,集研究、开发、销售为一体的现代化企业。拥有一批高素质、具有丰富经验专业技术、管理团队人员。本公司采用世界先进的CFD流体力学专业内流畅分析软件CAE有限元分析、并辅以PROE和CIMATRON等三维软件设计,经过多道特殊设备加工和成品检测,研制了轰动全国的冲压不锈钢多级泵QDL、QDLF、CDLF等系列产品。现在公司研制的新一代HQDL便拆式轻型不锈钢多级离心泵,配置了专利产品HQ-12、HQ-18免维护集装式机械密封,其在锅炉冷热水循环、高层建筑供水消防、工业水处理、石油化工等各行业中广泛使用,其寿命、效率能源等各项指标都达到或超过国际水平。 9.开宇泵业本厂主要产品有:QW系列潜水排污泵、QSZ潜水渣浆泵、JYQW自动搅匀排污泵、JGQW切割型排污泵、GAK系列自动耦合装置、IS、ISG、DL、DA1、D、SH、LG等系列单极、多级离心式清水泵、XBD系列消防泵等各种水泵及渣浆泵、真空泵、给水设备。 产品工艺先进、性能可靠、质量优良,水泵性能均达到国际标准B级精度。10. 石家庄市新亚水泵制造有限公司石家庄市新亚水泵制造有限公司是泵类产品的专业制造厂商,拥有近二十年的研发、生产、销售各种潜水电泵的经验。产品采用德国里茨公司的技术,设计先进,效率高、耗电低,尤其产品的质量极为稳定,各方面性能在业内均处于领先地位。近二十年来,我公司的产品以畅销全国三十多个省市地区,并可根据用户需求定做特殊型号产品,深受用户好评。我公司主要生产工矿产品系列200JQA80、250JQA80、250JQC140;里茨技术6699、6613、6618、6620、6715。QJ系列:100QJ、125QJ、150QJ、175QJ、200QJ、250QJ、300QJ、350QJ。流量:由5m3/h-1000m3/h,扬程:5-1000m以下潜水电泵,广泛用于农田灌溉、城市供水和工矿企业用水,是提取地下深井、河流水和水库水的理想工具。2023-08-13 07:12:341
wkl 是什么意思 和炎亚纶有关的
台湾是注音,没有g,亚纶哥哥的名字在注音里是wkl2023-08-13 07:12:423
卧式离心泵品牌排行榜前十名?
1. 上海阳光泵业制造有限公司上海阳光泵业制造有限公司是国内一家著名的集研制、开发、生产、销售、服务于一体的水泵大型多元化企业, 是国内久负盛名的生产水泵企业之一。同样也被斯坦福、马拉松、凯捷利等知名电机生产供应商认定为高信誉合作伙伴。先进的研发与设计及规模性生产,使得瑞营可以满足所有行业的应急用电需求。“服务到永远”、“为您解决电力供应不足问题”是我们永久的企业理念。 2.山东神力渣浆泵科技有限公司山东神力渣浆泵科技有限公司(原山东博山渣浆泵厂)地处风景秀丽的“中国泵业名城”——淄博市博山区,始建于1968年,是国内最早的专业渣浆泵生产企业。主导产品为“神力”牌渣浆泵、液下渣浆泵、潜水渣浆泵、真空泵、抽芯机系列和“鲁魁牌”水煤气发生炉系列。经过四十多年的发展,目前公司已发展成长为占地面积9.7万平方米,厂房面积4.3万平方米,下设三个现代化生产厂区、一个技术研发中心,集科研、开发、生产、销售于一体的企业。3. 河北天泽水泵有限公司河北天泽水泵有限公司是国家机电部水泵定点生产厂家,也是华北工业水泵主要生产厂家之一。具有几十年设计、制造的丰富经验,产品质量稳定,性能可靠,畅销国内外。天泽水泵 先后取得了河北省优质产品、名牌产品、优秀生产厂家等荣誉称号,并率先于1999年通过了ISO9001国际质量体系认证,为公司的生产,发展奠定了坚实的基础。 河北天泽水泵是集设计、开发、制造、销售、服务于一体,主营:多级泵及配件、管道泵、热水泵、排污泵、化工泵、渣浆泵、耐腐蚀、不锈钢泵、管道泵、化工泵、纸浆泵、离心泵、清水泵、液下泵、污水泵等20个系列64个品种1100多个规格型号的各类水泵,年产万余台,产品广泛应用于化工、稀土、农药、石油、电镀、冶炼、电子等领域, 大批产品替代进口,畅销全国31个省市和自治区,并在全国建立了26个分支结构,巩固了健全的销售服务网络。4. 济南泉祥水泵设备有限公司 xylem赛莱默水泵,鹤见水泵,flygt飞力水泵,lowara不锈钢泵是广州科澍环保设备有限公司的主营水泵品牌,水泵产品种类多,型号丰富,价格空间广阔,售后无忧,同时为xylem赛莱默水泵,鹤见水泵做售后服务,水泵维修,检修,零配件更换等。5. 郑州金元冶金设备有限公司郑州金元冶金设备有限公司是一家集科研、工贸为一体的股份制企业,它坐落在中国著名铝都—郑州市上街区南一公里处的南郊段,南依嵩山,北邻黄河,西有古都洛阳,东有宋都开封,开落高速公路和国道310都从这里经过,环境优美,地理位置得天独厚。公司注册资本为100万人民币。公司主营业务为:渣浆泵,泥浆泵,砂浆泵,污水泵,灰浆泵等杂质泵的研发,生产与销售。 自 2003年 5月创办以来,我们本着诚信经营的原则,积极进取,勇于开拓,经过多年的努力拼搏,完成年产值约1500 万元。 LZB、LZ2H系列杂质泵是我公司采用两相流理论开发的新一代高效 节能耐磨杂质泵,适用于输送所含固体颗粒的物料浆体。固液混合浆体的最大重量浓度为:灰浆(煤浆)40%,矿浆(重介)60%,根据工矿可串联使用。6.上海石保水泵制造有限公司上海石保水泵制造有限公司是国家机电部指定的水泵生产厂家,也是华东工业水泵厂家之一。我公司是专业生产工业水泵的企业,已有多年的水泵生产历史。我公司具有十几年设计、制造的丰富经验,产品质量稳定,性能可靠,畅销国内外。上海石保水泵制造有限公司主要生产的水泵产品有压滤机专用泵,渣浆泵,FSB氟塑料化工泵,多级泵,纸浆泵,污水泵,清水泵,水泵配件,机械密封等十多个系列,上百种规格型号。上海石保水泵制造有限公司现有职工50余人,其中10%是工程技术人员。产品的开发设计和工艺编制全部采用CAD新技术。我公司建有国内大型的测试精度达到ISO3555级精度的渣浆泵站,主要研究泵的运行性能机械损耗、抗磨蚀材料及新产品的开发。拥有严格的质量控制体系,在各个车间设有质量检查站,在关键的流程设有专人负责监查控制。7. 河北宏强泵业有限公司河北宏强泵业有限公司是国家生产工业水泵的专业性企业,公司有多年的生产经验,良好的管理体系和质量保证体系,公司现有员工500余人,高,中级专业人员70余人,拥有各种生产设备100余台,固定资产2800万元,厂区面积3.7万平方米,建筑面积2.5万平方米。 我公司拥有雄厚的生产技术力量,完善的生产保障、质量保证监督体系和专业型精神队伍。公司年生产水泵1万余台(套),各种配件1500多吨,是科研、生产、经营为一体的生产实体。 宏强主要生产:D、DA卧式多级离心泵,S、SH双吸泵,LXL纸浆泵,AH、HH、ZJ渣浆泵,ZJL、SP、FY液下渣浆泵,PNJB衬胶泵,PN、PNL泥浆泵、YW液下泵,PW、PWL污水泵,DL、LG立式多级离心泵,GC、DG多级锅炉给水泵,ISZ、ISG管道泵直连泵,IS、B、BA清水泵,IH、AFB化工泵,NWL、WDL、WGL立式污水泵,Y、AY离心油泵等各类水泵及配件. 8. 永嘉县慧泉泵业制造有限公司永嘉县慧泉泵业制造有限公司是一家国内专业从事多级泵,集研究、开发、销售为一体的现代化企业。拥有一批高素质、具有丰富经验专业技术、管理团队人员。本公司采用世界先进的CFD流体力学专业内流畅分析软件CAE有限元分析、并辅以PROE和CIMATRON等三维软件设计,经过多道特殊设备加工和成品检测,研制了轰动全国的冲压不锈钢多级泵QDL、QDLF、CDLF等系列产品。现在公司研制的新一代HQDL便拆式轻型不锈钢多级离心泵,配置了专利产品HQ-12、HQ-18免维护集装式机械密封,其在锅炉冷热水循环、高层建筑供水消防、工业水处理、石油化工等各行业中广泛使用,其寿命、效率能源等各项指标都达到或超过国际水平。 9.开宇泵业本厂主要产品有:QW系列潜水排污泵、QSZ潜水渣浆泵、JYQW自动搅匀排污泵、JGQW切割型排污泵、GAK系列自动耦合装置、IS、ISG、DL、DA1、D、SH、LG等系列单极、多级离心式清水泵、XBD系列消防泵等各种水泵及渣浆泵、真空泵、给水设备。 产品工艺先进、性能可靠、质量优良,水泵性能均达到国际标准B级精度。10. 石家庄市新亚水泵制造有限公司石家庄市新亚水泵制造有限公司是泵类产品的专业制造厂商,拥有近二十年的研发、生产、销售各种潜水电泵的经验。产品采用德国里茨公司的技术,设计先进,效率高、耗电低,尤其产品的质量极为稳定,各方面性能在业内均处于领先地位。近二十年来,我公司的产品以畅销全国三十多个省市地区,并可根据用户需求定做特殊型号产品,深受用户好评。我公司主要生产工矿产品系列200JQA80、250JQA80、250JQC140;里茨技术6699、6613、6618、6620、6715。QJ系列:100QJ、125QJ、150QJ、175QJ、200QJ、250QJ、300QJ、350QJ。流量:由5m3/h-1000m3/h,扬程:5-1000m以下潜水电泵,广泛用于农田灌溉、城市供水和工矿企业用水,是提取地下深井、河流水和水库水的理想工具。2023-08-13 07:12:501
计量泵品牌十 大排名?
1. 上海阳光泵业制造有限公司上海阳光泵业制造有限公司是国内在上海拥有占地 5000平方米的发电机组生产工厂,和在南京占地30000平方米的水泵大型生产基地,年产量达20000余台。 一直致力于功率段从高质量水泵的技术研发、专业生产和订制安装。机组涵盖了适用一般用户和特殊用户使用的多种类型,包括开架型螺杆泵、离心泵、多级泵、排污泵、离心泵、等类型。2. 浩溪泵业有限公司上海浩溪泵业有限公司是国内著名的水泵、电机、给排水设备、无负 压供水设备、板式热交换泵组、电器自控设备研发、生产、销售于一 体的现代化高技术含量企业。公司坐落于上海白鹤工业园区,拥有现 代化的加工设备,本着“开拓进取,服务创新”的经营理念和“诚信为本,立信为源”的经营理念,坚持“质量第一、客户第一、服务第一”的三一标准,全力打造“中国泵业品牌龙头企业”的宏伟目标。 3. 深圳市顺利泵业有限公司 公司产品广泛用于纸板;造纸;印染;纺织;橡胶;皮革;木业;化工等部门和行业。产品深受用户的信赖和好评.公司将用现化的企业经营理念构筑企业长远发展目标,造一流冷凝水回收产品,创一流冷凝水回收企业。 此回收设备完全采用密闭式高温冷凝水回收,可回收180℃以下的高温冷凝水。系统采用PLC自动控制,无人值守,运行安全可靠. 我们本著以尖端的技术设备、优质的产品性能、完善的市场服务,是凝水动力品牌得以立足市场并独占熬头的关键。今后,我们仍将“用技术提升产品、凭质量赢得客户、以诚信达成合作、靠服务创造奇迹”,专业缔造国际卓越品质的好产品,为国家节能减排战略共同成长。4, 上海浦浪泵业制造有限公司 上海浦浪泵业制造有限公司是专业的上海水泵、立式消防泵厂家,主导产品包括:恒压切线消防泵、分段式多级泵、卧式分段式多级泵、XBD卧式恒压消防泵、立式不锈钢多级泵、GC卧式多级泵等,种类繁多、规格齐全、品质卓越。企业资金雄厚,生产设备先进,检测手段完善,拥有一批高素质的科技人员,同时引进了国际最先进的生产技术和管理经验。产品广泛应用于大型污水处理排放系统、水利工程及高层建筑增压送水、化工、消防等领域,并为我国的给排水系统工程事业作出了巨大的贡献5. 菱宙特种磁力泵有限公司 菱宙特种磁力泵有限公司位于上海闵行区经济开发区,是专业生产泵、阀类产品的生产企业,具有雄厚的生产能力与市场销售能力的企业。 本公司以先进的科学技术,完善的检测设施,现已成为一个集生产、开发、销售、服务于一体的现代化企业,产品通过ISO9002国际质量体系认证。主要产品: CQG型高温磁力泵、CQ型常温磁力泵、CQG(G)高温高压磁力泵、CQ(G)型高压常温磁力泵、CQB型氟塑料磁力泵、系列管道泵、WQ型、QW型潜水式排污泵、YW、GW、LW系列排污泵、DL系列立式、TSWA系列卧式多级离心泵、IS、IH系列离心泵、FB、AFB系列耐腐蚀泵、ZW、ZX系列自吸排污泵、CYZ、CYZ-A型自吸离心油泵、I-1B浓浆泵、QBY、DBY气动、电动隔膜泵、KCB、2CY齿轮油泵、FS型系列玻璃钢离心泵、W型水力喷射器以及各类型号的阀门、法兰。 本公司以优越的质量、一流的售后服务,遵循质量第一、用户至上的宗旨,与您共铸辉煌明天。6. 上海水泵厂 公司致力于新一代单级泵、多级泵、消防泵、无堵塞排污泵、成套无负压设备、箱式叠压供水、工业用泵、水泵专用电机、板式热交换泵组、成套控制柜、生活变频恒压供水设备、消防恒压增压设备、污水处理设备的研发、生产、销售和服务。不断引进国外先进技术,高科技的产品不断填补国内空白。 公司以“快速、准确、周全”的服务准则,在全国设立30多个服务网点,营销服务网络遍及全国各省、市、县,向客户提供着零距离的服务。 公司以“节能、高效、环保、服务社会”为使命,不断技术创新,引进国内外先进技术,提升产品的科技含量,成功研发了具有国际水准的系列产品。 7. 上海啸速机电有限公司上海啸速机电有限公司是排污泵、搅匀式排污泵、切割式排污泵、油浸泵、管道泵、消防泵、深井泵、自吸泵、离心泵、增压泵、屏蔽泵、管道式排污泵、离心式通风机、轴流通风机、混流风机、引风机、管道风机等产品专业生产加工的公司,拥有完整、科学的质量管理体系。上海啸速机电有限公司的诚信、实力和产品质量获得业界的认可。欢迎各界朋友莅临参观、指导和业务洽谈。8. 浙江求精泵阀制造有限公司 浙江求精泵阀制造有限公司是一家具有二十多年历史的专业从事水泵阀门研发、制造与销售的企业。本公司创办于1984年,公司总部座落于中国泵阀之都温州市瓯北镇三桥工业区。本公司人才济济,拥有各类管理、技术人才及高级工程师共100多人,公司追求以人为本的原则。本企业实力雄厚,先后引进了几十台先进的阀门、水泵制造设备和数套阀门水泵检测设备。本公司率先采用CAD机械设计系统,运用高科技的机械分析来模拟验证,以最完美的结构与造型,使产品不断创新,同时公司还建立了完善的微机管理网络系统,售后服务、财务劳资、人事、开发设计、生产、质量、物资等全部纳入了微机管理。 9.希思罗泵业 希思罗泵业:已有20多多年制造、管理与服务的经验。位于湖南石鼓区,是厂家直销水泵的中型企业,联系方式:13676750784、0734-8581177 主要经营: 单级单吸(ISG IRG ISR ISH ISY ISHY GRG IHG、YG ISW ISWH ISWY ISWHY SG SGR SGP SGPB系列)湖南水泵、W型旋涡泵、化工泵、自吸泵、离心泵、管道离心泵、污水泵、自吸泵、阀门、多级泵、密封件、轴承、非标螺丝、标准件及铜件 。产品采用机械密封装置,同时用轴承及机械密封,具有抗腐蚀、耐磨损、低噪声、使用寿命长、操作简便特点。产品主要适用于化工、制药、食品 炼油和环保等行业。 我们本着不断的开拓进取、严密的品质管理、优惠的价格及周到的服务为经营宗旨,竭诚欢迎广大新老客户惠顾,愿与您忠诚合作,共谋辉煌未来10.上海赤峰泵业有限公司 公司主导产品有“IH不锈钢离心泵、CQB-P型不锈钢重型磁力泵、CQ型不锈钢磁力泵、IHF衬氟离心泵、CQB衬氟磁力泵、FZB衬氟自吸泵、UHB-ZK耐腐耐磨砂浆泵”等7大系列500多个规格型号,近五年公司陆续研发的具有核心竞争力的重点新产品有:LFK系列衬氟料浆泵、LHC系列新型抗干磨衬氟磁力泵,LHJ新型不锈钢耐磨碱泵、LMU系列特种塑陶合金耐腐耐磨砂浆泵等,这四项产品在国内外均具有相当大的竞争优势,均已申报国家发明专利。2023-08-13 07:12:572
磁力泵厂家排 名?
1. 上海阳光泵业制造有限公司上海阳光泵业制造有限公司是公司成立于1999年,是一家坐落在世博会举办城市上海的生产厂家,拥有一支一流的设计研发队伍及有专业工程技术人员的服务队伍。上海阳光泵业制造有限公司是国内一家著名的集研制、开发、生产、销售、服务于一体的大型多元化企业,注册资本1100万元。主导产品包括:螺杆泵、隔膜泵、液下泵、磁力泵、排污泵、化工泵、多级泵、自吸泵、齿轮油泵、计量泵、卫生泵、真空泵、潜水泵、转子泵等类别。产品以优越的性能,精良的品质已获得各项专业认证证书及客户的认可。公司拥有多名水泵专家和各类中高级工程师,不断的开发制造,升级换代产品年年都有问世。2. 济南盛泓晨经贸有限公司济南盛泓晨经贸有限公司 经销批发的电机、减速机、水泵、发电机畅销消费者市场,在消费者当中享有较高的地位,公司与多家零售商和代理商建立了长期稳定的合作关系。济南盛泓晨经贸有限公司经销的电机、减速机、水泵、发电机品种齐全、价格合理。济南盛泓晨经贸有限公司实力雄厚,重信用、守合同、保证产品质量,以多品种经营特色和薄利多销的原则,赢得了广大客户的信任。3. 天津奥斯特泵业有限公司天津奥斯特泵业有限公司,是一家集设计、开发、生产、销售于一体的水泵制造企业,公司位于天津静海经济开发区,紧邻京沪高速,津沧高速,104国道,京沪铁路,地理位置公优越,交通四通八达。公司拥有员工160名,主要技术人员是由天津电机总厂老技术员组成公司严格执行ISO9001国际管理体系进行生产,完善的质量检测设备为生产高质量的产品提供了强有力的保证,现已逐步成为有一定规模的现代化企业4. 天津淦顺泵业有限公司天津淦顺泵业有限公司,坐落于天津市南开区延安路6号,地理位置优越交通便利,公司集研发、制造、销售于一体,创业一年来,始终致力于科技与管理的创新,并开发出适合于工矿企业、建筑工地、城市污水、农田排灌、石油化工、工业水处理、地源热泵空调行业、地暖采暖、地热温泉、洗浴等各行业用泵。 公司主要产品有:多用潜水泵、轴流泵、多级泵、排污泵、自吸泵、管道泵、离心泵、油泵、隔膜泵、混流泵、污水泵、不锈钢耐腐蚀泵、耐腐耐磨砂浆泵、化工泵、液下泵、磁力泵、渣浆泵、机械密封、自动减压动柜、变频柜等产品。5. 东莞瑞畅机械设备有限公司东莞瑞畅机械设备有限公司 经销批发的空气压缩机、喷浆机、注浆机、发电机组、潜孔钻机畅销消费者市场,在消费者当中享有较高的地位,公司与多家零售商和代理商建立了长期稳定的合作关系。东莞瑞畅机械设备有限公司经销的空气压缩机、喷浆机、注浆机、发电机组、潜孔钻机品种齐全、价格合理。东莞瑞畅机械设备有限公司实力雄厚,重信用、守合同、保证产品质量,以多品种经营特色和薄利多销的原则,赢得了广大客户的信任。6. 天津市南开区凯顺鑫泵阀销售中心天津市南开区凯顺鑫泵阀销售中心 经销批发的排污泵、管道离心泵、磁力泵、油泵、耐酸泵、深井泵、多级泵、自吸泵、液下污水泵、齿轮油泵、切割泵、旋涡泵、消防泵、油浸泵、屏蔽泵、全自动自吸泵、不锈钢系列水泵、风机、水泵配套阀门、铜件畅销消费者市场,在消费者当中享有较高的地位,公司与多家零售商和代理商建立了长期稳定的合作关系。天津市南开区凯顺鑫泵阀销售中心本着“品质追求,永无止境”的信念,技术打造着泵业的品质。7. 上海赞马机械制造有限公司上海赞马机械制造有限公司是一家经国家相关部门批准注册的企业。上海赞马机械制造有限公司凭着良好的信用、优良的服务与多家企业建立了长期的合作关系。上海赞马机械制造有限公司热诚欢迎各界朋友前来参观、考察、洽谈业务。主营发电机;汽油发电机组;柴油发电机组;大型水冷柴油发电机组;发动机;汽油水泵;柴油水泵;移动照明灯车;油锯;割草机;高压清洗机;发电机组;上海赞马机械制造有限公司是中国一家专业生产发电机组的实业型企业,公司主要生产稀土永磁发电机组,汽油发电机组,柴油发电机组,汽油自吸水泵,汽油污水泵,汽油消防水泵,柴油水泵,移动照明灯车,油锯,割灌机,草坪机,高压清洗机。8. 河北润通泵业有限公司河北润通泵业有限公司具有几十年设计、制造的丰富经验,产品质量稳定,性能可靠,畅销国内外,拥有完善的售后服务网络,我们以“用户满意是我们永远的追求”为目标,本着“质量**,用户至上”的原则,竭诚为广大用户提供*优质的产品和*满意的服务。河北润通泵业主要产品有:D、DA卧式多级离心泵,S、SH双吸泵,LXL纸浆泵,AH、HH、ZJ渣浆泵,ZJL、SP、FY液下渣浆泵,PN、PNL泥浆泵、YW液下泵,PW、PWL污水泵,DL、LG立式多级离心泵,GC、DG多级锅炉给水泵,ISZ、ISG管道泵直连泵,IS、B、BA清水泵,IH、AFB化工泵,NWL、WDL、WGL立式污水泵等各类水泵及配件.产品用于冶金、矿山石油、化工、轻工、发电、造纸、制药、食品、城建、污水处理等各种行业的需要,畅销全国三十多个省、市、自治区、深受用户好评9. 河北鑫诚水泵厂河北鑫诚水泵厂始建于2005年,主要生产工业水泵及配件,企业建厂以来不断发展壮大,目前已发展成为集设计和生产和而为一的水泵骨干企业,拥有精湛的生产设备及完善的检测手段。企业产品具有设计合理、高效节能、性能可靠、维修方便等优点。 同时本企业水泵产品性能达以到国内先进水平,为国家一些重点工程、环保、工业、、农业建设、等做出了较大贡献,得到了广大用户、产品配套单位的好评和信赖。10. 河北鸿达泵业有限公司河北鸿达泵业有限公司坐落在美丽的东方药城--安国,主要产品有小型风冷柴油发电机组 2kW-10kW 、小型风冷汽油发电机组 0.45kW-6kW 、大型水冷机组(8kW-2000kW):分别为国产机组系列,康明斯机组系列、道茨机组系列、雷沃机组系列、沃尔沃机组系列、大宇系列;工厂可为客户定做特殊机型如静音机组、自动化机组系列、移动电站机组系列等。产品广泛用于工矿企业、野外作业、消防、大楼、公路、铁路、桥梁施工的备用电源和应急电源。2023-08-13 07:13:041
污水泵品牌十 大排名?
1. 上海阳光泵业制造有限公司上海阳光泵业制造有限公司是公司成立于1999年,是一家坐落在世博会举办城市上海的生产厂家,拥有一支一流的设计研发队伍及有专业工程技术人员的服务队伍。上海阳光泵业制造有限公司是国内一家著名的集研制、开发、生产、销售、服务于一体的大型多元化企业,注册资本1100万元。主导产品包括:螺杆泵、隔膜泵、液下泵、磁力泵、排污泵、化工泵、多级泵、自吸泵、齿轮油泵、计量泵、卫生泵、真空泵、潜水泵、转子泵等类别。产品以优越的性能,精良的品质已获得各项专业认证证书及客户的认可。公司拥有多名水泵专家和各类中高级工程师,不断的开发制造,升级换代产品年年都有问世。2. 济南盛泓晨经贸有限公司济南盛泓晨经贸有限公司 经销批发的电机、减速机、水泵、发电机畅销消费者市场,在消费者当中享有较高的地位,公司与多家零售商和代理商建立了长期稳定的合作关系。济南盛泓晨经贸有限公司经销的电机、减速机、水泵、发电机品种齐全、价格合理。济南盛泓晨经贸有限公司实力雄厚,重信用、守合同、保证产品质量,以多品种经营特色和薄利多销的原则,赢得了广大客户的信任。3. 天津奥斯特泵业有限公司天津奥斯特泵业有限公司,是一家集设计、开发、生产、销售于一体的水泵制造企业,公司位于天津静海经济开发区,紧邻京沪高速,津沧高速,104国道,京沪铁路,地理位置公优越,交通四通八达。公司拥有员工160名,主要技术人员是由天津电机总厂老技术员组成公司严格执行ISO9001国际管理体系进行生产,完善的质量检测设备为生产高质量的产品提供了强有力的保证,现已逐步成为有一定规模的现代化企业4. 天津淦顺泵业有限公司天津淦顺泵业有限公司,坐落于天津市南开区延安路6号,地理位置优越交通便利,公司集研发、制造、销售于一体,创业一年来,始终致力于科技与管理的创新,并开发出适合于工矿企业、建筑工地、城市污水、农田排灌、石油化工、工业水处理、地源热泵空调行业、地暖采暖、地热温泉、洗浴等各行业用泵。 公司主要产品有:多用潜水泵、轴流泵、多级泵、排污泵、自吸泵、管道泵、离心泵、油泵、隔膜泵、混流泵、污水泵、不锈钢耐腐蚀泵、耐腐耐磨砂浆泵、化工泵、液下泵、磁力泵、渣浆泵、机械密封、自动减压动柜、变频柜等产品。5. 东莞瑞畅机械设备有限公司东莞瑞畅机械设备有限公司 经销批发的空气压缩机、喷浆机、注浆机、发电机组、潜孔钻机畅销消费者市场,在消费者当中享有较高的地位,公司与多家零售商和代理商建立了长期稳定的合作关系。东莞瑞畅机械设备有限公司经销的空气压缩机、喷浆机、注浆机、发电机组、潜孔钻机品种齐全、价格合理。东莞瑞畅机械设备有限公司实力雄厚,重信用、守合同、保证产品质量,以多品种经营特色和薄利多销的原则,赢得了广大客户的信任。6. 天津市南开区凯顺鑫泵阀销售中心天津市南开区凯顺鑫泵阀销售中心 经销批发的排污泵、管道离心泵、磁力泵、油泵、耐酸泵、深井泵、多级泵、自吸泵、液下污水泵、齿轮油泵、切割泵、旋涡泵、消防泵、油浸泵、屏蔽泵、全自动自吸泵、不锈钢系列水泵、风机、水泵配套阀门、铜件畅销消费者市场,在消费者当中享有较高的地位,公司与多家零售商和代理商建立了长期稳定的合作关系。天津市南开区凯顺鑫泵阀销售中心本着“品质追求,永无止境”的信念,技术打造着泵业的品质。7. 上海赞马机械制造有限公司上海赞马机械制造有限公司是一家经国家相关部门批准注册的企业。上海赞马机械制造有限公司凭着良好的信用、优良的服务与多家企业建立了长期的合作关系。上海赞马机械制造有限公司热诚欢迎各界朋友前来参观、考察、洽谈业务。主营发电机;汽油发电机组;柴油发电机组;大型水冷柴油发电机组;发动机;汽油水泵;柴油水泵;移动照明灯车;油锯;割草机;高压清洗机;发电机组;上海赞马机械制造有限公司是中国一家专业生产发电机组的实业型企业,公司主要生产稀土永磁发电机组,汽油发电机组,柴油发电机组,汽油自吸水泵,汽油污水泵,汽油消防水泵,柴油水泵,移动照明灯车,油锯,割灌机,草坪机,高压清洗机。8. 河北润通泵业有限公司河北润通泵业有限公司具有几十年设计、制造的丰富经验,产品质量稳定,性能可靠,畅销国内外,拥有完善的售后服务网络,我们以“用户满意是我们永远的追求”为目标,本着“质量**,用户至上”的原则,竭诚为广大用户提供*优质的产品和*满意的服务。河北润通泵业主要产品有:D、DA卧式多级离心泵,S、SH双吸泵,LXL纸浆泵,AH、HH、ZJ渣浆泵,ZJL、SP、FY液下渣浆泵,PN、PNL泥浆泵、YW液下泵,PW、PWL污水泵,DL、LG立式多级离心泵,GC、DG多级锅炉给水泵,ISZ、ISG管道泵直连泵,IS、B、BA清水泵,IH、AFB化工泵,NWL、WDL、WGL立式污水泵等各类水泵及配件.产品用于冶金、矿山石油、化工、轻工、发电、造纸、制药、食品、城建、污水处理等各种行业的需要,畅销全国三十多个省、市、自治区、深受用户好评9. 河北鑫诚水泵厂河北鑫诚水泵厂始建于2005年,主要生产工业水泵及配件,企业建厂以来不断发展壮大,目前已发展成为集设计和生产和而为一的水泵骨干企业,拥有精湛的生产设备及完善的检测手段。企业产品具有设计合理、高效节能、性能可靠、维修方便等优点。 同时本企业水泵产品性能达以到国内先进水平,为国家一些重点工程、环保、工业、、农业建设、等做出了较大贡献,得到了广大用户、产品配套单位的好评和信赖。10. 河北鸿达泵业有限公司河北鸿达泵业有限公司坐落在美丽的东方药城--安国,主要产品有小型风冷柴油发电机组 2kW-10kW 、小型风冷汽油发电机组 0.45kW-6kW 、大型水冷机组(8kW-2000kW):分别为国产机组系列,康明斯机组系列、道茨机组系列、雷沃机组系列、沃尔沃机组系列、大宇系列;工厂可为客户定做特殊机型如静音机组、自动化机组系列、移动电站机组系列等。产品广泛用于工矿企业、野外作业、消防、大楼、公路、铁路、桥梁施工的备用电源和应急电源。2023-08-13 07:13:231
什么是OpeenGL
OpenGL目录 概述 Open GL现状 高级功能 OpenGL编程入门 OpenGL与DirectX的区别 概述 OpenGL - 高性能图形算法行业标准 OpenGLu2122 是行业领域中最为广泛接纳的 2D/3D 图形 API, 其自诞生至今已催生了各种计算机平台及设备上的数千优秀应用程序。OpenGLu2122 是独立于视窗操作系统或其它操作系统的,亦是网络透明的。在包含CAD、内容创作、能源、娱乐、游戏开发、制造业、制药业及虚拟现实等行业领域中,OpenGLu2122 帮助程序员实现在 PC、工作站、超级计算机等硬件设备上的高性能、极具冲击力的高视觉表现力图形处理软件的开发。 OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言、跨平台的编程接口的规格,它用于三维图象(二维的亦可)。OpenGL是个专业的图形程序接口,是一个功能强大,调用方便的底层图形库。OpenGL的前身是SGI公司为其图形工作站开发的IRIS GL。IRIS GL是一个工业标准的3D图形软件接口,功能虽然强大但是移植性不好,于是SGI公司便在IRIS GL的基础上开发了OpenGL。OpenGL的英文全称是“Open Graphics Library”,顾名思义,OpenGL便是“开放的图形程序接口”。虽然DirectX在家用市场全面领先,但在专业高端绘图领域,OpenGL是不能被取代的主角。 OpenGL是个与硬件无关的软件接口,可以在不同的平台如Windows 95、Windows NT、Unix、Linux、MacOS、OS/2之间进行移植。因此,支持OpenGL的软件具有很好的移植性,可以获得非常广泛的应用。由于OpenGL是图形的底层图形库,没有提供几何实体图元,不能直接用以描述场景。但是,通过一些转换程序,可以很方便地将AutoCAD、3DS/3DSMAX等3D图形设计软件制作的DXF和3DS模型文件转换成OpenGL的顶点数组。 在OpenGL的基础上还有Open Inventor、Cosmo3D、Optimizer等多种高级图形库,适应不同应用。其中,Open Inventor应用最为广泛。该软件是基于OpenGL面向对象的工具包,提供创建交互式3D图形应用程序的对象和方法,提供了预定义的对象和用于交互的事件处理模块,创建和编辑3D场景的高级应用程序单元,有打印对象和用其它图形格式交换数据的能力。 OpenGL的发展一直处于一种较为迟缓的态势,每次版本的提高新增的技术很少,大多只是对其中部分做出修改和完善。1992年7月,SGI公司发布了OpenGL的1.0版本,随后又与微软公司共同开发了Windows NT版本的OpenGL,从而使一些原来必须在高档图形工作站上运行的大型3D图形处理软件也可以在微机上运用。1995年OpenGL的1.1版本面市,该版本比1.0的性能有许多提高,并加入了一些新的功能。其中包括改进打印机支持,在增强元文件中包含OpenGL的调用,顶点数组的新特性,提高顶点位置、法线、颜色、色彩指数、纹理坐标、多边形边缘标识的传输速度,引入了新的纹理特性等等。OpenGL 1.5又新增了“OpenGL Shading Language”,该语言是“OpenGL 2.0”的底核,用于着色对象、顶点着色以及片断着色技术的扩展功能。 OpenGL 2.0标准的主要制订者并非原来的SGI,而是逐渐在ARB中占据主动地位的3DLabs。2.0版本首先要做的是与旧版本之间的完整兼容性,同时在顶点与像素及内存管理上与DirectX共同合作以维持均势。OpenGL 2.0将由OpenGL 1.3的现有功能加上与之完全兼容的新功能所组成(如图一)。借此可以对在ARB停滞不前时代各家推出的各种纠缠不清的扩展指令集做一次彻底的精简。此外,硬件可编程能力的实现也提供了一个更好的方法以整合现有的扩展指令。 目前,随着DirectX的不断发展和完善,OpenGL的优势逐渐丧失,至今虽然已有3Dlabs提倡开发的2.0版本面世,在其中加入了很多类似于DirectX中可编程单元的设计,但厂商的用户的认知程度并不高,未来的OpenGL发展前景迷茫。[编辑本段]Open GL现状 Open GL仍然是唯一能够取代微软对3D图形技术的完全控制的API。它仍然具有一定的生命力,但是Silicon Graphics已经不再以任何让微软不悦的方式推广Open GL,因而它存在较高的风险。游戏开发人员是一个有着独立思想的群体,很多重要的开发人员目前仍然在使用Open GL。因此,硬件开发商正在设法加强对它的支持。Direct3D目前还不能支持高端的图形设备和专业应用; Open GL在这些领域占据着统治地位。最后,开放源码社区(尤其是Mesa项目)一直致力于为任何类型的计算机(无论它们是否使用微软的操作系统)提供Open GL支持。 今年08年正式公布OpenGL3.0版本。并且得到了,nv的支持,其官方网站上提供针对N卡的sdk下载。[编辑本段]高级功能 OpenGL被设计为只有输出的,所以它只提供渲染功能。核心API没有窗口系统、音频、打印、键盘/鼠标或其它输入设备的概念。虽然这一开始看起来像是一种限制,但它允许进行渲染的代码完全独立于他运行的操作系统,允许跨平台开发。然而,有些整合于原生窗口系统的东西需要允许和宿主系统交互。这通过下列附加API实现: * GLX - X11(包括透明的网络) * WGL - Microsoft Windows * AGL - Apple MacOS 另外,GLUT库能够以可移植的方式提供基本的窗口功能。[编辑本段]OpenGL编程入门 OpenGL作图非常方便,故日益流行,但对许多人来说,是在微机上进行的,首先碰到的问题是,如何适应微机环境。这往往是最关键的一步,虽然也是最初级的。一般的,我不建议使用glut 包.那样难以充分发挥 windows 的界面上的功能. 下面介绍如何在 VC++ 上进行 OpenGL 编程。 OpenGL 绘图的一般过程可以看作这样的,先用 OpenGL 语句在 OpenGL 的绘图环境 RenderContext (RC)中画好图, 然后再通过一个 Swap buffer 的过程把图传给操作系统的绘图环境 DeviceContext (DC)中,实实在在地画出到屏幕上. 下面以画一条 Bezier 曲线为例,详细介绍VC++ 上 OpenGL编程的方法。文中给出了详细注释,以便给初学者明确的指引。一步一步地按所述去做,你将顺利地画出第一个 OpenGL 平台上的图形来。 一、产生程序框架 Test.dsw New Project | MFC Application Wizard (EXE) | "Test" | OK *注* : 加“”者指要手工敲入的字串 二、导入 Bezier 曲线类的文件 用下面方法产生 BezierCurve.h BezierCurve.cpp 两个文件: WorkSpace | ClassView | Test Classes| <右击弹出> New Class | Generic Class(不用MFC类) | "CBezierCurve" | OK 三、编辑好 Bezier 曲线类的定义与实现 写好下面两个文件: BezierCurve.h BezierCurve.cpp 四、设置编译环境: 1. 在 BezierCurve.h 和 TestView.h 内各加上: #include <GL/gl.h> #include <GL/glu.h> #include <GL/glaux.h> 2. 在集成环境中 Project | Settings | Link | Object/library module | "opengl32.lib glu32.lib glaux.lib" | OK 五、设置 OpenGL 工作环境:(下面各个操作,均针对 TestView.cpp ) 1. 处理 PreCreateWindow(): 设置 OpenGL 绘图窗口的风格 cs.style |= WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CS_OWNDC; 2. 处理 OnCreate():创建 OpenGL 的绘图设备。 OpenGL 绘图的机制是: 先用 OpenGL 的绘图上下文 Rendering Context (简称为 RC )把图画好,再把所绘结果通过 SwapBuffer() 函数传给 Window 的 绘图上下文 Device Context (简记为 DC).要注意的是,程序运行过程中,可以有多个 DC,但只能有一个 RC。因此当一个 DC 画完图后,要立即释放 RC,以便其它的 DC 也使用。在后面的代码中,将有详细注释。 int CTestView::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CView::OnCreate(lpCreateStruct) == -1) return -1; myInitOpenGL(); return 0; } void CTestView::myInitOpenGL() { m_pDC = new CClientDC(this); //创建 DC ASSERT(m_pDC != NULL); if (!mySetupPixelFormat()) //设定绘图的位图格式,函数下面列出 return; m_hRC = wglCreateContext(m_pDC->m_hDC);//创建 RC wglMakeCurrent(m_pDC->m_hDC, m_hRC); //RC 与当前 DC 相关联 } //CClient * m_pDC; HGLRC m_hRC; 是 CTestView 的成员变量 BOOL CTestView::mySetupPixelFormat() {//我们暂时不管格式的具体内容是什么,以后熟悉了再改变格式 static PIXELFORMATDESCRIPTOR pfd = { sizeof(PIXELFORMATDESCRIPTOR), // size of this pfd 1, // version number PFD_DRAW_TO_WINDOW | // support window PFD_SUPPORT_OPENGL | // support OpenGL PFD_DOUBLEBUFFER, // double buffered PFD_TYPE_RGBA, // RGBA type 24, // 24-bit color depth 0, 0, 0, 0, 0, 0, // color bits ignored 0, // no alpha buffer 0, // shift bit ignored 0, // no accumulation buffer 0, 0, 0, 0, // accum bits ignored 32, // 32-bit z-buffer 0, // no stencil buffer 0, // no auxiliary buffer PFD_MAIN_PLANE, // main layer 0, // reserved 0, 0, 0 // layer masks ignored }; int pixelformat; if ( (pixelformat = ChoosePixelFormat(m_pDC->m_hDC, &pfd)) == 0 ) { MessageBox("ChoosePixelFormat failed"); return FALSE; } if (SetPixelFormat(m_pDC->m_hDC, pixelformat, &pfd) == FALSE) { MessageBox("SetPixelFormat failed"); return FALSE; } return TRUE; } 3. 处理 OnDestroy() void CTestView::OnDestroy() { wglMakeCurrent(m_pDC->m_hDC,NULL); //释放与m_hDC 对应的 RC wglDeleteContext(m_hRC); //删除 RC if (m_pDC) delete m_pDC; //删除当前 View 拥有的 DC CView::OnDestroy(); } 4. 处理 OnEraseBkgnd() BOOL CTestView::OnEraseBkgnd(CDC* pDC) { // TODO: Add your message handler code here and/or call default // return CView::OnEraseBkgnd(pDC); //把这句话注释掉,若不然,Window //会用白色北景来刷新,导致画面闪烁 return TRUE;//只要空返回即可。 } 5. 处理 OnDraw() void CTestView::OnDraw(CDC* pDC) { wglMakeCurrent(m_pDC->m_hDC,m_hRC);//使 RC 与当前 DC 相关联 myDrawScene( ); //具体的绘图函数,在 RC 中绘制 SwapBuffers(m_pDC->m_hDC);//把 RC 中所绘传到当前的 DC 上,从而 //在屏幕上显示 wglMakeCurrent(m_pDC->m_hDC,NULL);//释放 RC,以便其它 DC 进行绘图 } void CTestView::myDrawScene( ) { glClearColor(0.0f,0.0f,0.0f,1.0f);//设置背景颜色为黑色 glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); glPushMatrix(); glTranslated(0.0f,0.0f,-3.0f);//把物体沿(0,0,-1)方向平移 //以便投影时可见。因为缺省的视点在(0,0,0),只有移开 //物体才能可见。 //本例是为了演示平面 Bezier 曲线的,只要作一个旋转 //变换,可更清楚的看到其 3D 效果。 //下面画一条 Bezier 曲线 bezier_curve.myPolygon();//画Bezier曲线的控制多边形 bezier_curve.myDraw(); //CBezierCurve bezier_curve //是 CTestView 的成员变量 //具体的函数见附录 glPopMatrix(); glFlush(); //结束 RC 绘图 return; } 6. 处理 OnSize() void CTestView::OnSize(UINT nType, int cx, int cy) { CView::OnSize(nType, cx, cy); VERIFY(wglMakeCurrent(m_pDC->m_hDC,m_hRC));//确认RC与当前DC关联 w=cx; h=cy; VERIFY(wglMakeCurrent(NULL,NULL));//确认DC释放RC } 7 处理 OnLButtonDown() void CTestView::OnLButtonDown(UINT nFlags, CPoint point) { CView::OnLButtonDown(nFlags, point); if(bezier_curve.m_N>MAX-1) { MessageBox("顶点个数超过了最大数MAX=50"); return; } //以下为坐标变换作准备 GetClientRect(&m_ClientRect);//获取视口区域大小 w=m_ClientRect.right-m_ClientRect.left;//视口宽度 w h=m_ClientRect.bottom-m_ClientRect.top;//视口高度 h //w,h 是CTestView的成员变量 centerx=(m_ClientRect.left+m_ClientRect.right)/2;//中心位置, centery=(m_ClientRect.top+m_ClientRect.bottom)/2;//取之作原点 //centerx,centery 是 CTestView 的成员变量 GLdouble tmpx,tmpy; tmpx=scrx2glx(point.x);//屏幕上点坐标转化为OpenGL画图的规范坐标 tmpy=scry2gly(point.y); bezier_curve.m_Vertex[bezier_curve.m_N].x=tmpx;//加一个顶点 bezier_curve.m_Vertex[bezier_curve.m_N].y=tmpy; bezier_curve.m_N++;//顶点数加一 InvalidateRect(NULL,TRUE);//发送刷新重绘消息 } double CTestView::scrx2glx(int scrx) { return (double)(scrx-centerx)/double(h); } double CTestView::scry2gly(int scry) { } 附录: 1.CBezierCurve 的声明: (BezierCurve.h) class CBezierCurve { public: myPOINT2D m_Vertex[MAX];//控制顶点,以数组存储 //myPOINT2D 是一个存二维点的结构 //成员为Gldouble x,y int m_N; //控制顶点的个数 public: CBezierCurve(); virtual ~CBezierCurve(); void bezier_generation(myPOINT2D P[MAX],int level); //算法的具体实现 void myDraw();//画曲线函数 void myPolygon(); //画控制多边形 }; 2. CBezierCurve 的实现: (BezierCurve.cpp) CBezierCurve::CBezierCurve() { m_N=4; m_Vertex[0].x=-0.5f; m_Vertex[0].y=-0.5f; m_Vertex[1].x=-0.5f; m_Vertex[1].y=0.5f; m_Vertex[2].x=0.5f; m_Vertex[2].y=0.5f; m_Vertex[3].x=0.5f; m_Vertex[3].y=-0.5f; } CBezierCurve::~CBezierCurve() { } void CBezierCurve::myDraw() { bezier_generation(m_Vertex,LEVEL); } void CBezierCurve::bezier_generation(myPOINT2D P[MAX], int level) { //算法的具体描述,请参考相关书本 int i,j; level--; if(level<0)return; if(level==0) { glColor3f(1.0f,1.0f,1.0f); glBegin(GL_LINES); //画出线段 glVertex2d(P[0].x,P[0].y); glVertex2d(P[m_N-1].x,P[m_N-1].y); glEnd();//结束画线段 return; //递归到了最底层,跳出递归 } myPOINT2D Q[MAX],R[MAX]; for(i=0;i { Q.x=P.x; Q.y=P.y; } for(i=1;i<m_N;i++) { R[m_N-i].x=Q[m_N-1].x; R[m_N-i].y=Q[m_N-1].y; for(j=m_N-1;j>=i;j--) { Q[j].x=(Q[j-1].x+Q[j].x)/double(2); Q[j].y=(Q[j-1].y+Q[j].y)/double(2); } } R[0].x=Q[m_N-1].x; R[0].y=Q[m_N-1].y; bezier_generation(Q,level); bezier_generation(R,level); } void CBezierCurve::myPolygon() { glBegin(GL_LINE_STRIP); //画出连线段 glColor3f(0.2f,0.4f,0.4f); for(int i=0;i<m_N;i++) { glVertex2d(m_Vertex.x,m_Vertex.y); } glEnd();//结束画连线段 } [编辑本段]OpenGL与DirectX的区别 OpenGL 只是图形函数库。 DirectX 包含图形, 声音, 输入, 网络等模块。 OpenGL稳定,可跨平台使用。DirectX仅能用于Windows系列平台,包括Windows Mobile/CE系列以及XBOX/XBOX360。 ---------------------------------------------------------------------------------------------- 1995年至1996年,微软实行了一项新计划,以支持在Windows95上运行游戏,目标是把市场扩展到被任天堂和世嘉控制的游戏领域。然而,微软不想用已经在NT上提供的OpenGL技术。微软收购了Rendermorphics,Ltd.并得到他的被称作RealityLab的3D API。经重新整理,微软发布了新的3D API——Direct3D。 微软,推行Direct3D,冻结OpenGL! 微软当时拒绝了在Window95上支持OpenGL。不止如此,微软采取异常手段收回对OpenGL的MCD驱动接口的支持,以致硬件厂商不得不放弃已经进入最后测试的OpenGL驱动。微软的市场部门开始向游戏开发商、硬件厂商、新闻出版机构推销Direct3D,同时排斥OpenGL。 API之战! Silicon Graphics和很多OpenGL用户都依赖OpenGL创新且高性能的技术。但很明显微软打算用Direct3D代替OpenGL,尽管D3D有很多问题而且不能像OpenGL那样被硬件厂商扩展。Silicon Graphics决定在1996 SIGGRAPH会议上作一项演示。演示证明OpenGL至少和D3D一样快,从而驳倒微软的市场论调。因为OpenGL是业界公认标准,比D3D功能丰富,而且图像质量要高一些,所以演示在计算机图形和游戏开发社区导致了激烈论战。 游戏开发者要求OpenGL和D3D站在同等地位! 当技术和市场问题暴露,强烈的支持OpenGL行动开始了。Doom的开发者John Carmack声明拒绝D3D,Chris Hecker在游戏开发杂志上发表了两套API的全面分析,移微软应放弃D3D为结论。游戏开发者先后两次向微软递交请愿书。第一次由56名首席游戏开发者要求微软发行OpenGL MCD驱动,但未成功,因为会让OpenGL与D3D竞争。第二次的公开信由254人签名开始,截止时达到1400人。微软的回答仍是重申旧市场立场。尽管请愿者清楚的要求两套API同等竞争以促进发展,微软却以增加D3D的投资、更加减少OpenGL的投资为回应。 Fahrenheit——D3D与OpenGL的合并? Silicon Graphics,Microsoft, HP,Intel达成协议联合开发下一代3D API——Fahrenheit。但不了了之,因为微软的打算是把OpenGL的技术用到D3D里并且以此之名驱除OpenGL的威胁。(估计DirectX 8 Graphics即是剩下微软独自开发的Fahrenheit,吸收了OpenGL的很多东西。) OpenGL豪气不减当年! OpenGL依然是唯一能与微软单独控制的D3D对立的API,尽管Silicon Graphics不再以任何微软不能接受的方式推行OpenGL。游戏开发这是独立的,并且很多关键人物在用OpenGL,因此,硬件厂商正努力提高对其支持。D3D仍不能支持高端图像和专业应用,而OpenGL主宰着这些土地。在开放原码社区,Mesa项目正提供独立于微软的OpenGL驱动。 译者注:表面上好像D3D比OpenGL支持更多的功能,其实由于D3D不支持硬件扩展,如硬件全景阴影,硬件渲染顺序无关半透明材质等新技术根本无法使用,而D3D(特指D3D8)本身提供的功能只有一小部分能在使用HAL且硬件不支持时模拟,你要用大量代码分析硬件能力和采取不同策略2023-08-13 07:13:311
深水泵十 大名牌排名?
1. 上海阳光泵业制造有限公司上海阳光泵业制造有限公司是公司成立于1999年,是一家坐落在世博会举办城市上海的生产厂家,拥有一支一流的设计研发队伍及有专业工程技术人员的服务队伍。上海阳光泵业制造有限公司是国内一家著名的集研制、开发、生产、销售、服务于一体的大型多元化企业,注册资本1100万元。主导产品包括:螺杆泵、隔膜泵、液下泵、磁力泵、排污泵、化工泵、多级泵、自吸泵、齿轮油泵、计量泵、卫生泵、真空泵、潜水泵、转子泵等类别。产品以优越的性能,精良的品质已获得各项专业认证证书及客户的认可。公司拥有多名水泵专家和各类中高级工程师,不断的开发制造,升级换代产品年年都有问世。2. 济南盛泓晨经贸有限公司济南盛泓晨经贸有限公司 经销批发的电机、减速机、水泵、发电机畅销消费者市场,在消费者当中享有较高的地位,公司与多家零售商和代理商建立了长期稳定的合作关系。济南盛泓晨经贸有限公司经销的电机、减速机、水泵、发电机品种齐全、价格合理。济南盛泓晨经贸有限公司实力雄厚,重信用、守合同、保证产品质量,以多品种经营特色和薄利多销的原则,赢得了广大客户的信任。3. 天津奥斯特泵业有限公司天津奥斯特泵业有限公司,是一家集设计、开发、生产、销售于一体的水泵制造企业,公司位于天津静海经济开发区,紧邻京沪高速,津沧高速,104国道,京沪铁路,地理位置公优越,交通四通八达。公司拥有员工160名,主要技术人员是由天津电机总厂老技术员组成公司严格执行ISO9001国际管理体系进行生产,完善的质量检测设备为生产高质量的产品提供了强有力的保证,现已逐步成为有一定规模的现代化企业4. 天津淦顺泵业有限公司天津淦顺泵业有限公司,坐落于天津市南开区延安路6号,地理位置优越交通便利,公司集研发、制造、销售于一体,创业一年来,始终致力于科技与管理的创新,并开发出适合于工矿企业、建筑工地、城市污水、农田排灌、石油化工、工业水处理、地源热泵空调行业、地暖采暖、地热温泉、洗浴等各行业用泵。 公司主要产品有:多用潜水泵、轴流泵、多级泵、排污泵、自吸泵、管道泵、离心泵、油泵、隔膜泵、混流泵、污水泵、不锈钢耐腐蚀泵、耐腐耐磨砂浆泵、化工泵、液下泵、磁力泵、渣浆泵、机械密封、自动减压动柜、变频柜等产品。5. 东莞瑞畅机械设备有限公司东莞瑞畅机械设备有限公司 经销批发的空气压缩机、喷浆机、注浆机、发电机组、潜孔钻机畅销消费者市场,在消费者当中享有较高的地位,公司与多家零售商和代理商建立了长期稳定的合作关系。东莞瑞畅机械设备有限公司经销的空气压缩机、喷浆机、注浆机、发电机组、潜孔钻机品种齐全、价格合理。东莞瑞畅机械设备有限公司实力雄厚,重信用、守合同、保证产品质量,以多品种经营特色和薄利多销的原则,赢得了广大客户的信任。6. 天津市南开区凯顺鑫泵阀销售中心天津市南开区凯顺鑫泵阀销售中心 经销批发的排污泵、管道离心泵、磁力泵、油泵、耐酸泵、深井泵、多级泵、自吸泵、液下污水泵、齿轮油泵、切割泵、旋涡泵、消防泵、油浸泵、屏蔽泵、全自动自吸泵、不锈钢系列水泵、风机、水泵配套阀门、铜件畅销消费者市场,在消费者当中享有较高的地位,公司与多家零售商和代理商建立了长期稳定的合作关系。天津市南开区凯顺鑫泵阀销售中心本着“品质追求,永无止境”的信念,技术打造着泵业的品质。7. 上海赞马机械制造有限公司上海赞马机械制造有限公司是一家经国家相关部门批准注册的企业。上海赞马机械制造有限公司凭着良好的信用、优良的服务与多家企业建立了长期的合作关系。上海赞马机械制造有限公司热诚欢迎各界朋友前来参观、考察、洽谈业务。主营发电机;汽油发电机组;柴油发电机组;大型水冷柴油发电机组;发动机;汽油水泵;柴油水泵;移动照明灯车;油锯;割草机;高压清洗机;发电机组;上海赞马机械制造有限公司是中国一家专业生产发电机组的实业型企业,公司主要生产稀土永磁发电机组,汽油发电机组,柴油发电机组,汽油自吸水泵,汽油污水泵,汽油消防水泵,柴油水泵,移动照明灯车,油锯,割灌机,草坪机,高压清洗机。8. 河北润通泵业有限公司河北润通泵业有限公司具有几十年设计、制造的丰富经验,产品质量稳定,性能可靠,畅销国内外,拥有完善的售后服务网络,我们以“用户满意是我们永远的追求”为目标,本着“质量**,用户至上”的原则,竭诚为广大用户提供*优质的产品和*满意的服务。河北润通泵业主要产品有:D、DA卧式多级离心泵,S、SH双吸泵,LXL纸浆泵,AH、HH、ZJ渣浆泵,ZJL、SP、FY液下渣浆泵,PN、PNL泥浆泵、YW液下泵,PW、PWL污水泵,DL、LG立式多级离心泵,GC、DG多级锅炉给水泵,ISZ、ISG管道泵直连泵,IS、B、BA清水泵,IH、AFB化工泵,NWL、WDL、WGL立式污水泵等各类水泵及配件.产品用于冶金、矿山石油、化工、轻工、发电、造纸、制药、食品、城建、污水处理等各种行业的需要,畅销全国三十多个省、市、自治区、深受用户好评9. 河北鑫诚水泵厂河北鑫诚水泵厂始建于2005年,主要生产工业水泵及配件,企业建厂以来不断发展壮大,目前已发展成为集设计和生产和而为一的水泵骨干企业,拥有精湛的生产设备及完善的检测手段。企业产品具有设计合理、高效节能、性能可靠、维修方便等优点。 同时本企业水泵产品性能达以到国内先进水平,为国家一些重点工程、环保、工业、、农业建设、等做出了较大贡献,得到了广大用户、产品配套单位的好评和信赖。10. 河北鸿达泵业有限公司河北鸿达泵业有限公司坐落在美丽的东方药城--安国,主要产品有小型风冷柴油发电机组 2kW-10kW 、小型风冷汽油发电机组 0.45kW-6kW 、大型水冷机组(8kW-2000kW):分别为国产机组系列,康明斯机组系列、道茨机组系列、雷沃机组系列、沃尔沃机组系列、大宇系列;工厂可为客户定做特殊机型如静音机组、自动化机组系列、移动电站机组系列等。产品广泛用于工矿企业、野外作业、消防、大楼、公路、铁路、桥梁施工的备用电源和应急电源。2023-08-13 07:13:381
塑料离心泵厂家十 大品牌?
"1. 上海阳光泵业制造有限公司上海阳光泵业制造有限公司是公司成立于1999年,是一家坐落在世博会举办城市上海的生产厂家,拥有一支一流的设计研发队伍及有专业工程技术人员的服务队伍。上海阳光泵业制造有限公司是国内一家著名的集研制、开发、生产、销售、服务于一体的大型多元化企业,注册资本1100万元。主导产品包括:螺杆泵、隔膜泵、液下泵、磁力泵、排污泵、化工泵、多级泵、自吸泵、齿轮油泵、计量泵、卫生泵、真空泵、潜水泵、转子泵等类别。产品以优越的性能,精良的品质已获得各项专业认证证书及客户的认可。公司拥有多名水泵专家和各类中高级工程师,不断的开发制造,升级换代产品年年都有问世。2. 济南盛泓晨经贸有限公司济南盛泓晨经贸有限公司 经销批发的电机、减速机、水泵、发电机畅销消费者市场,在消费者当中享有较高的地位,公司与多家零售商和代理商建立了长期稳定的合作关系。济南盛泓晨经贸有限公司经销的电机、减速机、水泵、发电机品种齐全、价格合理。济南盛泓晨经贸有限公司实力雄厚,重信用、守合同、保证产品质量,以多品种经营特色和薄利多销的原则,赢得了广大客户的信任。3. 天津奥斯特泵业有限公司天津奥斯特泵业有限公司,是一家集设计、开发、生产、销售于一体的水泵制造企业,公司位于天津静海经济开发区,紧邻京沪高速,津沧高速,104国道,京沪铁路,地理位置公优越,交通四通八达。公司拥有员工160名,主要技术人员是由天津电机总厂老技术员组成公司严格执行ISO9001国际管理体系进行生产,完善的质量检测设备为生产高质量的产品提供了强有力的保证,现已逐步成为有一定规模的现代化企业4. 天津淦顺泵业有限公司天津淦顺泵业有限公司,坐落于天津市南开区延安路6号,地理位置优越交通便利,公司集研发、制造、销售于一体,创业一年来,始终致力于科技与管理的创新,并开发出适合于工矿企业、建筑工地、城市污水、农田排灌、石油化工、工业水处理、地源热泵空调行业、地暖采暖、地热温泉、洗浴等各行业用泵。 公司主要产品有:多用潜水泵、轴流泵、多级泵、排污泵、自吸泵、管道泵、离心泵、油泵、隔膜泵、混流泵、污水泵、不锈钢耐腐蚀泵、耐腐耐磨砂浆泵、化工泵、液下泵、磁力泵、渣浆泵、机械密封、自动减压动柜、变频柜等产品。5. 东莞瑞畅机械设备有限公司东莞瑞畅机械设备有限公司 经销批发的空气压缩机、喷浆机、注浆机、发电机组、潜孔钻机畅销消费者市场,在消费者当中享有较高的地位,公司与多家零售商和代理商建立了长期稳定的合作关系。东莞瑞畅机械设备有限公司经销的空气压缩机、喷浆机、注浆机、发电机组、潜孔钻机品种齐全、价格合理。东莞瑞畅机械设备有限公司实力雄厚,重信用、守合同、保证产品质量,以多品种经营特色和薄利多销的原则,赢得了广大客户的信任。6. 天津市南开区凯顺鑫泵阀销售中心天津市南开区凯顺鑫泵阀销售中心 经销批发的排污泵、管道离心泵、磁力泵、油泵、耐酸泵、深井泵、多级泵、自吸泵、液下污水泵、齿轮油泵、切割泵、旋涡泵、消防泵、油浸泵、屏蔽泵、全自动自吸泵、不锈钢系列水泵、风机、水泵配套阀门、铜件畅销消费者市场,在消费者当中享有较高的地位,公司与多家零售商和代理商建立了长期稳定的合作关系。天津市南开区凯顺鑫泵阀销售中心本着“品质追求,永无止境”的信念,技术打造着泵业的品质。7. 上海赞马机械制造有限公司上海赞马机械制造有限公司是一家经国家相关部门批准注册的企业。上海赞马机械制造有限公司凭着良好的信用、优良的服务与多家企业建立了长期的合作关系。上海赞马机械制造有限公司热诚欢迎各界朋友前来参观、考察、洽谈业务。主营发电机;汽油发电机组;柴油发电机组;大型水冷柴油发电机组;发动机;汽油水泵;柴油水泵;移动照明灯车;油锯;割草机;高压清洗机;发电机组;上海赞马机械制造有限公司是中国一家专业生产发电机组的实业型企业,公司主要生产稀土永磁发电机组,汽油发电机组,柴油发电机组,汽油自吸水泵,汽油污水泵,汽油消防水泵,柴油水泵,移动照明灯车,油锯,割灌机,草坪机,高压清洗机。8. 河北润通泵业有限公司河北润通泵业有限公司具有几十年设计、制造的丰富经验,产品质量稳定,性能可靠,畅销国内外,拥有完善的售后服务网络,我们以“用户满意是我们永远的追求”为目标,本着“质量**,用户至上”的原则,竭诚为广大用户提供*优质的产品和*满意的服务。河北润通泵业主要产品有:D、DA卧式多级离心泵,S、SH双吸泵,LXL纸浆泵,AH、HH、ZJ渣浆泵,ZJL、SP、FY液下渣浆泵,PN、PNL泥浆泵、YW液下泵,PW、PWL污水泵,DL、LG立式多级离心泵,GC、DG多级锅炉给水泵,ISZ、ISG管道泵直连泵,IS、B、BA清水泵,IH、AFB化工泵,NWL、WDL、WGL立式污水泵等各类水泵及配件.产品用于冶金、矿山石油、化工、轻工、发电、造纸、制药、食品、城建、污水处理等各种行业的需要,畅销全国三十多个省、市、自治区、深受用户好评9. 河北鑫诚水泵厂河北鑫诚水泵厂始建于2005年,主要生产工业水泵及配件,企业建厂以来不断发展壮大,目前已发展成为集设计和生产和而为一的水泵骨干企业,拥有精湛的生产设备及完善的检测手段。企业产品具有设计合理、高效节能、性能可靠、维修方便等优点。 同时本企业水泵产品性能达以到国内先进水平,为国家一些重点工程、环保、工业、、农业建设、等做出了较大贡献,得到了广大用户、产品配套单位的好评和信赖。10. 河北鸿达泵业有限公司河北鸿达泵业有限公司坐落在美丽的东方药城--安国,主要产品有小型风冷柴油发电机组 2kW-10kW 、小型风冷汽油发电机组 0.45kW-6kW 、大型水冷机组(8kW-2000kW):分别为国产机组系列,康明斯机组系列、道茨机组系列、雷沃机组系列、沃尔沃机组系列、大宇系列;工厂可为客户定做特殊机型如静音机组、自动化机组系列、移动电站机组系列等。产品广泛用于工矿企业、野外作业、消防、大楼、公路、铁路、桥梁施工的备用电源和应急电源。"2023-08-13 07:13:461
泥浆泵十 大排 名?
1. 上海阳光泵业制造有限公司上海阳光泵业制造有限公司是公司成立于2001年,是一家坐落在世博会举办城市上海的生产厂家,拥有一支一流的设计研发队伍及有专业工程技术人员的服务队伍。(2KW发电机)(5KW发电机)(汽油发电机)(柴油发电机)(低噪音发电机) 公司产品出口到北美、欧洲、中东、非洲等50多个国家和地区,公司产品除了按引擎分类,按功能的不同样式有标准敞开式、移动拖车、环保静音、多机并联、超静音、双电压、双频双电压、远程监控、无人值守全自动化ATS、直流、发电电焊两用等。2. 济南盛泓晨经贸有限公司济南盛泓晨经贸有限公司 经销批发的电机、减速机、水泵、发电机畅销消费者市场,在消费者当中享有较高的地位,公司与多家零售商和代理商建立了长期稳定的合作关系。济南盛泓晨经贸有限公司经销的电机、减速机、水泵、发电机品种齐全、价格合理。济南盛泓晨经贸有限公司实力雄厚,重信用、守合同、保证产品质量,以多品种经营特色和薄利多销的原则,赢得了广大客户的信任。3. 天津奥斯特泵业有限公司天津奥斯特泵业有限公司,是一家集设计、开发、生产、销售于一体的水泵制造企业,公司位于天津静海经济开发区,紧邻京沪高速,津沧高速,104国道,京沪铁路,地理位置公优越,交通四通八达。公司拥有员工160名,主要技术人员是由天津电机总厂老技术员组成公司严格执行ISO9001国际管理体系进行生产,完善的质量检测设备为生产高质量的产品提供了强有力的保证,现已逐步成为有一定规模的现代化企业4. 天津淦顺泵业有限公司天津淦顺泵业有限公司,坐落于天津市南开区延安路6号,地理位置优越交通便利,公司集研发、制造、销售于一体,创业一年来,始终致力于科技与管理的创新,并开发出适合于工矿企业、建筑工地、城市污水、农田排灌、石油化工、工业水处理、地源热泵空调行业、地暖采暖、地热温泉、洗浴等各行业用泵。 公司主要产品有:多用潜水泵、轴流泵、多级泵、排污泵、自吸泵、管道泵、离心泵、油泵、隔膜泵、混流泵、污水泵、不锈钢耐腐蚀泵、耐腐耐磨砂浆泵、化工泵、液下泵、磁力泵、渣浆泵、机械密封、自动减压动柜、变频柜等产品。5. 东莞瑞畅机械设备有限公司东莞瑞畅机械设备有限公司 经销批发的空气压缩机、喷浆机、注浆机、发电机组、潜孔钻机畅销消费者市场,在消费者当中享有较高的地位,公司与多家零售商和代理商建立了长期稳定的合作关系。东莞瑞畅机械设备有限公司经销的空气压缩机、喷浆机、注浆机、发电机组、潜孔钻机品种齐全、价格合理。东莞瑞畅机械设备有限公司实力雄厚,重信用、守合同、保证产品质量,以多品种经营特色和薄利多销的原则,赢得了广大客户的信任。6. 天津市南开区凯顺鑫泵阀销售中心天津市南开区凯顺鑫泵阀销售中心 经销批发的排污泵、管道离心泵、磁力泵、油泵、耐酸泵、深井泵、多级泵、自吸泵、液下污水泵、齿轮油泵、切割泵、旋涡泵、消防泵、油浸泵、屏蔽泵、全自动自吸泵、不锈钢系列水泵、风机、水泵配套阀门、铜件畅销消费者市场,在消费者当中享有较高的地位,公司与多家零售商和代理商建立了长期稳定的合作关系。天津市南开区凯顺鑫泵阀销售中心本着“品质追求,永无止境”的信念,技术打造着泵业的品质。7. 上海赞马机械制造有限公司上海赞马机械制造有限公司是一家经国家相关部门批准注册的企业。上海赞马机械制造有限公司凭着良好的信用、优良的服务与多家企业建立了长期的合作关系。上海赞马机械制造有限公司热诚欢迎各界朋友前来参观、考察、洽谈业务。主营发电机;汽油发电机组;柴油发电机组;大型水冷柴油发电机组;发动机;汽油水泵;柴油水泵;移动照明灯车;油锯;割草机;高压清洗机;发电机组;上海赞马机械制造有限公司是中国一家专业生产发电机组的实业型企业,公司主要生产稀土永磁发电机组,汽油发电机组,柴油发电机组,汽油自吸水泵,汽油污水泵,汽油消防水泵,柴油水泵,移动照明灯车,油锯,割灌机,草坪机,高压清洗机。8. 河北润通泵业有限公司河北润通泵业有限公司具有几十年设计、制造的丰富经验,产品质量稳定,性能可靠,畅销国内外,拥有完善的售后服务网络,我们以“用户满意是我们永远的追求”为目标,本着“质量**,用户至上”的原则,竭诚为广大用户提供*优质的产品和*满意的服务。河北润通泵业主要产品有:D、DA卧式多级离心泵,S、SH双吸泵,LXL纸浆泵,AH、HH、ZJ渣浆泵,ZJL、SP、FY液下渣浆泵,PN、PNL泥浆泵、YW液下泵,PW、PWL污水泵,DL、LG立式多级离心泵,GC、DG多级锅炉给水泵,ISZ、ISG管道泵直连泵,IS、B、BA清水泵,IH、AFB化工泵,NWL、WDL、WGL立式污水泵等各类水泵及配件.产品用于冶金、矿山石油、化工、轻工、发电、造纸、制药、食品、城建、污水处理等各种行业的需要,畅销全国三十多个省、市、自治区、深受用户好评9. 河北鑫诚水泵厂河北鑫诚水泵厂始建于2005年,主要生产工业水泵及配件,企业建厂以来不断发展壮大,目前已发展成为集设计和生产和而为一的水泵骨干企业,拥有精湛的生产设备及完善的检测手段。企业产品具有设计合理、高效节能、性能可靠、维修方便等优点。 同时本企业水泵产品性能达以到国内先进水平,为国家一些重点工程、环保、工业、、农业建设、等做出了较大贡献,得到了广大用户、产品配套单位的好评和信赖。10. 河北鸿达泵业有限公司河北鸿达泵业有限公司坐落在美丽的东方药城--安国,主要产品有小型风冷柴油发电机组 2kW-10kW 、小型风冷汽油发电机组 0.45kW-6kW 、大型水冷机组(8kW-2000kW):分别为国产机组系列,康明斯机组系列、道茨机组系列、雷沃机组系列、沃尔沃机组系列、大宇系列;工厂可为客户定做特殊机型如静音机组、自动化机组系列、移动电站机组系列等。产品广泛用于工矿企业、野外作业、消防、大楼、公路、铁路、桥梁施工的备用电源和应急电源。2023-08-13 07:13:541
如何设置魔兽争霸opengl模式
不知道你说的快是不是指游戏速度,这是不变的。但对于配置一般的机子来说(主要是显卡),用opengl模式确实更好,尤其是鼠标不会那么飘。2023-08-13 07:14:046
java中如何调用OpenGL
JOGL是Java对OpenGLAPI绑定的开源项目并设计为采用Java开发的应用程序提供3D图形硬件支持。2023-08-13 07:14:522
给排水图纸中tcl什么意思
查看设计图例。2023-08-13 07:15:002