• Advertisement

Search the Community

Showing results for tags 'Textures'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Categories

  • Audio
    • Music and Sound FX
  • Business
    • Business and Law
    • Career Development
    • Production and Management
  • Game Design
    • Game Design and Theory
    • Writing for Games
    • UX for Games
  • Industry
    • Interviews
    • Event Coverage
  • Programming
    • Artificial Intelligence
    • General and Gameplay Programming
    • Graphics and GPU Programming
    • Engines and Middleware
    • Math and Physics
    • Networking and Multiplayer
  • Visual Arts
  • Archive

Categories

  • News

Categories

  • Audio
  • Visual Arts
  • Programming
  • Writing

Categories

  • GameDev Unboxed

Categories

  • Game Dev Loadout

Categories

  • Game Developers Conference
    • GDC 2017
    • GDC 2018
  • Power-Up Digital Games Conference
    • PDGC I: Words of Wisdom
    • PDGC II: The Devs Strike Back
    • PDGC III: Syntax Error

Forums

  • Audio
    • Music and Sound FX
  • Business
    • Games Career Development
    • Production and Management
    • Games Business and Law
  • Game Design
    • Game Design and Theory
    • Writing for Games
  • Programming
    • Artificial Intelligence
    • Engines and Middleware
    • General and Gameplay Programming
    • Graphics and GPU Programming
    • Math and Physics
    • Networking and Multiplayer
  • Visual Arts
    • 2D and 3D Art
    • Critique and Feedback
  • Topical
    • Virtual and Augmented Reality
    • News
  • Community
    • For Beginners
    • GameDev Challenges
    • GDNet+ Member Forum
    • GDNet Lounge
    • GDNet Comments, Suggestions, and Ideas
    • Coding Horrors
    • Your Announcements
    • Hobby Project Classifieds
    • Indie Showcase
    • Article Writing
  • Affiliates
    • NeHe Productions
    • AngelCode
  • Workshops
    • C# Workshop
    • CPP Workshop
    • Freehand Drawing Workshop
    • Hands-On Interactive Game Development
    • SICP Workshop
    • XNA 4.0 Workshop
  • Archive
    • Topical
    • Affiliates
    • Contests
    • Technical
  • GameDev Challenges's Topics

Calendars

  • Community Calendar
  • Games Industry Events
  • Game Jams
  • GameDev Challenges's Schedule

Blogs

There are no results to display.

There are no results to display.

Developers

Developers


Group


About Me


Website


Industry Role


Twitter


Github


Twitch


Steam

Found 38 results

  1. Caustics Generator 5.0 Available

    Spectral rendering enters the computer graphics world. After a period with not that many feature improvements, Dual Heights Software have now finally released a new major version of their water texture generator software called Caustics Generator. The new version includes full spectrum color rendering allowing the simulation of spectral refraction which produces prismatic coloring effects and thus bringing caustics simulation to a new level. The spectral functionality is available in the Pro version on both Windows, Mac and Linux. Read more about the Caustics Generator at https://www.dualheights.se/caustics/
  2. Caustics Generator 5.0 Available

    Spectral rendering enters the computer graphics world. After a period with not that many feature improvements, Dual Heights Software have now finally released a new major version of their water texture generator software called Caustics Generator. The new version includes full spectrum color rendering allowing the simulation of spectral refraction which produces prismatic coloring effects and thus bringing caustics simulation to a new level. The spectral functionality is available in the Pro version on both Windows, Mac and Linux. Read more about the Caustics Generator at https://www.dualheights.se/caustics/ View full story
  3. Hi, I'm implementing a simple 3D engine based on DirectX11. I'm trying to render a skybox with a cubemap on it and to do so I'm using DDS Texture Loader from DirectXTex library. I use texassemble to generate the cubemap (texture array of 6 textures) into a DDS file that I load at runtime. I generated a cube "dome" and sample the texture using the position vector of the vertex as the sample coordinates (so far so good), but I always get the same face of the cubemap mapped on the sky. As I look around I always get the same face (and it wobbles a bit if I move the camera). My code: //Texture.cpp: Texture::Texture(const wchar_t *textureFilePath, const std::string &textureType) : mType(textureType) { //CreateDDSTextureFromFile(Game::GetInstance()->GetDevice(), Game::GetInstance()->GetDeviceContext(), textureFilePath, &mResource, &mShaderResourceView); CreateDDSTextureFromFileEx(Game::GetInstance()->GetDevice(), Game::GetInstance()->GetDeviceContext(), textureFilePath, 0, D3D11_USAGE_DEFAULT, D3D11_BIND_SHADER_RESOURCE, 0, D3D11_RESOURCE_MISC_TEXTURECUBE, false, &mResource, &mShaderResourceView); } // SkyBox.cpp: void SkyBox::Draw() { // set cube map ID3D11ShaderResourceView *resource = mTexture.GetResource(); Game::GetInstance()->GetDeviceContext()->PSSetShaderResources(0, 1, &resource); // set primitive topology Game::GetInstance()->GetDeviceContext()->IASetPrimitiveTopology(D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST); mMesh.Bind(); mMesh.Draw(); } // Vertex Shader: cbuffer Transform : register(b0) { float4x4 viewProjectionMatrix; }; float4 main(inout float3 pos : POSITION) : SV_POSITION { return mul(float4(pos, 1.0f), viewProjectionMatrix); } // Pixel Shader: SamplerState cubeSampler; TextureCube cubeMap; float4 main(in float3 pos : POSITION) : SV_TARGET { float4 color = cubeMap.Sample(cubeSampler, pos.xyz); return color; } I tried both functions grom DDS loader but I keep getting the same result. All results I found on the web are about the old SDK toolkits, but I'm using the new DirectXTex lib.
  4. Looking For Talent Looking For: - 3D Modelers (Natural & Hard Surface) - 3D Animators - Texture Artist - Game Designers Payment: Royalty My Experience: Programmer & Manager & Game Designer. My recent project: (so you see that I'm serious and actually finishing and releasing games) `http://store.steampowered.com/app/787820/Rickos_Island/` Project: A voxel open world game. It will be released on Steam in Early Access. Mostly completed/completed key features: - A Procedural & Infinite world to explore. - Over 12 Biomes to discover and find new creatures, blocks, resources and more. - A voxel block building system with over 150+ Blocks. - 30+ creatures to tame, train, ride, breed. (0 now but the mechanics are ready, just need models and animations) - Character progression system: train your character: level up, increase skills and more. - 6 Different Game Modes: Survival, Freedom, Hardcore, Freecam, Creative, Adventure. - The world noise gets crazier the more farther you get from the start. - Action System: let's be honest, it's like redstone but has more features and wireless. - Fully automate everything using the Action System, from a crops farm to an auto killing creatures machine. - Plant, farm and grow using an advanced farming system. Not completed key features: - Forge custom tools and weapons using an advanced system. - Fight mini bosses and bosses in order to progress in the game and unlock new items. - Find and master dungeons to get XP and higher stats weapons, tools, armor. - Magic: get essences from the nature and make potions, spells and more. Length of Project: Hoping for 2-4 months until the game is ready to release in Early Access, but then a few more months in the Early Access period. If you can only help for a limited time, that's fine but please mention it when you contact me! Contact: Add me on Discord Tbjbu2#8639
  5. Good evening, I'm new to the world of texturing and I have some questions about creating realistic non-procedural materials. I created a texture for a wooden bridge and I wondered what was the best way to make it realistic. First I created a square texture on Substance Designer (SD_Wood). Once applied to the model on Blender it is repeated several times and I do not really like the result (Blender_Tilable). I then imported the texture on photoshop to customize it a little (4096 x 1024) (PS_Custom). Now the result is more pleasant (Blender_Custom). My questions are: 1. Is this the best solution? 2. Are there any other ways to get this kind of result? 3. If this is the best solution, how can I regenerate the normal map, height map, ao, roughness etc. ? 4. From a theoretical point of view a non-square texture, but that is still 2^, is not recommended or can be used for the development of a videogames? Thanks in advance for any clarifications. Have a nice day!
  6. I want to output the Image file from the shaderresourceview of the rendertexture, so I have to transfer the shaderresourceview into a image object, and I don't know how to do this. Could you help me with it? PS:I am using SharpDx to develop my program. So it's better be coding by C#. Many thanks.
  7. Asterion: Environment Art

    From the team of Asterion we want to show you a small preview of how our level is looking so far.. We have been working on textures and props and we are really happy with the results. Any feedback would be appreciated! Thank you!
  8. Once I needed a program for packing an atlas with 3d models. I could not find one, so I made it. Now it has only basic functionality. Should I improve it further? Does it need someone else? Link to download(for Windows): https://drive.google.com/open?id=1CLizcUAOsYnbdfyKCYDcGxmso79GPBuv
  9. I have found an example here: http://xboxforums.create.msdn.com/forums/t/66208.aspx about sharing surfaces/textures created by DX11 into the ID2D1DCRenderTarget, however the above example is based on SwapChain bound to a window (hwnd) What I need is to draw a shared texture into GDI as this is the only plugin interface in an old software I have. Any ideas ? Here is what I do. SharedSurface::SharedSurface(): { //Initialize the ID2D1Factory object D2D1CreateFactory(D2D1_FACTORY_TYPE_SINGLE_THREADED, &pD2DFactory); //D2D1CreateFactory(D2D1_FACTORY_TYPE_MULTI_THREADED, &pD2DFactory); //initialize the ID2D1DCRenderTarget D2D1_RENDER_TARGET_PROPERTIES props = D2D1::RenderTargetProperties( D2D1_RENDER_TARGET_TYPE_HARDWARE, // D2D1_RENDER_TARGET_TYPE_DEFAULT, D2D1::PixelFormat( DXGI_FORMAT_B8G8R8A8_UNORM, D2D1_ALPHA_MODE_PREMULTIPLIED), 0, 0, D2D1_RENDER_TARGET_USAGE_GDI_COMPATIBLE, D2D1_FEATURE_LEVEL_DEFAULT ); HRESULT hr = pD2DFactory->CreateDCRenderTarget(&props, &pRT); DWORD createDeviceFlags = 0; createDeviceFlags |= D3D11_CREATE_DEVICE_DEBUG; ID3D11DeviceContext* context; D3D_FEATURE_LEVEL fl; DXGI_SWAP_CHAIN_DESC sd; ZeroMemory( &sd, sizeof( sd ) ); sd.BufferCount = 1; sd.BufferDesc.Width = width; sd.BufferDesc.Height = height; sd.BufferDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM; sd.BufferDesc.RefreshRate.Numerator = 60; sd.BufferDesc.RefreshRate.Denominator = 1; sd.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT | DXGI_USAGE_SHARED; sd.OutputWindow = 0; // g_hWnd; sd.SampleDesc.Count = 1; sd.SampleDesc.Quality = 0; sd.Windowed = FALSE, // TRUE; hr = D3D11CreateDeviceAndSwapChain(nullptr, D3D_DRIVER_TYPE_HARDWARE, nullptr, createDeviceFlags, nullptr, 0, D3D11_SDK_VERSION, &sd, &pSwapChain, &mDevice, &fl, &context); hr = m_pSwapChain->GetBuffer(0, IID_PPV_ARGS(&pBackBuffer)); } bool SharedSurface::CreateTexture(ID3D11Device* device, UINT width, UINT height) { HRESULT hr; D3D11_TEXTURE2D_DESC desc; ZeroMemory(&desc, sizeof(desc)); desc.Width = width; desc.Height = height; desc.MipLevels = 1; desc.ArraySize = 1; desc.Format = DXGI_FORMAT_B8G8R8A8_UNORM; desc.SampleDesc.Count = 1; desc.MiscFlags = D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX; // D3D11_RESOURCE_MISC_SHARED; // desc.Usage = D3D11_USAGE_DEFAULT; desc.BindFlags = D3D11_BIND_SHADER_RESOURCE | D3D11_BIND_RENDER_TARGET; desc.CPUAccessFlags = 0; // D3D11_CPU_ACCESS_READ; // 0; if (device != nullptr) mDevice = device; hr = mDevice->CreateTexture2D(&desc, NULL, &pTexture); IDXGIResource * pDXGIResource = NULL; hr = pTexture->QueryInterface(__uuidof(IDXGIResource), (void **)&pDXGIResource); if SUCCEEDED(hr) { hr = pDXGIResource->GetSharedHandle(&sharedHandle); pDXGIResource->Release(); if SUCCEEDED(hr) { hr = pTexture->QueryInterface(__uuidof(IDXGIKeyedMutex), (LPVOID*)&pMutex); } } hr = pTexture->QueryInterface(__uuidof(IDXGISurface), (void **)&pSurface); FLOAT dpiX; FLOAT dpiY; pD2DFactory->GetDesktopDpi(&dpiX, &dpiY); D2D1_RENDER_TARGET_PROPERTIES props = D2D1::RenderTargetProperties(D2D1_RENDER_TARGET_TYPE_HARDWARE/*D2D1_RENDER_TARGET_TYPE_DEFAULT*/, D2D1::PixelFormat(DXGI_FORMAT_B8G8R8A8_UNORM, D2D1_ALPHA_MODE_PREMULTIPLIED),dpiX,dpiY); hr = pD2DFactory->CreateDxgiSurfaceRenderTarget(pBackBuffer,&props, &pBackBufferRT); DXGI_SURFACE_DESC sdesc; D2D1_BITMAP_PROPERTIES bp; ZeroMemory(&bp, sizeof(bp)); pSurface->GetDesc(&sdesc); bp.pixelFormat = D2D1::PixelFormat(sdesc.Format, D2D1_ALPHA_MODE_PREMULTIPLIED); hr = pBackBufferRT->CreateSharedBitmap(__uuidof(ID3D11Texture2D), pSurface,&bp, &pBitmap); return SUCCEEDED(hr); } void SharedSurface::Draw() { pBackBufferRT->BeginDraw(); pBackBufferRT->DrawBitmap(pBitmap); pBackBufferRT->EndDraw(); pBackBufferRT->Present(); } void SharedSurface::BindDC(HDC hdc, int width, int height) { RECT rct; rct.top = 0; rct.left = 0; rct.right = width; rct.bottom = height; pRT->BindDC(hdc, &rct); } // HOW TO EXCHANGE between pBackBufferRT and pRT ?
  10. Dear artists and developers, We welcome you to join MaterialJam.com - our growing library of digital materials. The materials we offer are 100% ORIGINAL and FREE for everyone. We provide one free download everyday for any of the materials in our library. For those who need more downloads we have special offers. All of our the materials come with Royalty Free License and can be used right away in your projects. Enjoy having one more source of art assets! Sincerely, MaterialJam.com , a service of Liman3D
  11. Anti-stress coloring for kids and adults. Spend time with pleasure painting colors for every taste and mood. A variety of pictures and mandalas, an unlimited choice of colors and a pleasant user interface will not leave anyone indifferent! Features: - Coloring has a lot of exquisite pictures - Different shades, you can choice of color spectrum and also possibility of creation of the color - Instruments: three types of gradient fills, pen, mixed of brushes, spray and eraser - Using amazing filters and textures that can be applied to coloring - Relaxing sounds - Share your images on Facebook, WhatsApp, Twitter, VK, Skype, Instagram etc. - Regular updates with the addition of new (functions / pictures) will not make you bored! - Support and compatibility https://play.google.com/store/apps/details?id=com.sma.coloring&hl=en
  12. the birth of Charly Clearwater

    The main-character of game BIZARRE, Charly Clearwater, keeps us going! We haven't finished him yet since we weren't happy with his hair and skin in UE4. For promotional pics, we want him look like real, therefore, we made his 4K appearance our business. Charly's skin looks fine in UE4 now, but his hair turned out to be a disaster! We modelled a big marshmallow and painted it like something that looked like tiramisu ice-cream, we formed hundreds of coffin-shaped polygons and textured them, so that he appeared to be a bird wearing bizarre feathers on his head. Finally, we created more than 800 hairy-shaped polygons and formed them into a nice hairstyle, put them on his head. A hairy texture made them all look like hair strands. Now, we try to make his hair look good in UE4 within all the different (disturbing) lights and reflections coming from the surroundings of his apartment (the first game scene). Yeah, we also create some animations, i.e. the walking animation, the shooting animation, the running animation, etc. Somehow, we're making progress.
  13. Hi guys! With Black Friday just around the corner, all my asssets are 66% off in the Black Friday Bundle =) https://itch.io/s/9180/ravenmores-black-friday-bundle Quality stuff like in the attached images, for super cheap. Grab it while it's hot
  14. Dynamic resource reloading

    Making editors is a pain. I have a list of thousands of items I'd rather do than this - yet I made myself a promise to drag at least one full featured editor tool over the finish line. There are few reasons for that: I believe I have quite useful engine, it was my pet project all these years, it went through many transformations and stages - and solid tool is something like a goal I'd like to do with it, to make it something better than "just a framework". I'm very patient person, and I believe also hard working one. Throughout the years my goal is to make a game on my own engine (note, I've made games with other engines and I've used my engine for multiple non-game projects so far -> it eventually branched to be a full-featured commercial project in past few years). I've made few attempts but mostly was stopped by lacking such tool - that would allow me to build scenes and levels, in an easy way. And the most important one ... I consider tools one of the hardest part in making any larger project, so it is something like a challenge for me. Anyways so much for motivation, the tool is progressing well - it can be used to assemble scene so far, various entities (like light or materials) can have their properties (components) modified, with full undo/redo system of course. And so the next big part was ahead of me - asset loading and dynamic reloading. So here are the results: Engine editor and texture editor before my work on the texture. And then I worked on the texture: And after I used my highly professional programmer-art skills to modify the texture! All credits for GameDev.net logo go to its author! Yes, it's working. The whole system needs a bit of cleanup - but in short this is how it works: All textures are managed by Manager<Texture> class instance, this one is defined in Editor class There is a thread waiting for change on hard drive with ReadDirectoryChangesW Upon change in directory (or subdirectories), DirectoryTree class instance is notified. It updates view in bottom left (which is just a directory-file structure for watched directory and subdirectories), and also for modified/new files creates or reloads records in Manager<Texture> class instance (on Editor level) The trick is, reloading the records can only be done while they're not in use (so some clever synchronization needs to be done) I might write out some interesting information or even short article on this. Implementing it was quite a pain, but it's finally done. Now short cleanup - and towards the next one on my editor todo list! Thanks for reading & see you around!
  15. I want to change the sampling behaviour to SampleLevel(coord, ddx(coord.y).xx, ddy(coord.y).xx). I was just wondering if it's possible without explicit shader code, e.g. with some flags or so?
  16. So I've recently started learning some GLSL and now I'm toying with a POM shader. I'm trying to optimize it and notice that it starts having issues at high texture sizes, especially with self-shadowing. Now I know POM is expensive either way, but would pulling the heightmap out of the normalmap alpha channel and in it's own 8bit texture make doing all those dozens of texture fetches more cheap? Or is everything in the cache aligned to 32bit anyway? I haven't implemented texture compression yet, I think that would help? But regardless, should there be a performance boost from decoupling the heightmap? I could also keep it in a lower resolution than the normalmap if that would improve performance. Any help is much appreciated, please keep in mind I'm somewhat of a newbie. Thanks!
  17. As part of a video project I'm working on, I have to pass ID3D11Texture2D decoded by CUDA, from one D3D11Device to the other, which handles rendering. I managed to achieve the goal, but it looks like I'm leaking textures. The workflow looks as follows: Sending side (decoder): ID3D11Texture2D* pD3D11OutTexture; if (!createOutputTexture(pD3D11OutTexture)) return false; IDXGIResource1* pRsrc = nullptr; pD3D11OutTexture->QueryInterface(__uuidof(IDXGIResource1), reinterpret_cast<void**>(&pRsrc)); auto hr = pRsrc->CreateSharedHandle( nullptr, DXGI_SHARED_RESOURCE_READ | DXGI_SHARED_RESOURCE_WRITE, nullptr, &frameData->shared_handle); pRsrc->Release(); Receiving side (renderer): ID3D11Texture2D* pTex = nullptr; hres = m_pD3D11Device->OpenSharedResource1( frameData->shared_handle, __uuidof(ID3D11Texture2D), reinterpret_cast<void**>(&pTex)); DrawFrame(pTex); pTex->Release(); CloseHandle(frameData->shared_handle); I'm somewhat puzzled by the inner workings of this workflow, namely: what happens when I create a shared handle? Does this allow me to release texture? what happens, when I call OpenSharedResource? Does it create separate texture - that is do I have to release both textures after rendering? Appreciate your help!
  18. Please reply me about this
  19. I'm working in an old application (DX9-based) where I don't have access to the C code, but I can write any (model 3.0) HLSL shaders I want. I'm trying to mess with some cube mapping concepts. I've gotten to the point where I'm rendering a cube map of the scene to a cross cube that I can plug directly into ATI cubemapgen for filtering, which is already easier than trying to make one in Blender, so I'm pretty happy so far. But I would like to do my own filtering and lookups for two purposes: one, to effortlessly render directly to sphere map (which is the out-of-the-box environment mapping for the renderer I'm using), and two, to try out dynamic cube mapping so I can play with something approaching real-time reflections. Also, eventually, I'd like to do realish-time angular Gaussian on the cube map so that I can get a good feel for how to map specular roughness values to Gaussian-blurred environment miplevels. It's hard to get a feel for that when it requires processing through several independent, slow applications. Unfortunately, the math to do lookups and filtering is challenging, and I can't find anybody else online doing the same thing. It seems to me that I'm going to need a world-vector-to-cube-cross-UV function for the lookup, then a cube-cross-UV-to-world-vector function for the filtering (so I can point sample four or more adjacent texels, then interpolate on the basis of angular distance rather than UV distance.) First, I'm wondering if there's any kind of matrix that I can use here to transform vector to cube-cross map, rather than doing a bunch of conditionals on the basis of which cube face I want to read. This seems like maybe it would be possible? But I'm not really sure, it's kind of a weird transformation. Right now, my cube cross is a 3:4 portrait, going top/front/bottom/back from top to bottom, because that's what cubemapgen wants to see. I suppose I could make another texture from it with a different orientation, if that would mean I could skip a bunch of conditionals on every lookup. Second, it seems like once I have the face, I could just use something like my rendering matrix for that face to transform a vector to UV space, but I'm not sure that I could use the inverse of that matrix to get a vector from an arbitrary cube texel for filtering, because it involves a projection matrix-- I know those are kind of special, but I'm still wrapping my head around a lot of these concepts. I'm not even sure I could make the inverse very easily; I can grab an inverseProj from the engine, but I'm writing to projM._11_22 to set the FOV to 90, and I'm not sure how that would affect the inverse. Really interested in any kind of discussion on techniques involved, as well as any free resources. I'd like to solve the problem, but it's much more important to me to use the problem as a way to learn more.
  20. 3D Easy get 3d models

    Hello! I want share new tool http://modelshub.org. This tool will allow you to convert 3D models in to OBJ format from p3d.in and other sites. In case success work, you get zip-archive contents geometry, materials library and textures.
  21. Hola estoy interesado en practicar y crear un sistema de pre cargado de texturas, así el juego que estoy desarrollando en vb6 utilizando Direcxt8 tiene un mayor rendimiento a la hora de cargar los gráficos de un mapa. ¿Pueden orientarme con temas acerca el tema? ¿Qué es lo que necesito saber? Gracias! Hi, I'm interested in practicing and creating a pre-loaded system of textures, so the game I'm developing in vb6 using Direcxt8 has a higher performance when loading graphics on a map. Can you guide me with topics on the subject? What do I need to know? Thank you!
  22. Hey guys, I hope for help on the following problem - hopefully an easy one for you, but I am an absolute beginner... I want to simulate a Lidar in a closed source D3D9 game (ArmA2-based I think), meaning I want to get the pixel positions in view space. For that I intercept the D3D9 calls (via proxy dll) and retrieve the handle to the depth buffer texture (R32F) which I have identified . I've attached an example of the contents of this depth buffer (just StretchRect'ed the contents to the back buffer) and the corresponding rendered image. Now what I am trying to do is transform the depth buffer values to view space but I keep failing on this. I am trying to do it as described in this stackoverflow post (the only change I made after I saw that it does not work is to delete the first line 'z = depth*2.0 - 1.0' and instead directly using the depth value, because as far as I know the projection matrix(from MSDN: https://msdn.microsoft.com/de-de/library/windows/desktop/bb147302(v=vs.85).aspx,, Q = Zf/(Zf-Zn) )is already adjusted to output a depth in [0,1] - and thus should also be directly usable in inverted form for the transformatino from clip space to view space) I should mention that I can query the game API for the view frustum values (left + right angle, top + bottom angle, near and far plane), but as you can see a large part of the depth buffer is black So here are my questions: 1) What I don't quite understand is that apparently the whole depth buffer value interval is inverted, meaning far objects are dark (a color of (1,1,1,1) is white) . Are there any other projection matrices commonly used together with D3D9, that have this behavior and which I could try? 2) Is the approach shown in the mentioned stackoverflow post a valid one? Especially I'd really like to know if this division by w after applying the inverse projection matrix is correct - I thought, this division is necessary to get from clip space to normalized device coordinates. But why is it necessary here? 3) Is there any other approach I could use to get the pixel positions in view space? Thanks in advance!
  23. I've built some simple normal maps out of meshes and a custom HLSL shader that writes their normals to the screen. While I've only used this for creating tiling normal maps, where I control the orientation of the mesh used to generate normals, I don't see why I couldn't do this for a full-model normal map, placing the models in screen space based on their UV rather than world-space coords, writing the normals of the low-poly to one image, the high-poly to another, and the vector necessary to transform the normals of the first to the second onto a third image. With the tiling normal maps I've made, I haven't seen any artifacts or weirdnesses. All it takes is one or two models, a relatively simple shader, and a single frame of computer time. But when I visit modelling sites, baking normals sounds like a major headache, involving the creation of a cage and a lengthy bake process. It sounds like the modelling packages are using some kind of raycasting algorithm. There must be a reason not to be doing things the way that I've been doing them. Can anyone explain to me the problems with creating normal maps via shader?
  24. My independent project that I create alone. I want to show in this video how I draw and create a level with the second boss in the game. Pleasant viewing. I hope you will not remain indifferent.
  25. Hi everyone! Just wanted to let everyone know that ShaderMap 4 (SM4) has been released and is now free for non commercial use. You can learn more at the new website https://shadermap.com Thanks for checking it out! Neil
  • Advertisement