「java引入openal」java引入util包
本篇文章给大家谈谈java引入openal,以及java引入util包对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、谁知道OpenAL是干什么的?
- 2、java能不能用openal或者directx
- 3、Error:(73, 33) 错误: 找不到符号 符号: 变量 permission 位置: 类 Manifest
谁知道OpenAL是干什么的?
OpenGL是个专业的3D程序接口,是一个功能强大,调用方便的底层3D图形库。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是3D图形的底层图形库,没有提供几何实体图元,不能直接用以描述场景。但是,通过一些转换程序,可以很方便地将AutoCAD、3DS等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仍然是唯一能够取代微软对3D图形技术的完全控制的API。它仍然具有一定的生命力,但是Silicon Graphics已经不再以任何让微软不悦的方式推广Open GL,因而它存在较高的风险。游戏开发人员是一个有着独立思想的群体,很多重要的开发人员目前仍然在使用Open GL。因此,硬件开发商正在设法加强对它的支持。Direct3D目前还不能支持高端的图形设备和专业应用; Open GL在这些领域占据着统治地位。最后,开放源码社区(尤其是Mesa项目)一直致力于为任何类型的计算机(无论它们是否使用微软的操作系统)提供Open GL支持。
高级功能
OpenGL被设计为只有输出的,所以它只提供渲染功能。核心API没有窗口系统、音频、打印、键盘/鼠标或其它输入设备的概念。虽然这一开始看起来像是一种限制,但它允许进行渲染的代码完全独立于他运行的操作系统,允许跨平台开发。然而,有些整合于原生窗口系统的东西需要允许和宿主系统交互。这通过下列附加API实现:
* GLX - X11(包括透明的网络)
* WGL - Microsoft Windows
另外,GLUT库能够以可移植的方式提供基本的窗口功能
java能不能用openal或者directx
能用!有没有用见仁见智!如Java 3D,
Java 3D主页:
编程API:
空手道专家,要求倒不少。
从正面来讲:
(1)基于Java技术,秉承了Java的一切优点,具有优秀的、丰富的UI(Swing、AWT)和Web发布能力(通过Java Plug-In)。
(2)作为第四代3D图形API,Java 3D简单易用,不需要多深厚的计算机图形学功底和学习曲线,开发者便能开发出很专业的动画、仿真和交互。
(3)功能强大,高层次开发。因为Java 3D在底层借助于Open/GL、DirectX的强有力支持;在高层,开发者不再需要负责对象渲染、碰撞检查的编程任务。
(4)基于场景图结构。这种层次结构,无论是描述现实中的对象,还是计算机实现都栩栩如生。
从负面来讲:
如果你去问C/C++程序员用Java 3D来开发游戏怎么样,它们会说“太慢”。当然,他们对除C/C++以外的语言都会这么说。如果你去问专业的游戏开发程序员,对这种封装了DirectX等底层操作的工具,他们会说太业余。
(1)“太慢”的问题,这的确是一个是“致命”的问题,当然,这里指的是程序的运行效率。不过随着电脑硬件的提升,现在的电脑在硬盘基础上不再是个瓶颈。为什么汇编不会跳出来嫌C/C++太慢,因为相对于它的开发效率,那点运行效率的损失算不得什么。所以,我认为,同样的道理,就像XNA一样,它是基于微软.NET C#的的游戏开发框架,封装了DirectX API,目的就是让用户能快速开发,运行效率的损失,但换来的是开发效率的大大提升。熟好熟坏,仍然是见仁见智,或者看具体情况吧。
(2)“太业余”的问题,“专业”人士总认为使封装过的库进行游戏开发,而不懂得自己处理DirectX等底层API,太过业余。但什么是专业,XNA可以开发出类似极品飞车的Racing Game飞车游戏,这难道还算是业余。当然这个问题,不能单单这么评价,仍然是见仁见智。
说到底还是语言之争,C/C++“看不起”其它语言,因为“运行效率”;但Java/.Net也可以看不起C/C++,因为我的“开发效率”,取舍之道,仍然是见仁见智。
Error:(73, 33) 错误: 找不到符号 符号: 变量 permission 位置: 类 Manifest
res文件下得bailayout目录没有duactivity_main.xml文件:
如果实际位置有as不显示的话那就把原文件移走再拖到as对应目录下;
如果没有这个文件或者改名,就要新建一个或者改掉这个变量。
创建一个新类,名称HelloWorldApplet
import java.applet.Applet;import java.awt.Graphics;
public class HelloWorldApplet extends Applet
{
public void paint(Graphics g)
{
g.drawString("Hello World!权", 50, 25);
}
}
扩展资料:
误差可以用绝对误差和相对误差来表示。绝对误差是分析结果与真值之差,表示为:
Ea=x-T
x代表单次测定值。由于测定次数往往不止一次,因此通常用数次平行测定结果的算术平均值来表示分析结果。此时:
Ea=x平均值-T
相对误差是绝对误差和真值的百分比率:
Er=Ea/T´100%
当测定值大于真值时,误差为正,表明测定结果偏高;反之,误差为负,表明测定值偏低。在测定的绝对误差相同的条件下,待测组分含量越高,相对误差越小;反之,相对误差越大。因此,在实际工作中,常用相对误差表示测定结果的准确度。
参考资料来源:百度百科-误差
java引入openal的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java引入util包、java引入openal的信息别忘了在本站进行查找喔。
发布于:2022-11-26,除非注明,否则均为
原创文章,转载请注明出处。