When introducing multimedia software such as 3D Universal HD Video Capture Card and Universal Audio and Video Decoder Encoder Software, we have repeatedly mentioned DirectShow and DirectX. So what is DirectShow? What is DirectX and what is the difference between DirectShow and DirectX ?
Multimedia Interface Scheme API .
DirectX is not just a graphics API, it is a widely used API developed by Microsoft. It includes multiple components such as Direct Graphics (Direct 3D+ Direct Draw), Direct Input, Direct Play, Direct Sound, Direct Show, Direct Setup, Direct Media Objects, etc. It provides a complete multimedia interface solution.
DirectShow and DirectX .
DirectShow is a new generation of COM based streaming processing development package launched by Microsoft on the basis of ActiveMovie and Video for Windows, released together with the DirectX development package. DirectShow also integrates technology from other parts of DirectX (such as DirectDraw and DirectSound), directly supporting DVD playback and non-linear editing of videos.
DirectX's excellent performance in 3D graphics only makes its other aspects appear dull and unremarkable. DirectX was initially developed to compensate for the lack of graphics and sound processing capabilities in Windows 3.1 systems, and has now evolved into an interface that has a decisive impact on all aspects of the entire multimedia system.
DirectX 5.0.
Microsoft did not launch DirectX 4.0, but directly launched DirectX 5.0. This version has made significant changes to Direct3D, adding 3D special effects such as fog effects and alpha blending to enhance the sense of space and realism in 3D games, and also incorporating texture compression technology from S3. At the same time, DirectX 5.0 has also been enhanced in other components, including improvements in sound cards and game controllers, supporting more devices. Therefore, it was not until DirectX 5.0 that DirectX truly matured. At this point, DirectX's performance is not inferior to other 3D APIs, and there is a strong trend of catching up.
DirectX 6.0.
When DirectX 6.0 was launched, one of its biggest competitors, Glide, had gradually declined, and DirectX had gained recognition from most manufacturers. DirectX 6.0 has added technologies such as bilinear filtering and trilinear filtering to optimize 3D image quality, and 3D technology in games has gradually entered a mature stage.
DirectX 7.0.
The biggest feature of DirectX 7.0 is its support for T& L. The Chinese name is "Coordinate Conversion and Light Source". Any object in a 3D game has a coordinate, and when the object moves, its coordinates change, which refers to coordinate transformation; In 3D games, besides scenes; Objects also require lighting, and without lighting, there is no representation of 3D objects. Whether it is real-time 3D games or 3D image rendering, 3D rendering with lighting is the most resource consuming. Although OpenGL already has related technologies, they have never appeared in civilian grade hardware before. In T& Before the release of L, both position conversion and lighting required a CPU for calculation, and the faster the CPU speed, the smoother the game performance. Used T& After the L function, the calculation of these two effects is performed using the GPU of the display card, which can free the CPU from busy labor. In other words, having T& L display card, using DirectX 7.0, can run 3D games smoothly even without a high-speed CPU.
DirectX 8.0.
The release of DirectX 8.0 triggered a graphics card revolution, introducing the concept of "pixel rendering" for the first time, which includes both pixel and vertex rendering engines, reflected in dynamic lighting effects. Same hardware T& Compared to the fixed light and shadow conversion achieved solely by L, VS and PS units have greater flexibility, making GPUs truly programmable processors. This means that programmers can greatly reduce the difficulty of building 3D scenes through them. Through VS and PS rendering, it is easy to create realistic dynamic ripple light and shadow effects on the water surface. At this point, the authoritative position of DirectX has finally been established.
DirectX 9.0.
At the end of 2002, Microsoft released DirectX 9.0. The rendering accuracy of the PS unit in DirectX 9 has reached floating-point accuracy, compared to traditional hardware T& The L unit has also been cancelled. The programming of the all-new VertexShader (VertexShader Engine) will be much more complex than before. The new VertexShader standard has added process control, more constants, and the number of coloring instructions per program has increased to 1024.
PS 2.0 has a fully programmable architecture that allows for real-time calculation of texture effects, dynamic texture mapping, and does not require graphics memory. In theory, it greatly improves the accuracy of material mapping resolution; In addition, PS1.4 can only support 28 hardware instructions and operate on 6 materials at the same time, while PS2.0 can support 160 hardware instructions and operate on 16 material quantities at the same time. The new high-precision floating-point data specification can use multiple texture maps, and the number of instructions that can be operated on can be arbitrarily long, making it easy to achieve movie level display effects.
VS 2.0 significantly improves the VS performance of older versions (DirectX8) by increasing the flexibility of Vertex programs. With the new control instructions, a universal program can replace the previously dedicated standalone coloring program, resulting in many times higher efficiency; Increase loop operation instructions, reduce working time, and improve processing efficiency; Expand the number of coloring instructions from 128 to 256.
Add processing capabilities for floating-point data. Previously, only integers could be processed, which improved rendering accuracy and resulted in the final processed color format reaching movie level. Breaking through the mathematical accuracy barriers that previously limited the quality of PC graphics and images, each rendering pipeline has been upgraded to 128 bit floating-point colors, making it easier for game designers to create more beautiful effects and making programming easier for programmers.
DirectX 9.0c.
Compared to the past DirectX 9.0b and Shader Model 2.0, the biggest improvement of DirectX 9.0c is the introduction of comprehensive support for Shader Model 3.0 (including Pixel Shader 3.0 and Vertex Shader 3.0 coloring language specifications). For example, the Shader Model 2.0 of DirectX 9.0b only supports a maximum of 256 Vertex Shaders and 96 Pixel Shaders. In the latest Shader Model 3.0, the maximum number of instructions for Vertex Shader and Pixel Shader has significantly increased to 65535. The new dynamic program flow control, displacement mapping, multiple rendering targets (MRT), subsurface scattering, soft shadows, environmental and ground shadows, global illumination, and other new technological features make GeForce 6, GeForce 7 series, and Radeon X1000 series immediately a new generation of games, as well as complex digital worlds and realistic characters with unparalleled realism and fantasy. Providing strong motivation for activities in an environment of film and television quality.
Therefore, the launch of the DirectX 9.0c and Shader Model 3.0 standards can be said to be an important turning point in the development of DirectX. In DirectX 9.0c, Shader Model 3.0 not only eliminates the instruction limit and adds new features such as displacement maps, but also focuses more on improving game execution efficiency and quality. After the birth of Shader Model 3.0, people's attitude towards games has shifted from simply pursuing speed to balancing game graphics and running speed. Therefore, the impact of Shader Model 3.0 on the gaming industry can be said to be profound.
DirectX 10.
The biggest structural change in the graphics pipeline system of DirectX 10 is the addition of a Geometry Shader in the geometry processing stage. The geometric rendering unit is attached to the vertex rendering unit, but it does not output individual vertices like the vertex rendering unit, but rather uses primitives as processing objects. A primitive is one level higher than a vertex in hierarchy and is composed of one or more vertices. A primitive composed of a single vertex is called a point, a primitive composed of two vertices is called a line, and a primitive composed of three vertices is called a triangle. The geometric rendering unit supports multiple types of primitives, such as points, lines, triangles, lines with adjacent vertices, and triangles with adjacent vertices. It can process up to six vertices at a time. With the support of rich primitive types, geometric rendering units can provide GPUs with finer model details.
The geometric rendering unit endows the GPU with the magical ability to create new geometric objects and add content to the scene on its own. The flexible processing capability makes GPUs more versatile, and many tasks that used to rely on CPUs can now be fully handled by GPUs. In this way, the CPU has more time to handle tasks such as artificial intelligence and addressing. Even more surprising is that geometric rendering units make the addition of physical operations easier. DirectX 10 can create boxes with physical properties and simulate rigid objects, and physical operations are expected to gradually become popular under its leadership. It can be foreseen that with the use of geometric rendering units as a weapon, graphics card performance will undergo a qualitative leap, and we will also experience games with smoother speed, more exquisite graphics, and more detailed storylines.
DirectX 10.1.
Just like previous versions of DX, DX10.1 is also a superset of DX10, so it will support all the features of DirectX 10, while also supporting more features and providing higher performance.
A major improvement of DX10.1 is the improved shader resource access function, which provides better control when reading samples in multi sample AA scenarios. In addition, DX10.1 will also be able to create customized downlink sampling filters.
DX10.1 will also have an updated floating-point blending feature, which is more targeted for rendering targets. There will be a new format for rendering target blending, and rendering targets can achieve independent individual blending. The shadow function has always been an important special effect in games, and the shadow filtering function of Direct3D 10.1 will also be improved, which is expected to further improve the image quality.
In terms of performance, DirectX 10.1 will support multi-core systems with higher performance. When rendering, reflecting, and scattering, Direct3D 10.1 will reduce the number of API calls, resulting in a good performance improvement.
In other aspects, DX10.1 has also made significant improvements, including 32-bit floating-point filtering, which can improve rendering accuracy and improve the image quality of HDR rendering. Complete anti aliasing application control will also be a highlight of DX10.1, as the application will be able to control the use of multisampling and supersampling, and select sampling templates that appear in specific scenarios. DX10.1 will require at least single pixel four sampling.
DX10.1 will also introduce an updated driver model, WDDM 2.1. Compared to WDDM2.0 of DX10, 2.1 has some significant improvements.
Firstly, there are more content conversion functions. WDDM2.0 supports content conversion after processing a command or triangle, while WDDM2.1 allows for immediate content conversion. Due to the parallel processing of multiple threads by GPUs, the immediacy of content conversion not only ensures conversion quality, but also improves GPU efficiency and reduces waiting time. In addition, due to WDDM 2.1's support for process based virtual memory allocation, the way to handle GPU and driver page errors is also more mature.
Tongthree-dimensional will be committed to exploring and cultivating high-definition streaming media capture cards . Tongthree-dimensional professional audio and video capture cards support the development of standard Directshow. In addition to the T200AE high-definition VGA capture card developed using standard WDM driver and supporting standard Directshow, there is also the T620E universal high-definition capture card developed using Microsoft AVStream standard driver, which is a two-way DVI/VGA/HDMI audio and video capture card, Compatible with various audio and video capture software using the DirectShow interface and audio capture software using the DirectSound interface.
http://www.360tsw.com/faq_yy_123.html .