OpenGL is a professional 3D program interface. It is a powerful 3D graphics library with convenient calling. The predecessor of OpenGL was SGI's IRIS GL for its graphics workstations. IRIS GL is an industry-standard 3D graphics software interface. Although powerful but not portable, SGI has developed OpenGL based on IRIS GL. The full name of OpenGL in English is "Open Graphics Library". As its name implies, OpenGL is an "open graphical program interface." Although DirectX is the leading player in the home market, OpenGL is a protagonist that cannot be replaced in the professional high-end graphics field.
OpenGL is a and. A hardware-independent software interface that can be ported between different platforms such as Windows 95, Windows NT, Unix, Linux, MacOS, OS/2. Therefore, software that supports OpenGL is very portable and can be used in a very wide range of applications. Since OpenGL is the underlying graphics library for 3D graphics, no geometric entity primitives are provided and cannot be used directly to describe the scene. However, through some conversion programs, it is convenient to convert DFX and 3DS model files made by 3D graphics design software such as AutoCAD and 3DS into OpenGL vertex arrays.
On the basis of OpenGL, there are also various advanced graphics libraries such as Open Inventor, Cosmo3D, and OpTImizer to suit different applications. Among them, Open Inventor is the most widely used. The software is based on the OpenGL object-oriented toolkit, which provides objects and methods for creating interactive 3D graphics applications, provides predefined objects and event processing modules for interaction, and creates and edits advanced application units for 3D scenes. The ability to print objects and exchange data in other graphical formats.
The development of OpenGL has been in a relatively slow state. Every time the version is improved, there are few new technologies, and most of them only modify and improve some of them. In July 1992, SGI released the 1.0 version of OpenGL, and subsequently developed the Windows NT version of OpenGL with Microsoft, enabling large 3D graphics processing software that must be run on high-end graphics workstations. use. In 1995, the 1.1 version of OpenGL was released. This version has many improvements over the performance of 1.0, and added some new features. These include improved printer support, inclusion of OpenGL calls in enhanced metafiles, new features of vertex arrays, improved vertex position, normals, colors, color indices, texture coordinates, polygon edge identification transfer speeds, and new texture features. and many more. OpenGL 1.5 has added "OpenGL Shading Language", which is the base of "OpenGL 2.0" for coloring objects, vertex shading, and extensions to fragment shading.
The main developers of the OpenGL 2.0 standard are not the original SGI, but the 3Dlabs that are gradually taking the initiative in the ARB. The 2.0 version first has to be fully compatible with the old version, while working with DirectX on vertex and pixel and memory management to maintain balance. OpenGL 2.0 will consist of the existing features of OpenGL 1.3 plus new features that are fully compatible (Figure 1). This will allow a thorough streamlining of the various entangled extended instruction sets that were introduced in the era of ARB stagnation. In addition, the implementation of hardware programmability provides a better way to integrate existing extended instructions.
At present, with the continuous development and improvement of DirectX, the advantages of OpenGL are gradually lost. So far, although the 2.0 version promoted by 3Dlabs has been available, many designs similar to the programmable units in DirectX have been added, but the users of the manufacturers recognize it. The level of knowledge is not high, and the future development prospects of OpenGL are confused.
DirectXDirectX is an application programming interface (API) that enables Windows-based games or multimedia programs to achieve higher execution efficiency, enhance 3D graphics and sound effects, and provide designers with a common hardware driver standard for games. Developers don't have to write different drivers for each brand of hardware, and they also reduce the complexity of user installation and setup hardware. This is not a bit unclear. In fact, in the literal sense, Direct is the direct meaning, and the X behind it represents a lot of meaning. From this point we can see that DirectX appears to be for many software. Provide direct service.
For example, the ashes players (longer games) used to play games under DOS. Unlike us, they can be installed on the installation. They often have to set the brand and model of the sound card first, and then Set IRQ (interrupt), I/O (input to output), DMA (access mode), if the setting is not correct, then the game sound will not be sent. This part of the setup not only makes the player nervous, but also a headache for game developers, because in order for the game to run correctly on many computers, developers must take all the market at the beginning of the game. The sound card hardware data is collected, and then different drivers are written according to different APIs (application programming interfaces), which is difficult for the game production company to complete, so there are few multimedia games at that time. Microsoft just saw this problem and launched a common application interface for the manufacturers - DirectX, as long as the game is developed according to Directx, no matter what graphics card, sound card, all you can play, but also play Better results. Of course, the premise is that your graphics card, sound card driver must also support DirectX.
DirectX is composed of many APIs. According to the nature, it can be divided into four parts: display part, sound part, input part and network part.
The display part is the key to graphics processing, divided into DirectDraw (DDraw) and Direct3D (D3D), the former is mainly responsible for 2D image acceleration. It includes many aspects: we play mpg, DVD movies, pictures, play games, etc. are all used DDraw, you can understand it as DDraw for all the lines of the line. The latter is mainly responsible for the display of 3D effects, such as scenes and characters in CS, characters in FIFA, etc., all using DirectXD DirectXD.
The main API in the sound section is DirectSound. In addition to playing sounds and processing sounds, it also enhances 3D sound and provides recording capabilities. The sound card compatibility example we mentioned earlier is solved by using DirectSound.
The input section DirecTInput can support a lot of game input devices, which can make these devices to the best state and full function. In addition to the keyboard and mouse, you can connect handles, joysticks, simulators, and more.
The network part DirectPlay is mainly developed for network function games. It provides a variety of connection methods, TPC/IP, IPX, Modem, serial port, etc., so that players can use various networking methods to play against each other. Dialogue function and confidentiality measures.
DirectX is not a pure graphics API. It is a widely used API developed by Microsoft Corporation. It includes Direct Graphics (Direct 3D+Direct Draw), Direct Input, Direct Play, Direct Sound, Direct Show, Direct Setup, Direct. Multiple components such as Media Objects provide a complete set of multimedia interface solutions. It's just an excellent performance in 3D graphics, making it bleak in other aspects. DirectX was originally developed to compensate for the lack of graphics and sound processing capabilities of the Windows 3.1 system, and has evolved into an interface that has a decisive influence on all aspects of the entire multimedia system.
DirectX is a low-level "application programming interface (API)" that provides high-performance hardware-accelerated multimedia support for Windows programs. Windows supports DirectX 8.0, which enhances the multimedia capabilities of your computer. Use DirectX to access the capabilities of your graphics card and sound card, enabling programs to deliver realistic 3D graphics and stunning music and sound effects.
DirectX makes it easy for programs to determine the hardware performance of a computer and then set the program parameters that match it. The program enables multimedia software programs to run on Windows-based computers with DirectX-compatible hardware and drivers, while ensuring that multimedia programs can take advantage of high-performance hardware.
DirectX includes a set of APIs that provide access to advanced features of high-performance hardware such as 3D graphics acceleration chips and sound cards. These APIs control low-level functions (including two-dimensional (2D) graphics acceleration), support for input devices (such as joysticks, keyboards, and mice) and control mixing and sound output.
Opengl and directx which is betterAfter years of washing, OpenGL has become the standard of the drawing engine. OpenGL's drawing quality is undoubtedly the highest. OpenGL programming is relatively complicated, but it is very simple to use. OpenGL is used to pursue perfect drawing accuracy. There are usually a variety of auxiliary libraries that can be used to output data to other devices, such as printers.
DirectX is designed for games, its drawing accuracy meets the needs of the average game, and DirectX also contains a number of auxiliary libraries for processing other data in the game, including sound data, input and output, and so on.
Therefore, if you want to specialize in the pursuit of drawing, OpenGL is the first choice. If you want programming efficiency and other functions, DirectX is the first choice.
First of all, if you want to use the engine to make games, DirectX and OpenGL have nothing to do with you, because they are the underlying content, as Frank said, they will choose according to your platform.
If you want to do an iOS app, I recommend you learn OpenGL.
You want to do Windows applications, I suggest you learn Directx (well, this is nonsense)
You use C++11 standards, then you can try to learn DirectX 9 or 11, in fact, they are ultimately "computer graphics", then you need to understand mathematical knowledge (including but not limited to linear algebra, discrete mathematics), equipment knowledge , basic primitives, pixel formats, sampling, rendering pipelines, and more.
The above two statements, you should not understand their relationship, I will briefly describe it.
DirectX is Microsoft's multimedia programming interface. Under the Windows platform, with the high-end graphics card supporting DX, the special effects of the game scene can be fully realized, and OpenGL is a cross-platform programming interface, which is a hardware-independent programming interface.
Then through the above description, I hope you can determine the platform you want to develop and choose the corresponding interface.
Of course, if you don't understand them, I recommend you learn OpenGL first.
If you use the engine, do a good job of the surface layer, the game logic can be.
British Standard Gang Switch And Socket
British Standard Gang Switch And Socket,Standard Gang Switch And Socket,Standard Gang Switch,Standard Gang Switch For Sale
ZHEJIANG HUAYAN ELECTRIC CO.,LTD , https://www.huayanelectric.com