-
Directx 9 0 Shader Model 3 0카테고리 없음 2021. 1. 23. 04:44
To create an image on the screen, the CPU provides the necessary information of the objects: coordinates, color and alpha channel values, textures etc. From these data the Graphical Processing Unit (GPU) calculates the image through complex operations. The exact architecture may vary by manufacturers and by GPU families as well, but the general ideas are the same. The DirectX 10 pipeline stages to produce an image are:
- NVIDIA CineFX 4.0 EngineDelivers advanced visual effects at unimaginable speeds. Full support for Microsoft DirectX 9.0 Shader Model 3.0 enables stunning and complex special effects. Next-generation shader architecture with new texture unit design smoothes texture processing for faster and smoother gameplay.
- Installed directx latest version but still wont support shader 3.0 so but im not to mad because i was gone while it downloaded Last edited by Afsfsfs; August 21st, 2011 at 05:22 PM.
- Re: Getting DirectX 9.0 shader model 2 working with Vista SP 2 guest. Mikero Sep 14, 2009 2:48 PM (in response to ScottDaviesVMware).
The Dynamic Shader Linkage 11 sample demonstrates use of Shader Model 5 shader interfaces and Direct3D 11 support for linking shader interface methods at runtime. The HDRToneMappingCS11 sample demonstrates how to setup and run the Compute Shader(CS for short later on), which is one of the most exciting new features of Direct3D 11.
- Input-Assembler Stage - Gets the input data (the vertex information) of the virtual world.
- Vertex-Shader Stage - Transforms the vertices to camera-space, lighting calculations, optimizations etc.
- Geometry-Shader Stage - For limited transformation of the vertex-geometry.
- Stream-Output Stage - Makes for Executed Instructions means '32 texture instructions and 64 arithmetic instructions.'
Vertex shader comparisonVS_2_0 VS_2_a VS_3_0 VS_4_0 # of instruction slots 256 256 ≥ 512 4096 Max # of instructions executed 65536 65536 65536 65536 Instruction Predication No Yes Yes Yes Temp Registers 12 13 32 4096 # constant registers ≥ 256 ≥ 256 ≥ 256 16x4096 Static Flow Control Yes Yes Yes Yes Dynamic Flow Control No Yes Yes Yes Dynamic Flow Control Depth No 24 24 Yes Vertex Texture Fetch No No Yes Yes # of texture samplers N/A N/A 4 128 Geometry instancing support No No Yes Yes Bitwise Operators No No No Yes Native Integers No No No Yes VS_2_0 = DirectX 9.0 original Shader Model 2 specification.
VS_2_a = NVIDIA GeForce FX-optimized model.
VS_3_0 = Shader Model 3.
VS_4_0 = Shader Model 4.The source of the comparison tables is Wikipedia.
Intrinsic Functions (DirectX HLSL) (Source: MSDN)The following table lists the intrinsic functions available in HLSL. https://tioplanocex.tistory.com/6. Each function has a brief description, and a link to a reference page that has more detail about the input argument and return type.
Name Syntax Description abs abs(x) Absolute value (per component). acos acos(x) Returns the arccosine of each component of x. all all(x) Test if all components of x are nonzero. any any(x) Test if any component of x is nonzero. asdouble asdouble(x) Convert the input type to a double. asfloat asfloat(x) Convert the input type to a float. asin asin(x) Returns the arcsine of each component of x. asint asint(x) Convert the input type to an integer. asuint asuint(x) Convert the input type to an unsigned integer. atan atan(x) Returns the arctangent of x. atan2 atan2(y, x) Returns the arctangent of of two values (x,y). ceil ceil(x) Returns the smallest integer which is greater than or equal to x. clamp clamp(x, min, max) Clamps x to the range [min, max]. clip clip(x) Discards the current pixel, if any component of x is less than zero. cos cos(x) Returns the cosine of x. cosh cosh(x) Returns the hyperbolic cosine of x. cross cross(x, y) Returns the cross product of two 3D vectors. D3DCOLORtoUBYTE4 D3DCOLORtoUBYTE4(x) Swizzles and scales components of the 4D vector x to compensate for the lack of UBYTE4 support in some hardware. ddx ddx(x) Returns the partial derivative of x with respect to the screen-space x-coordinate. ddy ddy(x) Returns the partial derivative of x with respect to the screen-space y-coordinate. degrees degrees(x) Converts x from radians to degrees. determinant determinant(m) Returns the determinant of the square matrix m. distance distance(x, y) Returns the distance between two points. dot dot(x, y) Returns the dot product of two vectors. exp exp(x) Returns the base-e exponent. exp2 exp2(x) Base 2 exponent (per component). faceforward faceforward(n, i, ng) Returns -n * sign(•(i, ng)). floor floor(x) Returns the greatest integer which is less than or equal to x. fmod fmod(x, y) Returns the floating point remainder of x/y. frac frac(x) Returns the fractional part of x. frexp frexp(x, exp) Returns the mantissa and exponent of x. fwidth fwidth(x) Returns abs(ddx(x)) + abs(ddy(x)) GetRenderTargetSampleCount GetRenderTargetSampleCount() Returns the number of render-target samples. GetRenderTargetSamplePosition GetRenderTargetSamplePosition(x) Returns a sample position (x,y) for a given sample index. isfinite isfinite(x) Returns true if x is finite, false otherwise. isinf isinf(x) Returns true if x is +INF or -INF, false otherwise. isnan isnan(x) Returns true if x is NAN or QNAN, false otherwise. ldexp ldexp(x, exp) Returns x * 2exp length length(v) Returns the length of the vector v. lerp lerp(x, y, s) Returns x + s(y - x). lit lit(n • l, n • h, m) Returns a lighting vector (ambient, diffuse, specular, 1) log log(x) Returns the base-e logarithm of x. log10 log10(x) Returns the base-10 logarithm of x. log2 log2(x) Returns the base-2 logarithm of x. max max(x, y) Selects the greater of x and y. min min(x, y) Selects the lesser of x and y. modf modf(x, out ip) Splits the value x into fractional and integer parts. mul mul(x, y) Performs matrix multiplication using x and y. noise noise(x) Generates a random value using the Perlin-noise algorithm. normalize normalize(x) Returns a normalized vector. pow pow(x, y) Returns xy. radians radians(x) Converts x from degrees to radians. reflect reflect(i, n) Returns a reflection vector. refract refract(i, n, R) Returns the refraction vector. round round(x) Rounds x to the nearest integer rsqrt rsqrt(x) Returns 1 / sqrt(x) saturate saturate(x) Clamps x to the range [0, 1] sign sign(x) Computes the sign of x. sin sin(x) Returns the sine of x sincos sincos(x, out s, out c) Returns the sine and cosine of x. sinh sinh(x) Returns the hyperbolic sine of x smoothstep smoothstep(min, max, x) Returns a smooth Hermite interpolation between 0 and 1. sqrt sqrt(x) Square root (per component) step step(a, x) Returns (x >= a) ? 1 : 0 tan tan(x) Returns the tangent of x tanh tanh(x) Returns the hyperbolic tangent of x tex1D tex1D(s, t) 1D texture lookup. tex1Dbias tex1Dbias(s, t) 1D texture lookup with bias. tex1Dgrad tex1Dgrad(s, t, ddx, ddy) 1D texture lookup with a gradient. tex1Dlod tex1Dlod(s, t) 1D texture lookup with LOD. tex1Dproj tex1Dproj(s, t) 1D texture lookup with projective divide. tex2D tex2D(s, t) 2D texture lookup. tex2Dbias tex2Dbias(s, t) 2D texture lookup with bias. tex2Dgrad tex2Dgrad(s, t, ddx, ddy) 2D texture lookup with a gradient. tex2Dlod tex2Dlod(s, t) 2D texture lookup with LOD. tex2Dproj tex2Dproj(s, t) 2D texture lookup with projective divide. tex3D tex3D(s, t) 3D texture lookup. tex3Dbias tex3Dbias(s, t) 3D texture lookup with bias. tex3Dgrad tex3Dgrad(s, t, ddx, ddy) 3D texture lookup with a gradient. tex3Dlod tex3Dlod(s, t) 3D texture lookup with LOD. tex3Dproj tex3Dproj(s, t) 3D texture lookup with projective divide. texCUBE texCUBE(s, t) Cube texture lookup. texCUBEbias texCUBEbias(s, t) Cube texture lookup with bias. texCUBEgrad texCUBEgrad(s, t, ddx, ddy) Cube texture lookup with a gradient. texCUBElod tex3Dlod(s, t) Cube texture lookup with LOD. texCUBEproj texCUBEproj(s, t) Cube texture lookup with projective divide. transpose transpose(m) Returns the transpose of the matrix m. trunc trunc(x) Truncates floating-point value(s) to integer value(s) Download app through itunes. Links:
1. Uni Düsseldorf - Geometry Shaders - full source reference2. Craig Peeper, Jason L. Mitchell: Introduction to the DirectX® 9 High Level Shading Language4. HLSL Introduction6. Bryan Dudash: Next Generation Shading and Rendering7. James C. Leiterman: Learn Vertex and Pixel Shader Programming with DirectX® 98. Ron Fosner: Real-Time Shader Programming (Morgan Kaufmann Publishers © 2003)
To handle the diversity of video cards in new and existing machines, Microsoft Direct3D 11 introduces the concept of feature levels. This topic discusses Direct3D feature levels.
Each video card implements a certain level of Microsoft DirectX (DX) functionality depending on the graphics processing units (GPUs) installed. In prior versions of Microsoft Direct3D, you could find out the version of Direct3D the video card implemented, and then program your application accordingly.
With Direct3D 11, a new paradigm is introduced called feature levels. A feature level is a well-defined set of GPU functionality. For instance, the 9_1 feature level implements the functionality that was implemented in Microsoft Direct3D 9, which exposes the capabilities of shader models ps_2_x and vs_2_x, while the 11_0 feature level implements the functionality that was implemented in Direct3D 11.
Now when you create a device, you can attempt to create a device for the feature level that you want to request. If the device creation works, that feature level exists, if not, the hardware does not support that feature level. You can either try to recreate a device at a lower feature level or you can choose to exit the application. For more info about creating a device, see the D3D11CreateDevice function.
Using feature levels, you can develop an application for Direct3D 9, Microsoft Direct3D 10, or Direct3D 11, and then run it on 9, 10 or 11 hardware (with some exceptions; for example, new 11 features will not run on an existing 9 card). Here is a couple of other basic properties of feature levels:
- A GPU that allows a device to be created meets or exceeds the functionality of that feature level.
- A feature level always includes the functionality of previous or lower feature levels.
- A feature level does not imply performance, only functionality. Performance is dependent on hardware implementation.
- Choose a feature level when you create a Direct3D 11 device.
For information about limitations creating nonhardware-type devices on certain feature levels, see Limitations Creating WARP and Reference Devices.
Bernie mac download. To assist you in deciding what feature level to design with, compare the features for each feature level.
The 10Level9 Reference section lists the differences between how various ID3D11Device and ID3D11DeviceContext methods behave at various 10Level9 feature levels. Turnitin free download for mac.
Formats of version numbers
There are three formats for Direct3D versions, shader models, and feature levels.
- Direct3D versions use a period; for example, Direct3D 12.0.
- Shader models use a period; for example, shader model 5.1.
- Feature levels use an underscore; for example, feature level 12_0.
Feature support for feature levels 12_1 through 9_3
The following features are available for the feature levels listed. The headings across the top row are Direct3D feature levels. The headings in the left-hand column are features. Also see Footnotes for the tables.
Feature Feature Level 12_10 12_00 11_11 11_0 10_1 10_0 9_37 Shader Model (D3D11) 5.02 5.02 5.02 5.02 4.x 4.0 2.0 (4_0_level_9_3) [vs_2_a/ps_2_x]5 Shader Model (D3D12) 5.12 5.12 5.12 5.12 N/A N/A N/A Tiled resources Tier26 Tier26 Optional Optional No No No Conservative Rasterization Tier16 Optional Optional No No No No Rasterizer Order Views Yes Optional Optional No No No No Min/Max Filters Yes Yes Optional No No No No Map Default Buffer Optional Optional Optional Optional No No No Shader Specified Stencil Reference Value Optional Optional Optional No No No No Typed Unordered Access View Loads 18 formats, more optional 18 formats, more optional 3 formats, more optional 3 formats, more optional No No No Geometry Shader Yes Yes Yes Yes Yes Yes No Stream Out Yes Yes Yes Yes Yes Yes No DirectCompute / Compute Shader Yes Yes Yes Yes Optional Optional N/A Feature Feature Level 12_10 12_00 11_11 11_0 10_1 10_0 9_37 Hull and Domain Shaders Yes Yes Yes Yes No No No Texture Resource Arrays Yes Yes Yes Yes Yes Yes No Cubemap Resource Arrays Yes Yes Yes Yes Yes No No BC4/BC5 Compression Yes Yes Yes Yes Yes Yes No BC6H/BC7 Compression Yes Yes Yes Yes No No No Alpha-to-coverage Yes Yes Yes Yes Yes Yes No Extended Formats (BGRA, and so on) Yes Yes Yes Yes Optional Optional Yes 10-bit XR High Color Format Yes Yes Yes Yes Optional Optional N/A Logic Operations (Output Merger) Yes Yes Yes Optional1 Optional1 Optional1 No Target-independent rasterization Yes Yes Yes No No No No Multiple render target(MRT) with ForcedSampleCount 1 Yes Yes Yes Optional1 Optional1 Optional1 No UAV slots 64 64 64 8 1 1 N/A Feature Feature Level 12_10 12_00 11_11 11_0 10_1 10_0 9_37 UAVs at every stage Yes Yes Yes No No No N/A Max forced sample count for UAV-only rendering 16 16 16 8 N/A N/A N/A Constant buffer offsetting and partial updates Yes Yes Yes Optional1 Optional1 Optional1 Yes1 16 bits per pixel (bpp) formats Yes Yes Yes Optional1 Optional1 Optional1 Optional1 Max Texture Dimension 16384 16384 16384 16384 8192 8192 4096 Max Cubemap Dimension 16384 16384 16384 16384 8192 8192 4096 Max Volume Extent 2048 2048 2048 2048 2048 2048 256 Max Texture Repeat 16384 16384 16384 16384 8192 8192 8192 Max Anisotropy 16 16 16 16 16 16 16 Max Primitive Count 2^32 – 1 2^32 – 1 2^32 – 1 2^32 – 1 2^32 – 1 2^32 – 1 1048575 Max Vertex Index 2^32 – 1 2^32 – 1 2^32 – 1 2^32 – 1 2^32 – 1 2^32 – 1 1048575 Max Input Slots 32 32 32 32 32 16 16 Simultaneous Render Targets 8 8 8 8 8 8 4 Occlusion Queries Yes Yes Yes Yes Yes Yes Yes Feature Feature Level 12_10 12_00 11_11 11_0 10_1 10_0 9_37 Separate Alpha Blend Yes Yes Yes Yes Yes Yes Yes Mirror Once Yes Yes Yes Yes Yes Yes Yes Overlapping Vertex Elements Yes Yes Yes Yes Yes Yes Yes Independent Write Masks Yes Yes Yes Yes Yes Yes Yes Instancing Yes Yes Yes Yes Yes Yes Yes7 Nonpowers-of-2 conditionally3 No No No No No No Yes Nonpowers-of-2 unconditionally4 Yes Yes Yes Yes Yes Yes No Feature support for feature levels 9_2 and 9_1
The following features are available for the feature levels listed. The headings across the top row are Direct3D feature levels. The headings in the left-hand column are features. Also see Footnotes for the tables.
Feature Feature Level 9_2 9_1 Shader Model (D3D11) 2.0 (4_0_level_9_1) 2.0 (4_0_level_9_1) Shader Model (D3D12) N/A N/A Tiled resources No No Conservative Rasterization No No Rasterizer Order Views No No Min/Max Filters No No Map Default Buffer No No Shader Specified Stencil Reference Value No No Typed Unordered Access View Loads No No Geometry Shader No No Stream Out No No DirectCompute / Compute Shader N/A N/A Hull and Domain Shaders No No Texture Resource Arrays No No Cubemap Resource Arrays No No BC4/BC5 Compression No No Feature Feature Level 9_2 9_1 BC6H/BC7 Compression No No Alpha-to-coverage No No Extended Formats (BGRA, and so on) Yes Yes 10-bit XR High Color Format N/A N/A Logic Operations (Output Merger) No No Target-independent rasterization No No Multiple render target(MRT) with ForcedSampleCount 1 No No UAV slots N/A N/A UAVs at every stage N/A N/A Max forced sample count for UAV-only rendering N/A N/A Constant buffer offsetting and partial updates Yes1 Yes1 16 bits per pixel (bpp) formats Optional1 Optional1 Max Texture Dimension 2048 2048 Max Cubemap Dimension 512 512 Max Volume Extent 256 256 Max Texture Repeat 2048 128 Feature Feature Level 9_2 9_1 Max Anisotropy 16 2 Max Primitive Count 1048575 65535 Max Vertex Index 1048575 65534 Max Input Slots 16 16 Simultaneous Render Targets 1 1 Occlusion Queries Yes No Separate Alpha Blend Yes No Mirror Once Yes No Overlapping Vertex Elements Yes No Independent Write Masks No No Instancing No No Nonpowers-of-2 conditionally3 Yes Yes Nonpowers-of-2 unconditionally4 No No Footnotes for the tables
0 Requires the Direct3D 11.3 or Direct3D 12 runtime.
1 Requires the Direct3D 11.1 runtime.
2 Shader model 5.0 and above can optionally support double-precision shaders, extended double-precision shaders, the SAD4 shader instruction, and partial-precision shaders. To determine the shader model 5.0 options that are available for DirectX 11, call ID3D11Device::CheckFeatureSupport. Some compatibility depends on what hardware you are running on. Shader model 5.1 and above are only supported through the DirectX 12 API, regardless of the feature level that's being used. DirectX 11 only supports up to shader model 5.0. The DirectX 12 API only goes down to feature level 11_0.
3 At feature levels 9_1, 9_2 and 9_3, the display device supports the use of 2-D textures with dimensions that are not powers of two under two conditions. First, only one MIP-map level for each texture can be created, and second, no wrap sampler modes for textures are allowed (that is, the AddressU, AddressV, and AddressW members of D3D11_SAMPLER_DESC cannot be set to D3D11_TEXTURE_ADDRESS_WRAP).
4 At feature levels 10_0, 10_1 and 11_0, the display device unconditionally supports the use of 2-D textures with dimensions that are not powers of two.
Directx 9.0 Shader Model 3.0
5 Vertex Shader 2a with 256 instructions, 32 temporary registers, static flow control of depth 4, dynamic flow control of depth 24, and D3DVS20CAPS_PREDICATION. Pixel Shader 2x with 512 instructions, 32 temporary registers, static flow control of depth 4, dynamic flow control of depth 24, D3DPS20CAPS_ARBITRARYSWIZZLE, D3DPS20CAPS_GRADIENTINSTRUCTIONS, D3DPS20CAPS_PREDICATION, D3DPS20CAPS_NODEPENDENTREADLIMIT, and D3DPS20CAPS_NOTEXINSTRUCTIONLIMIT.
6 Higher tiers optional.
Directx Runtime Download Windows 10 X64
7 For Feature Level 9_3, the only rendering methods supported are Draw, DrawIndexed, and DrawIndexInstanced. Also for Feature Level 9_3, point list rendering is supported only for rendering via Draw.
For details of format support at different hardware feature levels, refer to:
Related topics