iedocAdmin
Profile
Reputation
Questions
Answers
Tutorials
Comments
Files
Member Since: Nov -0001
Profile Views: 3845
Reputation: 662
Posts: 1117
-1 16. Simple Lighting
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+3 04. DirectX 12 - Braynzar Soft Tutorials
+1
+1
+1 Access data from shader, when rendered to a texture
+1
+1 Is unidentified
+1
+1 FBX rigging in Blender
+1 Question about Descriptor Range of RootDescriptorTables
+1 Is unidentified
+3
+1
+1
+1
+1
+1 Texture Usage
+1 Render Targets
+1 DirectX 11 Blending
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+3 16. Simple Lighting
+1
+1
+1
+1
+1
+1
+1
+1
+1
+5 DX12, RootSignature versioning.
+3 DX12, RootSignature versioning.
+1 DX12, RootSignature versioning.
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1 Could someone explain wht this worked.
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1 Asynchronous Texture Upload D3DX
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1 How would I go about getting the camera to move with the mouse cursor. - Directx12
+1
+5 How would I go about getting the camera to move with the mouse cursor. - Directx12
+1 How would I go about getting the camera to move with the mouse cursor. - Directx12
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1 DirectX 11
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+3 04. Begin Drawing!
+1
+1
+1
+1
+1
+5 Where are you?
+1
+1 CreateSwapChain function returns empty/NULL tempSwapChain
+1 CreateSwapChain function returns empty/NULL tempSwapChain
+1
+1
+3 01. Setting up DirectX 12 for Visual Studio 2015
+3 02. Creating a Window
+1
+1 Where are you?
+1
+1
+1
+1 03. Creating a window
+1
+1 02. Setting up in Visual studio 2015
+1 01. Introduction to OpenGL
+1 04. Graphics pipeline
+1 04. Processing window input and adding colors
+1 OpenGL Tutorials
+1
+1
+1
+1
+1
+1
+1
+1
+5
+1 Adding MSAA in DX12
+1
+1 Multiple textures on a single shader.
+1
+1
+1
+1
+1
+1
+1
+1
+1
+3 20. Cube Mapping (Skybox)
+1
+1
+1
+1 Texture not working
+1
+3 23. Normal Mapping (Bump Mapping)
+3 04. DirectX 12 - Braynzar Soft Tutorials
+3 03. DirectX 11 - Braynzar Soft Tutorials
+1
+1
+1
+1 Texture not working
+1
+1
+3
+5
+1
+1
+1 Sphere rotation
+1 Mapping Multiple Textures to Single Object
+1 What's the reason for the D3D12_ROOT_PARAMETER's DescriptorTable.NumDescriptorRanges
+1
+3
+5
+1
+3
+1
+1
+1 DirectX 11 - Cube Mapping (Skybox)
+1 Indexing in DirextX12
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1 Trying to complete a build
+1 Trying to complete a build
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+5 Changing Texture Coordinates (DirectX11 30. Heightmap (Terrain))
+1
+1
+1
+1
+1
+5
+1 DirectX 11 - Point Lights
+1
+1
+5 How to integrate Bullet Physics in to Directx
+3 How to integrate Bullet Physics in to Directx
+1
+1
+1
+1
+5
+1 DirectX12 - Frame Resources , Custom UI Class
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1 DirectX 12 Storing vertex data in separate buffers
+1
+5
+1
+3 Obj Model Loader
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+3 11. Drawing text in DirectX 12
+1
+1
+1
+1
+1
+1
+3 04. DirectX 12 - Braynzar Soft Tutorials
+1
+1
+1
+1
+1
+1
+1
+3 04. DirectX 12 - Braynzar Soft Tutorials
+1
+1
+1
+1
+1
+1 DirectX 11 MD5 Loading tutorial Index Buffer too small
+1
+3 03. DirectX 11 - Braynzar Soft Tutorials
+3 04. DirectX 12 - Braynzar Soft Tutorials
+1
+1
+1
+1
+1 04. Variables
+1
+3 09. Transformations and World View Projection Space Matrices
+1
+1 02. Setting up Visual Studio project
+1 01. Introduction to C++, and Installing Visual Studio 2015
+1 C++ Tutorial
+1 03. A simple C++ Program
+1
+1
+1
+5
+3
+1 DirectX11 tutorial texture
+1
+1
+1
+1
+5
+1
+1 12 vertices in quad?
+1 Getting compiler error when trying to compile code from directx 12 tutorial #3
+1 Getting compiler error when trying to compile code from directx 12 tutorial #3
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+3 28. Skeletal Animation (based on the MD5 format)
+1
+3 How to integrate Bullet Physics in to Directx
+1
+1
+1
+3 03. Initializing DirectX 12
+1
+1
+3 02. Creating a Window
+3 04. DirectX 12 - Braynzar Soft Tutorials
+3 03. DirectX 11 - Braynzar Soft Tutorials
+1
+3 13. Pixel Clipping
+1
+1
+1
+1
+1
+1
+1
+1 Direct3D 11 Tutorial 14 (Simple Font)
+3 02. An Introduction to the Win32 API
-1 13. Pixel Clipping
+3 23. Normal Mapping (Bump Mapping)
+3 15. High Resolution Timer
+1 Dont know the shader code for tutorial 11 in directx 11 tutorial collection
+1 Dont know the shader code for tutorial 11 in directx 11 tutorial collection
+5
+1 "error X3501: 'main': entrypoint not found" while compiling HLSL in visual studio
+5 Directx not Drawing Onto Screen
+5 I'm confused ! (Constant buffer and buffers)
+3
+5
+3 Why don't ya split all code to classes?
+5 Why don't ya split all code to classes?
+1 Where are the old tutorials
+3 15. High Resolution Timer
+3 How much time do you spend making one tutorial?
+1 I love you iedoc
+5 How much time do you spend making one tutorial?
Where are the Braynzar Soft DirectX 10 and 11 tuto...
0
rating
1
answers
359
views
Braynzar Soft has a new site, and the old tutorials are not there yet, where are they?
Error problem
0
rating
the struct ModelAnimation needs to be declared before you use it. in your code you have: std::v...
Access data from shader, when rendered to a textur...
0
rating
Use a point sampler to access the data from a texture. This way it will access the closes texel to t...
FBX rigging in Blender
0
rating
There are not any on my site currently, but i'd be more than happy if you were to write one once you...
Is unidentified
0
rating
First of all, thanks for cleaning up your post, its a lot easier to read this way. The errors you a...
Texture Usage
0
rating
This is similar to your other question. Instead of explaining everything here, i'm just going to poi...
Render Targets
0
rating
The way this works, is you create the swapchain as you currently are. For example lets just say you ...
1
rating
It is not possible to directly read the destination pixel's color from the currently bound render ta...
DX12, RootSignature versioning.
1
rating
The root signature is what is actually being versioned, not the data the root descriptor points to. ...
How would I go about getting the camera to move wi...
0
rating
This is just a logic problem, nothing d3d related. But all you have to do is remove the the if state...
Lights in DirectX12
0
rating
Hi maxiorek82, This could really turn out to be a pretty big topic, but the short answer is you can...
DirectX 11
0
rating
You would draw it the same way you draw any model. You could either load it in from a model file you...
Where are you?
0
rating
I am still here and my tutorials are also still here. If your asking why there aren't any new tutor...
0
rating
Hi Ersin07! That's a great question! Since DX12 doesn't support MSAA swap chains, this is how you c...
1
rating
You can get the rotation axis by crossing your direction vector with your worlds "up" vect...
Mapping Multiple Textures to Single Object
0
rating
Models are usually separated into sub meshes by material, so that each draw call can provide the mat...
0
rating
I'll assume you have a good understanding of the resource binding model and the root signature for D...
1
rating
Dynamic indexing provides flexibility at the cost of an added level of indirection. So all other thi...
Changing Texture Coordinates (DirectX11 30. Height...
0
rating
Rather than adding 1 to the u and v coordinates per quad, add an increment value of 1/rows and 1/col...
1
rating
No. The reason is because the face/vertex normals are facing away from the light source, which means...
0
rating
I couldn't say there's really any right answer here since this has to do with design, and there's al...
0
rating
Hi nameless323! I'm glad you asked that question. It is very possible and very useful. It's a must ...
1
rating
The easiest way to do it is to copy these files from the toolkit into your project: pch.h Di...
0
rating
Thanks AaronSmith for posting this question. You have found a bug in the code. I will update the tut...
How to integrate Bullet Physics in to Directx
2
rating
When you develop an application, you'll usually want to split it up into functional parts. Integrati...
0
rating
The reason is probably because visual studio is trying to compile the shader file with fxc.exe. wha...
Directx not Drawing Onto Screen
0
rating
I think your defining your vertex buffer desc wrong vbd.ByteWidth = sizeof(Math::Vertex) / 3; ...
I'm confused ! (Constant buffer and buffers)
0
rating
Buffers are just a chunk of temporary memory. they are used when moving data from one location to an...
1
rating
Try looking here: .[http://www.katsbits.com/tools/][http://www.katsbits.com/tools/] I don't rememb...
DX11 occlusion culling tutorial
0
rating
Like IamU4 said, I don't have an occlusion tutorial at the moment, but ill make one while I'm making...
Why don't ya split all code to classes?
1
rating
The reason I had crammed everything onto one cpp file was so that the tutorials could be completely ...
0
rating
The problem is that you are drawing over the button. either you are not redrawing the button every f...
How much time do you spend making one tutorial?
1
rating
yeah, i just realized that and it\'s quite annoying, i\'ll probably fix that bug first (first of man...
0
rating
You can find the Braynzar Soft Tutorials at .[http://www.braynzarsoft.net/viewtutorial/q16390-braynz...
01. A little about DirectX
0
rating
0
answers
694
views
Brief intro to DirectX.
01. DirectX 9 - Braynzar Soft Tutorials [Collection]
0
rating
0
answers
3132
views
This is a collection of directx 9 tutorials
01. Setting up DirectX 12 for Visual Studio 2015
1
rating
0
answers
10007
views
This tutorial will teach you how to set up a Visual Studio 2015 project with DirectX 12
01. Setting Up in VS 2010
0
rating
0
answers
3145
views
This is just a quick lesson on how to set up your environment in MS Visual Studio 2010.
01. Setting Up in VS 2010
0
rating
0
answers
494
views
This is just a quick lesson on how to set up your environment in MS Visual Studio 2010.
02. An Introduction to the Win32 API
1
rating
0
answers
4645
views
Before we get started with DirectX, we first need to create the window which we will draw our graphics on.
02. Creating a Win32 Window
0
rating
0
answers
690
views
Learn how to set up and display a window with a message loop to keep the window displayed.
02. Creating a Window
0
rating
0
answers
642
views
Before we get started with DirectX, we first need to create the window which we will draw our graphics on.
02. Creating a Window
2
rating
0
answers
4017
views
Before we can start drawing with directx, we need to create a window to draw on. In this tutorial we will create a window using the Win32 API that direct3d can draw in.
02. DirectX 10 - Braynzar Soft Tutorials [Collection]
0
rating
0
answers
2833
views
This is a collection of Braynzar Softs DirectX 10 tutorials.
03. DirectX 11 - Braynzar Soft Tutorials [Collection]
3
rating
0
answers
20988
views
This is a collection of Braynzar Softs DirectX 11 tutorials.
03. Initializing Direct3D
0
rating
0
answers
670
views
This is where we finally initialize direct3d. All lessons after this will build off of this base code. The final product of this lessons will be a screen which changes colors! Lets get started!
03. Initializing Direct3D
0
rating
0
answers
780
views
In this Lesson you will learn how to Initialize a Direct3D Object. Initializing Direct3D assumes you have knowledge of how to program with windows API and can create a blank window.
03. Initializing Direct3D 11
0
rating
0
answers
6245
views
Here we will learn how to set up the direct3d device, and use direct3d to render to the screen! Since this is the bare minimum for directx to work, all lessons from this point on will use this, sometimes with a little modification here or there.
03. Initializing DirectX 12
1
rating
0
answers
10040
views
This tutorial will get us started using Direct3D 12
04. Begin Drawing!
1
rating
0
answers
5307
views
Now that we have initialized direct3d, we can start displaying our crazy minds on the computer! Well... maybe not quite, but drawing a simple triangle is a huge step in the right direction, as ALL 3D objects and scenes we will be drawing are made up of them. Here we will draw a simple, solid blue colored triangle. We will discuss the rendering pipeline and get an idea of how shaders work.
04. DirectX 12 - Braynzar Soft Tutorials [Collection]
6
rating
0
answers
14397
views
This is a collection of DirectX 12 tutorials!
04. Drawing!
0
rating
0
answers
4525
views
We will start drawing geometry onto the screen in this tutorial. We will learn more about Pipeline State Objects (PSO) and Root Sigantures. We will also learn about resource heaps, viewports, scissor rectangles and vertices!
04. Fullscreen
0
rating
0
answers
445
views
This lesson will show you what you have to do to go fullscreen.
04. Simple Font
0
rating
0
answers
598
views
We'll learn how to display simple font with Direct3D's ID3DX10Font Interface!
05. Adding Color
0
rating
0
answers
1742
views
Let's get some color in our scene. In this tutorial we will add color to our vertices to color our triangle. This involves updating the vertex shader to pass the color to the pixel shader, the pixel shader to output the color passed to it, the vertex structure to add a color attribute, and the input layout to include a color input element.
05. Begin Drawing
0
rating
0
answers
544
views
We finally get to the fun part of drawing geometry! I know it doesn't look like much, but this is a big step and very important to the future of our 3d games. Almost EVERYTHING you will draw on the screen consists of triangles, lines, points, and squares. In this lesson i will cover the pipeline stages as well, some only breifly as we will cover them in more detail later on. Also, we have an addition of a new file called an effect file. We need this file to draw anything on the screen. I will breifly go over it in this lessons, but later we can talk more about it.
05. Color!
0
rating
0
answers
2470
views
This is a short lesson on how we can modify our shaders, vertex structure, and input layout to include color. The color we specify for each vertex will be "interpolated" across the triangle.
05. Start Drawing!
0
rating
0
answers
681
views
Now that we have all the initialization out of the way, we can start drawing polygons!
06. Color
0
rating
0
answers
503
views
This is a short tutorial showing you how to add color to your polygons.
06. Color!
0
rating
0
answers
450
views
Here is a short lesson on what we need to do to get some color in our scene. This lesson builds off of the last one, begin drawing.
06. Index Buffers
0
rating
0
answers
1839
views
In this tutorial we will learn how to use indices to define our triangles. This is useful because we can remove duplicate vertices, as many times the same vertex is used in multiple triangles.
06. Indices
0
rating
0
answers
2292
views
This is another short lesson on how to use indices. Indices let you define how to draw your geometry. For example, you could draw a square by creating two triangles, each with 3 vertices. That makes 6 vertices you would need to create. Using an index buffer, you can create a square using only 4 vertices like we will do. Our index list will define the first triangle as vertex 0, 1, 2, and the second vertex as 0, 2, 3.
07. Depth
0
rating
0
answers
2432
views
Here is another short lesson on how to impliment depth. We will create a depth/stencil buffer, then create a depth/stencil view which we bind to the OM stage of the pipeline. Binding a depth/stencil view to the OM stage will allow it to check each pixel fragement's depth value on the render target. If there are more than one pixel fragments in a spot on the render target, the pixel fragment with the lowest depth value (closest to the screen) will get drawn, and the others will be discarded. The outcome of this tutorial will not look any different from the last tutorial, but implimenting a depth/stencil buffer is necessary to render 3D scenes in directx.
07. Depth Testing
0
rating
0
answers
1975
views
we will learn about depth testing in this tutorial. We will draw two quads, one further away from the camera, and one closer. We will draw the further away quad last to highlight the importance of depth testing. Without depth testing, the further away quad will show up in front of the closer quad because it is drawn second.
07. Index Buffer
0
rating
0
answers
417
views
Index buffers are used to tell direct3d how to put the vertices together to form primitives.
07. Index Buffers
0
rating
0
answers
464
views
Index Buffers are used to speed up or optimize your program. They are pretty much the same thing as Vertex Buffers, but instead of storing vertices, it stores indeces. Buffers are used to speed up the rendering of geometry, and can be placed in video memory.
08. Constant Buffers (Using Root Descriptor Tables...
0
rating
0
answers
3279
views
In this tutorial we will see how to send data to the shaders using a descriptor table containing a constant buffer view.
08. Depth Buffer
0
rating
0
answers
421
views
Here we will learn how to bind a depth buffer to our render target. A depth buffer tests each pixel on the back buffer before presenting it to the screen. If there is a primitive in front of another primitive, then the primitive in front will get its pixels drawn, and the pixels in the primitive behind that are covered up by the pixels in the primitive in front will not get drawn.
08. Rotation and Projection
0
rating
0
answers
681
views
This lesson will teach you how you can use matrices to rotate objects in world space. You will also learn how to set up a basic view and projection matrix (which is a basic camera) using D3DXMatrixLookAtLH() and D3DXMatrixPerspectiveFovLH().
08. World View and Local Spaces (static Camera)
0
rating
0
answers
2984
views
We will learn about the world, view, and local spaces in a 3D world, which will enable us to create a camera, so only the things the camera sees will be drawn to the screen. We will learn how to impliment a static (not moving) camera, and how to work with a shaders constant buffers, which are variables in an effect file that shaders can use, and we can update from our code.
09. Transformations
0
rating
0
answers
3157
views
This is another pretty short lesson on tranformations. We will transform the world space for each object (the two cubes) using transformation matrices.
09. Transformations
0
rating
0
answers
454
views
This lessons will cover how to translate and scale objects in 3D space. We will learn about translation, scaling, and rotation matrices.
09. Transformations and World View Projection Spac...
1
rating
0
answers
2583
views
In this tutorial, we will learn about matrices, transformations, world/view/projection space matrices, and constant buffers per draw.
09. World, View, and Local Space
0
rating
0
answers
439
views
We get to learn about the World, View and Local spaces in Direct3D, and how to initialize them, set them, and convert them!
10. Render States
0
rating
0
answers
2470
views
Here is a nice little lesson which will teach you about Direct3D's render states.
10. Textures
0
rating
0
answers
593
views
It would be pretty hard to make a detailed game without using textures. Here we shall cover how to apply textures to our primitives.
10. Textures From File
0
rating
0
answers
2807
views
This tutorial will teach you how to create textures from a file. We will learn how to load in an image from a file using the Windows Imaging Component (WIC) API. Once we have the image loaded in, we will upload it to a default resource heap using an upload heap, create an SRV, then use sample from that SRV in our pixel shader to color our cube.
10. Transformations
0
rating
0
answers
445
views
Heres a more exciting lesson on transformations! We will show you how to do translating, scaling, and rotating!
11. Drawing text in DirectX 12
1
rating
0
answers
3786
views
In this tutorial we will learn how to draw some bitmap text in directx 12. We will also learn how to use a high precision timer to get our frames per second as well as keep the timing of our game logic consistent, where things move based on time rather than based on how fast the computer runs as in the previous tutorials.
11. Lighting
0
rating
0
answers
536
views
Without lighting, your scenes are bland and lack realism. With lighting, you have a more natural scene, you can see the solid form and volume of objects better and get a much more realistic feeling while wondering through your 3 Dimensional world.
11. Render States
0
rating
0
answers
423
views
I want to cover the Render states before we start doing anything else, so here we will learn about the different render states and how to use them! The outcome of this lesson will be a nice little blue wireframe grid!
11. Textures
0
rating
0
answers
3604
views
Here's another pretty short lesson on how to load a texture from a file and map it onto geometry!
12. Blending
0
rating
0
answers
2343
views
Here we will learn about a technique called "blending"! This will give us the ability to render "transparent" primitives. This lesson builds off the last lesson "Textures". We will add blending to our lesson, so the two boxes will look like they are made of stained glass or something. We will also learn about a problem when rendering transparent objects, where they are transparent to each other sometimes, and sometimes they are not transparent to each other at all.
12. Blending
0
rating
0
answers
570
views
In this lesson, we'll learn how to use simple blending. Blending can be used for many different effects, like the for glass in windows, or for masking textures and objects. Here we'll take 3 different images for the background, and slowly blend them together to make the background look interesting. We'll also learn how to make and use the alpha channel in a texture for blending.
12. Textures
0
rating
0
answers
425
views
Here we will learn how to add textures to our objects. This lesson modifies the Transformation lesson code.
13. Blending
0
rating
0
answers
503
views
In this lesson, we will go over how to create a simple transparent cube in DirectX.
13. Pixel Clipping
0
rating
0
answers
1638
views
This is a very short lesson on how to quickly and efficiently clip pixels from being drawn to the screen.
14. Pixel Clipping
0
rating
0
answers
411
views
Here is a very short lessons on how to create a wire box type thing using the HLSL clip() function in an effect file.
14. Simple Font
0
rating
0
answers
2362
views
I waited for this lesson until we have covered some things that need to be implimented in this lesson, such as blending and textures. As you may or may not know already, font in direct3d 11 is a pain in the ass to say the least. I don't know what the developers were thinking exactly, but I believe they have taken out the ID3DXFont interface from direct3d in order to direct people to two new API's, Direct2D and DirectWrite. However, the worst part about this is that Direct2D is not "interopable" with D3D 11, meaning you can't use them together directly... (A big thumbs down for microsoft). So anyway, enough complaining. There are a couple ways we can impliment font into D3D 11, and the one we will be learning about uses the two new API's microsoft wants us to use, because in fact, they could be very usefull and pretty cool, not to mention flexible (except for the fact we can't use them directly with a D3D 11 device...). Since we are not able to use them directly with a D3D 11, we will need to use them with a D3D 10.1 device, and swap between the two devices when rendering.
15. High Resolution Timer
2
rating
0
answers
1569
views
In this lesson, we will learn how to make a high resolution timer in three functions, which we can use to make sure the speed of every moving thing in our scene is updated based on time. This means that no matter what our frames per second are, an object moving in our scene will cover exactly the same distance in one second, whether the fps is 3, 30, or 300, as the distance the object covers or how much it spins will be based on time, and not fps like we have been doing. I waited to have a font lesson before I did this one so we can display the fps, as thats always a nice thing to know when developing games.
15. Simple Lighting
0
rating
0
answers
450
views
To make our scenes more realistic and fun, we can use a technique called lighting. In this lesson, we will learn about the different kinds of light, and the math that is involved. At the end of the lesson, you will have learned how to impliment a simple lighting technique called Directional Lighting. Remember that the fixed function pipeline was taken out of directx 10, and structures and types used to impliment lighting in directx 9 were part of the fixed function pipeline. What this means, is lighting must now be done manualy in directx 10, making it a bit more tedious, but also giving you much more control over it.
16. Direct Input
0
rating
0
answers
484
views
In this lesson, we will learn how to use Direct Input to get keyboard and mouse information from the user. This is a pretty short lesson that builds off the last lesson, Simple Lighting.
16. Simple Lighting
0
rating
0
answers
2290
views
There are four types of light, and three kinds of light sources. We will go over them in this lesson, and learn how to impliment simple lighting, using a "Directional" Light source. We will cover the other two types of light sources and specular lighting in a later lesson.
17. Loading 3D Models
0
rating
0
answers
769
views
In this lesson, we will learn how to use the ID3D10Mesh interface to store a 3d model file exported from a 3d modeler such as 3D Studio Max. Since you can find free loaders for almost any 3d model format, we will load a custom 3d model format exported from 3ds max, just to show you how it is done. We will be learning about and using the ID3D10Mesh interface, which we will use to store our 3d model into. This lesson builds off the last lesson, Direct Input.
17. Point Lights
0
rating
0
answers
1519
views
This lesson will build right off the last lesson. We will learn how to make a simple point light, which takes the position of the first cube and rotates around the second (center) cube.
18. Direct Input
0
rating
0
answers
1827
views
We will learn how to take input from a user, through the keyboard, mouse, or even a joystick in this lesson. We will be learning how to impliment Direct Input in our games!
18. First Person Camera
0
rating
0
answers
806
views
Here we will make a simple functional first person camera. We will create a function that updates the camera, and we will call that function after we test for input from the user. Of course, it would be much better coding practice to use a camera class, but I try to keep things as explicit as possible, and use functions as often as possible. This lesson builds off the Direct Input lesson, but its "blended" with the render states lesson. Since we have already covered a wireframe grid, I will not explain that stuff in this lesson, only the new code.
19. First Person Camera
0
rating
0
answers
3083
views
Here we will look at how to impliment a simple first person vector camera, to make it look like you are walking around. We will also learn how to go fullscreen, and exit without getting errors.
19. Skybox (Cube Mapping)
0
rating
0
answers
1113
views
This lesson will show you how to create a skybox through a technique called cube mapping. We will learn how to create a cube texture using the directx texture tool.
20. Cube Mapping (Skybox)
1
rating
0
answers
3715
views
In this lesson we will learn how to use a 3D texture to texture a sphere. This technique is called cube mapping, and we will learn how to make a skybox using this technique.
20. Picking
0
rating
0
answers
491
views
Here we will build off the previous lesson, the skybox. We will learn how to translate a point on the screen (mouse position), to a ray which we will then find out whether it intersects with an object on the screen (if the object was "picked") or not. We will also learn how to go fullscreen!
21. High Resolution Timer
0
rating
0
answers
478
views
We will learn how to create a high resolution timer, which we will use to find and display the frame rate (frames per second). We will also use this timer to make sure the speed of our camera does not fluxuate with the frames per second, keeping it's speed nice and smooth. You can also use this timer to keep animations smooth.
21. Spotlights
0
rating
0
answers
1630
views
Here we will learn how to impliment a spotlight, which we will use as a flashlight. Since spotlights are basically just point lights with a direction, we are able to build directly off code from the pointlight. This lesson will build directly off of lesson 18, first person camera. I figured a good example of spotlights would be a flashlight, so thats whats happening here!
22. Bounding Volumes (Box)
0
rating
0
answers
478
views
As games can have quite complex and detailed models, containing thousands of triangles, checking every triangle in the entire scene for an intersection EVERY frame would slow the game down considerably. In this lesson we will learn a how to impliment a technique to cut down the amount of triangles we test every frame for an intersection by creating a bounding box for each of our models. That way, we only test the few triangles in each models bounding box for an intersection, and if there was an intersection, we can test the actual model for an intersection. This will be a huge gain in performance later when you have thousands of models to test for intersections.
22. Loading Static 3D Models (.obj Format)
0
rating
0
answers
2986
views
In this lesson we will learn how to load a static 3d model from an .obj file. .obj files are not usually what you will want to use in a game, as they don't contain animation, and they are in ascii format, so a bit larger than other formats such as .3ds, but they are a good starting point for learning how to load models. This lesson will build directly off the last lesson, spotlights. The upcoming lessons (Specular lighting, and Normal mapping. Probably others too) will use the code from this lesson as the starting point. BTW, please go easy on me when making fun of my poor modeling skills...
23. Bounding Sphere Collision Detection
0
rating
0
answers
544
views
Sphere-Sphere Collision Detection: Most games wouldn't be much without collision detection. In this lesson, which builds off the last lesson, we will learn how to create a binding sphere from the binding box we created in the last one. Then we will use this binding sphere to test if the objects on the screen are colliding. If they are, we will move the object that is being collided with, depending on the angle at which they are colliding at. We will only learn how to test binding spheres for collisions in this lesson, but my next lesson will be aimed at Triangle-Triangle collision detection, which of course would be much much much more accurate for the average model than using a binding sphere.
23. Normal Mapping (Bump Mapping)
2
rating
0
answers
1778
views
In this lesson, we will learn how to give a flat textured surface the appearance of depth. This technique is called normal mapping. We will actually be building directly from the last lesson, loading obj models. But instead of using the model from the last lesson (because I suck at modeling...), we will be using a more simple model which will be the ground, textured with grass. The image to the left shows you the end result using normal mapping (left) compared to no normal mapping (right).
24. Picking
0
rating
0
answers
1814
views
This lesson builds directly off the last lesson, normal mapping. Here we will learn how to turn the 2d screen position (in pixels) that the mouse cursor is at, into a 3d ray in world space. We can then check to see if that ray intersects with any of the objects on the screen. (The objects in this case are "supposed" to be bottles, but i've been recently told they look like urns...). If the ray intersects with any of the bottles in this lesson, we will display the distance from the camera to that bottle, increase the score, and remove that bottle from being displayed any longer and from being checked if the ray picks it again.
24. Triangle to Triangle Collision Detection
0
rating
0
answers
594
views
This lesson builds directly off the last lesson, Bounding Sphere Collision Detection. In this lesson, we will learn how to impliment a very accurate collision detection model, Triangle to Triangle. Although the idea is pretty simple, the math can get a little complex, so you might want to brush up on your math skills. I will try to explain as best as I can though. The only new things in this lesson are two new functions. One function for detecting a triangle to triangle collision (which calls the second function to complete the detection) and another function to test whether a point is inside a triangle. I did this so you could easily put these function into your own project, and/or use the point in triangle function to test for accurate picking, when picking a 3d model.
25. Bounding Volumes
0
rating
0
answers
1153
views
Think if your scene has a couple thousand models in it, and each model has a couple thousand triangles. Now if you were to pick them using just the picking method from the lesson above, it might take 5 seconds just to finish that picking operation. 5 seconds on a single frame is just not acceptable, and this is where bounding volumes come into play. We will be learning how to create and use a Bounding Box and a Bounding Sphere. The bounding box is usually more accurate than the bounding sphere, but it also takes a little more time to do the picking operation than the sphere takes. We will use our High Resolution timer from an ealier lesson to time exactly how long the operation for each picking method takes.
25. Free-Look Camera
0
rating
0
answers
637
views
Here is a very short short lesson on how to update our camera function to be a free look camera
26. Bounding Volume Collision Detection
0
rating
0
answers
1355
views
We will learn how to detect a collision between two objects in this lesson. We will be learning how to use their bounding volumes to do the collision detection instead of the object themselves, as it is much more simpler, and much faster to compute than triangle to triangle collision detection. In this lesson, we will build a pyramid of bottles or something, and "throw" a bottle when the mouse button is clicked. If the "thrown" bottle collides with one or more of the bottles in the pyramid, then they both just dissapear and the score is increased. I know, I know, not very realistic physics, but i've decided to skip all that extra stuff so we can just focus plainly on the actual collision detection methods.
26. Heightmap (Terrain)
0
rating
0
answers
676
views
This lesson will teach you how to load a greyscale bitmap as a heightmap to render some terrain.
27. Loading An MD5 Model
0
rating
0
answers
2203
views
MD5 models are split into two separate files; "md5mesh" and "md5anim". This is convenient since I was planning on splitting this lesson into two lessons anyway, one for loading the MD5 model, and one for animation. This lesson being the first of two, will teach you how to load the MD5 model from the "md5mesh" file and set up the vertex positions based on the layout of the joints. The next lesson will teach you how to load the animation for the model from the "md5anim" file and animate your model. In this lesson, we will cover the following: - The "md5mesh" format - A breif introduction to quaternions - How "bones" work in skinned models (You may be wondering why it's taken me so long to complete this lesson. The reason is because i'm so bad with creating 3D models, and I would like to have a decent looking model for this lesson, since we will be animating it and fun things like that ;)
28. Skeletal Animation (based on the MD5 format)
1
rating
0
answers
2641
views
Here is the second part of the lesson, animating the MD5 model. The MD5 format uses a skeletal system to do the animation (more specifically, joints), so we will be learning how to loop through the animation stored in the "md5anim" file and apply it to our model. Skeletal systems are nice because they take up less memory than storing keyframe animations, where its basically a new model for every frame of animation. The joint system (which we will be using) just stores the orientation and position of the bones at each frame. Bone systems are also cool when you want to do "rag-doll" physics! After this lesson, you should be able to load in skeletal animations from any model, and even be able to create your own animations or a rag-doll effect during runtime!
29. Free-Look Camera
0
rating
0
answers
1279
views
This is an extremely short lesson which will show you how to change the camera funcntion from the first person camera to a free-look camera. It is based directly off the first person camera lesson.
30. Heightmap (Terrain)
0
rating
0
answers
1653
views
Here we will learn how to load a grayscale bmp image as a heightmap. This lesson builds directly off the last lesson, the Free-Look Camera.
31. Sliding Camera Collision Detection
0
rating
0
answers
1490
views
This one is a more interactive one than the previous ones. We will learn how to "slide" our camera around our world using a spherical shape called an ellipsoid, using the technique described in "Improved Collision detection and Response" by Kasper Fauerby. We learn how to detect a collision between a swept sphere and triangle, and the result is a very pleasing "sliding" camera, which slides around on our terrain, slides up stairs, and slides over small objects. It's great because it does not get "stuck" on hard edges (if you do it right). We will also be implimenting gravity so we will not float away. This technique does not only apply to a camera, it will apply to any object you wish to slide around, and in fact, you don't even have to have the object slide around, you can VERY EASILY change the code so that the object will "bounce" off the surface instead of sliding across it.
32. Simple 3rd Person Camera
0
rating
0
answers
1356
views
Here's a pretty simple lesson on how to create a very simple third person camera. This lesson will teach you how to create a vector camera (which we use for the first person and free look cameras), rotate your character smoothly towards their destinated direction, and rotate the camera around the character. (You'll have to register to download the female model from the Braynzar Vision section of the site. Please don't complain, I don't ask for much in return for providing these lessons ;)
33. Instancing (With Indexed Primitives)
0
rating
0
answers
2132
views
Before anything, I want to say instancing is actually much more simple to do than you may think. In this lesson, we will be rendering a forest using the technique called "Instancing". We will be drawing 400 trees, with 1000 leaves on each tree, giving us a total of 400,000 leaves! Instancing is a fast way to draw many of the same meshes with similar geometry but slight changes, such as positions, color, rotations, animation, etc. This technique can mean the difference between 1 frame per second and 500. We will be drawing the trees using instancing, only chaning the position of the trees. Then we will draw the leaves using instancing, passing in a matrix array to a constant buffer which will give us the position of each leaf on a single tree, and using the instance buffer to move the leaves to their correct trees.
34. (AABB) CPU Side Frustum Culling
0
rating
0
answers
1750
views
This is another lesson that you will most definitely want to learn how to do because of the massive performance boost it can give you. In this lesson, we will have 4000 trees in our scene! How is this possible? This is possible with the technique called frustum culling! We will be learning how to check if an objects AABB (Axis-Aligned Bounding Box) is within the cameras view, and if it isn't, we will not send it to the GPU, easy as that! I say "CPU Side Frustum Culling" because the GPU actually does frustum culling for us. The problem with that though, is that the GPU must check every single triangle we send to it, so in this lesson, we will check if an objects bounding volume is within view of the camera before we send it to the shaders for more accurate frustum culling.
35. Render To Texture
0
rating
0
answers
2807
views
We will be making a sort of map in this lesson, by rendering the terrain onto a texture, then drawing that texture in the bottom right corner of our backbuffer. It's actually a very easy thing to do, but I decided to make a lesson on it since we will be using this in the next two lessons.
36. Billboarding (Geometry Shader)
0
rating
0
answers
2410
views
Billboarding is a technique to draw many far away objects without actually drawing all the geometry. Instead of drawing our entire trees which contain thousands of faces, we will simply draw a single quad per tree in the distance. We will be using the Geometry shader in this lesson, by sending a single point to the shaders, and expanding that point into a quad using the geometry shader. The result will be perspective facing billboarders, where all billboards are facing the camera.
37. Constant Buffer Packaging
0
rating
0
answers
1761
views
Just a bit about constant buffer packaging
Braynzar Soft Tutorials [Collection]
0
rating
0
answers
3512
views
This is a collection of Braynzar Soft Tutorial collections
Obj Model Loader
1
rating
0
answers
763
views
A function which loads a 3D model stored in the obj format
04. Drawing!
Thank you aman2218, i should probably have made that more clear
Model Error
This might not answer your question, but it should prevent you from compiling. your structure Model3...
Model Error
You have a circular reference somewhere. not sure where its at, but basically it goes like this: A d...
Model Error
you shouldn't add the code in a comment, can you update your question with the code instead? comment...
04. DirectX 12 - Braynzar Soft Tutorials
In either case, i have bad news for you, haha ;) I don't plan on updating or adding any new direct3d...
04. DirectX 12 - Braynzar Soft Tutorials
do you mean you'd like to see more dx12 tutorials? or do you mean they are out of date and need to b...
Is unidentified
Maxiorek32s answer is right, use UINT instead.
DirectX 11 Render to Texture
please put a tab in front of all your lines of code, its hard to read the way it is now
Is unidentified
could you please add tabs in front of all your code lines? this is difficult to read. Also the error...
03. Initializing DirectX 12
Thanks for finding that and fixing it elaic! Appreciate it!
03. Initializing DirectX 12
Hey sorry to hear your gfx card doesn't support dx12. Are you on Windows 10? D3d12 is only supported...
Could someone explain wht this worked.
what is mRight? It's going to be difficult to figure out whats going on unless you show some results...
04. Begin Drawing!
please ask questions like this in the questions section. comments are not really code friendly
CreateSwapChain function returns empty/NULL tempSw...
One more thing, always remember to assign these functions to an HRESULT and check the result always....
CreateSwapChain function returns empty/NULL tempSw...
Well, not to mention the obvious, but E_OUTOFMEMORY means you do not have enough memory for the func...
Rotating Camera On mouse move Around Centre.
https://www.braynzarsoft.net/viewtutorial/q16390-32-simple-3rd-person-camera
Multiple textures on a single shader.
i'm so sorry i haven't replied until now! i saw it when you originally posted but totally forgot to ...
Texture not working
could you pm me about this? it will be easier than working in the comments
Texture not working
Did you try using a different image? Also did you debug and make sure the decoded rgb(a) values from...
Texture not working
also swapchain3 expands on swapchain, so you might not be getting all the needed functionality or da...
Texture not working
yeah, you don't want to flush the command queue at the end because you just put all your stuff in th...
Texture not working
when debugging your code, stop it after you have an array of rgb(a) values for the image after you d...
Texture not working
did you try another image? support for the format of image you are using may not be implemented
Sphere rotation
ah i bet i know why it's jumping with the second video. Was just looking at it an realized your prob...
Sphere rotation
ok, i wonder if it's because your reversing the axis when it hits the wall instead of reversing the ...
Sphere rotation
is the problem when in the second video it like flips really quick when it hits the wall?
Sphere rotation
it looks right to me, are you still having a problem?
Sphere rotation
your last statement pretty much sums up what i think your problem is. so for example, your last piec...
08. Constant Buffers (Using Root Descriptor Tables...
hey simon, could you ask that in the questions section? it seems like a really good question but i'm...
03. Initializing Direct3D 11
have you installed the directx sdk? d3dx11 is not included in the windows kit
10. Textures From File
Hi MaverickGames, yes, that is what you would do if you want to upload multiple textures
Trying to complete a build
also just to make sure, you are on windows 10 right? The DX12 SDK is not compatible with any version...
03. Initializing DirectX 12
Could you start a question in the questions section and post some or all of the errors?
DirectX 11 - Cube Mapping (Skybox)
where are your texture coordinates? try making the cube not move with the player, so you can move a...
Changing Texture Coordinates (DirectX11 30. Height...
yeah, the texels in the texture (pixels in image) will be MUCH larger if you stretch the image acros...
08. World View and Local Spaces (static Camera)
Hi kavarna, next time please ask questions in the questions section. There is a link to the question...
05. Adding Color
Its a good question, can you ask in the questions section and ill get you a nice formatted answer?
Obj Model Loader
I need to update this code anyway using a stringstream instead. Obj files are really only used for t...
10. Textures From File
I wonder what it could be... when I have time I will try to look into the reason. In the meantime if...
10. Textures From File
That's really strange. So your saying with my examples you need to change 3 backbuffers to 2 to fix ...
10. Textures From File
Hi allanF, that's interesting, I will do some investigating and get back to you if I find something
DirectX 9 + Assimp
Hi yxurr! this is not really an answer so i'm writing a comment. skeletal animation is basically the...
08. Constant Buffers (Using Root Descriptor Tables...
We need to use map to get the CPU address (gpu virtual address) of the resource so we can write to i...
08. Constant Buffers (Using Root Descriptor Tables...
will do~ working on the next one right now, transformations and world view and projection space matr...
Directx12 - Adapter not supported
Hey aaronsmith, just in case you looked at the code in my answer before I fixed it right now, want t...
02. Creating a Window
your right, that is confusing. i pretty much just copied this tutorial from the directx 11 one since...
MD5 files not matching?
i saw your comment on the tutorial, is that the same issue? It's been quite a while since i made tha...
11. Textures
Thanks wlasar64, Microsoft also has a dds and wic texture loading classes somewhere, which are the o...
Direct3D 11 Tutorial 14 (Simple Font)
To tell you the truth, i don't know why changing the feature level of the device would have fixed yo...
Direct3D 11 Tutorial 14 (Simple Font)
could you try removing the D3D10_CREATE_DEVICE_DEBUG flag and let me know if that fixes the problem?
haha, thanks IamU4, but he was talking about the bullet physics engine, http://bulletphysics.org/
Keeps Failing To Compile The Shader Code
in the meantime, here are a couple things i have seen that cause the shader to fail to compile. visu...
Keeps Failing To Compile The Shader Code
how do you know it's failing? does it say it's failing? if it says something, anything, can you upda...
Keeps Failing To Compile The Shader Code
also, what's the error you are getting? is it failing to compile while you run your code? does it br...
Keeps Failing To Compile The Shader Code
could you edit your question, highlight your code and then press tab? that will move it all into a c...
Where should people put their creations?
yeah i think thats a pretty good idea. i was trying to do that with the last iteration of the site t...
while i'm at it, you can also just change the entry point name in the properties for the shader file...
There are of course more than one ways to fix the problem, but the problem is because the hlsl compi...
He could instead replace the function name "VS" with main and it should compile, and in th...
0. Website Legacy
I look foward to your tutorials caseofgames!
12 vertices in quad?
to tell you the truth, i can\'t see why he would do that, it doesn\'t make sense to me from looking ...
Challenge maybe?
alright, how about the challenge of making a UI then, like a main menu and settings menu. have some ...
Challenge maybe?
Sure! What would you like the challenge to include?
Problem with InitD2D_D3D101_DWrite
there are many many ways companies do it. some use 3rd party software, others roll their own
Problem with InitD2D_D3D101_DWrite
after i finish the directx 12 tutorials, i\'m thinking of making a couple tutorials on game code arc...
Problem with InitD2D_D3D101_DWrite
Glad you found the problem, why did you delete your whole project though?
Problem with InitD2D_D3D101_DWrite
walk through your code. put a breakpoint where you start initializing your device, and continue thro...
Problem with InitD2D_D3D101_DWrite
put a breakpoint on that line. check d3d11Device and sharedTexDesc to make sure they are good pointe...
Problem with InitD2D_D3D101_DWrite
First of all, please don't ask me to download all your code and fix a problem. Next time please post...
Problem with InitD2D_D3D101_DWrite
could you please say what the error is? and give code around that line?
I love you iedoc
still a couple bugs that need to be fixed on the site though
I love you iedoc
Thank you! Yeah, i've taken quite a long break, but the release of directx 12 prompted me to get bac...
20120424_154724237_Obj_Model_Loader.zip 664.99 kb on Jun 22 `16 32 downloads
Above the Clouds.rar 6.77 mb on Oct 28 `15 277 downloads
BZSoftTut01.rar 8.7 mb on Nov 07 `15 78 downloads
BzTut02.rar 1.02 mb on Nov 07 `15 254 downloads
BzTut02.rar 29.55 kb on Feb 20 `16 261 downloads
BzTut03.rar 23.82 kb on Jan 21 `16 275 downloads
BzTut03.rar 20.3 kb on Feb 20 `16 79 downloads
BzTut04.rar 20.64 kb on Feb 20 `16 86 downloads
BzTuts04.rar 63.62 kb on Mar 12 `16 67 downloads
BzTuts08.rar 72.41 kb on Apr 10 `16 74 downloads
BzTuts09.rar 70.54 kb on Apr 20 `16 121 downloads
BzTuts10.rar 207.1 kb on May 08 `16 149 downloads
BzTuts11.rar 356.08 kb on Jun 06 `16 163 downloads
DX11_Lesson_01_VS10_Setup_zip.zip 6.52 kb on Oct 24 `15 80 downloads
DX11_Lesson_02_Win32_zip.zip 11.85 kb on Oct 24 `15 240 downloads
DX11_Lesson_03_D3D11_Initialization_zip.zip 14.34 kb on Oct 26 `15 361 downloads
DX11_Lesson_04_Begin_Drawing!_zip.zip 15.92 kb on Oct 26 `15 460 downloads
DX11_Lesson_05_Color!_zip.zip 13.66 kb on Oct 26 `15 168 downloads
DX11_Lesson_06_Indices_zip.zip 14.01 kb on Oct 26 `15 154 downloads
DX11_Lesson_07_Depth_zip.zip 15.58 kb on Oct 26 `15 125 downloads
DX11_Lesson_08_World_View_Projection_Spaces_zip.zip 15.79 kb on Oct 27 `15 163 downloads
DX11_Lesson_09_Transformations_zip.zip 17.91 kb on Oct 27 `15 232 downloads
DX11_Lesson_10_Render_States_zip.zip 19.64 kb on Oct 27 `15 140 downloads
DX11_Lesson_11_Textures_zip.zip 84.24 kb on Oct 27 `15 447 downloads
DX11_Lesson_12_Blending_zip.zip 85.9 kb on Oct 27 `15 179 downloads
DX11_Lesson_14_Simple_Font_zip.zip 95.52 kb on Oct 27 `15 203 downloads
DX11_Lesson_15_HRTimer_zip.zip 95.78 kb on Oct 27 `15 129 downloads
DX11_Lesson_16_0_Directional_Lighting_zip.zip 97.34 kb on Oct 28 `15 203 downloads
DX11_Lesson_16_1_Pointlights_zip.zip 96.27 kb on Oct 28 `15 146 downloads
DX11_Lesson_17_Direct_Input_zip.zip 98.45 kb on Oct 28 `15 149 downloads
DX11_Lesson_18_First_Person_Camera_zip.zip 196.37 kb on Oct 28 `15 368 downloads
DX11_Lesson_19_Cube_Mapping_zip.zip 7.47 mb on Oct 28 `15 321 downloads
DX11_Lesson_20_Spotlights_zip.zip 196.41 kb on Nov 01 `15 116 downloads
DX11_Lesson_21_Load_Obj_Models_zip.zip 7.54 mb on Nov 01 `15 429 downloads
DX11_Lesson_22_Normal_Mapping_rar.rar 7.42 mb on Nov 01 `15 146 downloads
DX11_Lesson_23_Picking_rar.rar 7.97 mb on Nov 01 `15 169 downloads
DX11_Lesson_24_Bounding_Volumes_rar.rar 11.27 mb on Nov 01 `15 115 downloads
DX11_Lesson_26_MD5_Loader_zip.zip 8.02 mb on Nov 01 `15 216 downloads
DX11_Lesson_27_MD5_Animation_zip.zip 8.07 mb on Nov 01 `15 337 downloads
DX11_Lesson_28_Free_Look_Camera_zip.zip 196.94 kb on Nov 01 `15 134 downloads
DX11_Lesson_29_Heightmap.zip 268.75 kb on Nov 01 `15 157 downloads
DX11_Lesson_30_Sliding_Camera_zip.zip 233.45 kb on Nov 01 `15 145 downloads
DX11_Lesson_31_3rd_Person_Camera_zip.zip 704.55 kb on Nov 02 `15 253 downloads
DX11_Lesson_33_Frustum_Culling_zip.zip 1.38 mb on Nov 02 `15 156 downloads
DX11_Lesson_35_Billboarding_zip.zip 2.27 mb on Nov 02 `15 286 downloads
Female.rar 5.9 mb on Nov 02 `15 208 downloads
grass.jpg 174.84 kb on Nov 01 `15 70 downloads
grassNormal.jpg 468.97 kb on Nov 01 `15 78 downloads
metalpanel.jpg 52.23 kb on Nov 01 `15 143 downloads