• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.


  • Content count

  • Joined

  • Last visited

Community Reputation

209 Neutral

About e3d_ALiVE

  • Rank

Personal Information

  1. [quote name='Mossen' timestamp='1309495735' post='4829888'] Hi I'm new to XNA and I'm just wondering what is the best way to draw 2D text on top a 3D scene. Is this something I can use SpriteFont for? Basically in my main class there is a Draw method: [code] protected override void Draw(GameTime gameTime) { GraphicsDevice.Clear(Color.CornflowerBlue); spriteBatch.Begin(); spriteBatch.DrawString(spriteFont, "Hello world", new Vector2(0.0f, 0.0f), Color.Purple); spriteBatch.End(); base.Draw(gameTime); } [/code] ...but the text is behind my models. And the models are loaded with a ModelManager:DrawableGameComponent: [code] modelManager = new ModelManager(this); Components.Add(modelManager); [/code] which has its own Draw method, so its not like I can just render the text last....because there doesn't seem to be an ordering (that i can see in the code). I'm just looking for a simple solution, doesn't have to be superefficient. What is the best way to do this? [/quote] in order for text to be on top of everything, you must render everyrhing FIRST, only after that should you draw your text
  2. DX11

    there is also anttweakbar http://www.antisphere.com/Wiki/tools:anttweakbar it's free, has dx11 support and may be what u looking for
  3. [quote name='Ripiz' timestamp='1306999537' post='4818561'] Hello. I load my texture using this code:[code] D3DX11CreateTextureFromFileA(device, sFilename, 0, 0, &textureResource, 0); D3D11_SHADER_RESOURCE_VIEW_DESC resourceDesc; resourceDesc.Format = DXGI_FORMAT_UNKNOWN; resourceDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE2D; resourceDesc.Texture2D.MostDetailedMip = 0; resourceDesc.Texture2D.MipLevels = -1; device->CreateShaderResourceView(textureResource, &resourceDesc, &shaderTextureResource);[/code] But I can't seem figure how to get texture size/resolution which I need for interface rendering. Can anyone help please? Thank you in advance. [/quote] [list][*]you have to query ID3D11Texture2D interface from shaderTextureResource,then you have to get description from it with GetDesc[*]if you don't want or don't know how to query, then u may just call GetDesc from textureResource, it will give you D3D11_TEXTURE2D_DESC structure with all the fields(w,h format e.t.c.) that you need[*]you can also call D3DX11GetImageInfoFromFile to retrieve information about the file[/list]
  4. the main perfomance problem is draw call and send call ->set matrix/texture ->draw repeat it might be very efficent to do this select group of objects, that has same texture size create texture2darray from them create matrix array for them[for d3d10 you can see sampe in nvidia blendshapes example, or look at the forum, i posted the code long time ago][for d3d11 level 10 there it's called StructuredBuffer[you only need read only!, no need for UAV][i think you already doing similar stuff anyway] somehow put them into single vertex and index buffer, can be done with d3dxmeshconcatenate i think then in render: set texture array set matrix array[you can set it as shader buffer or as second stream] *set array of indices of which mesh in that big array is visible[frustum culling][kill them in geometry shader+possibility of occlusion integration with HZB] draw batch that method will singificantly reduce draw calls for static geometry[since it can be preprpocessed] for dynamic geometry you gonna be needing ->UpdateSubResource or Better ->Map with discard flag, but it might throttle bandwitdth generall it's better to have less draw cals p.s. with that frustum killing you might restructure you code, so your VS be passthorugh and GS actually executed VS only in case it was't frustum culled, but it's up to you, if you don't have lot's of polygos in frame u don't need it.
  5. there are 2 limitations on creating buffers[whatever they be invex/vertex/texture or just buffer] [list=1][*]IT MUST be aligned to 16, if it's not that creation will fail[*]for d3d10 the buffer ByteWidth or totalsize must be less then 128*1024*1024 aka 128MB[/list]p.s. i'v tested with idea of putting entire mesh into big buffer, it will fit in most cases you can improve perofmrnce by using texture2darray like texture atlas in d3d9 that will singificantly reduce draw calls your send your world matrix much less, if you also put it into buffer, and index to it from shader or you can put it directly via vertex streams specifying flag per instance you should do perfomance tests on your app, but in general reducing complexity of shaders and reducing draw calls is a good idea.
  6. CAudio requres you to put only 2 dlls into your folder, caudio and mp3plugin, + you need to link it with lib file, like that [code] #pragma comment(lib,"caudio.lib") and add that line #include <cAudio.h> [/code] put caudio include files into your search paths or put lib file and caudio files into your source directory after that it's just [code] cAudio::IAudioManager* manager; cAudio::IAudioSource *jumpS; manager = cAudio::createAudioManager(true); jumpS=manager->create("test1","Res/Audio/jump.wav",true); [/code] that's it
  7. if you want a GOOD FREE OpenSource library to play mp3/wav/ogg/flac then try CAudio [url="http://sourceforge.net/projects/caudio/"]here[/url] it already have all dlls and libs, so u don't need to compile any sources it's based on popular crossplatform OpenAL and have no problem working with dx, it also has tutorials and memory manager aside from that it can also record sounds from mic, use special effects[reverb, echo, underwater] and stream audio. now about your problem: PlaySound("blah.wav", NULL, SND_FILENAME); this functions returns true if it can play sound, you need check for that first possible reasons for not playing: application seeks that file in debug foler, while it's located somehwere else, try "../blah.wav" it's wrong wav file[since that api can play only spiecific wav files] try different wav file, for example the file that goes with windows
  8. aside from that it may be possible that u changed something in your manifest settings that screwed it up maybe it's looking for x64 dlls and u give it x86 or inverse
  9. classic error, install VC++ resitributables usually it's 2005/2008 or 2010 they automaticly installs with latest drivers from nvidia/ati and some games
  10. usually it's the same as number of materials for that mesh there is also functions to getattributetable, that can tell you exactly what amounts of subsets mesh has and for what vertices each subset is set
  11. as alternative to clearing the ID3D11Buffer with 400 elements with type R32_FLOAT for example if it consists of floats and u need to clear them all to 1 [code] std::vector<float> data;//make sure that this thing is aligned data.resize(400); devc11->UpdateSubResource(buffer,&data[0]); [/code] as alternative u can map it with discard and clear there
  12. here's the ways: [list=1][*]shader way: either with one shader[using some basic math to skip the middle] or with two shaders, one for high black bar and the one for lower[*]good old way: map texture with discard flag, fill the black bars on cpu and then unmap[*]naive method: just create alphamap with blackbars and merge it with your texture with alpha mapping[in shader or in fixed pipeline][/list]unless ur directx shader version is below 2.0 go with first method
  13. DX11

    there is also Introduction to 3D [url="http://en.wikipedia.org/wiki/Game_Programming"]game programming[/url] with DirectX10.0" by Frank Luna there currently no dx11 books, but u can adapt stuff from dx10 books or wait untill dx11 book is released
  14. DX11

    or you can load it with FreeImage here's a snippet how to do it http://pastebin.com/40BV7vV0 don't mind e3d_Std it's just log functions
  15. hello i'm trying to copy single mip level from texture(R32_FLOAT) with many mip levels(10) into structured buffer(sizeof(float)*Width*Height). Is there any way to do it, except custom map/unmap? Is indexing structured buffer in compute shader faster then by simply calling load? i got these errors D3D11: ERROR: ID3D11DeviceContext::CopySubresourceRegion: When offset by the destination coordinates, pSrcBox does not fit on the destination subresource. OffsetSrcBox = { {0, 0, 0}, {200, 150, 1} }. DstSubresource = { {0, 0, 0}, {1920000, 1, 1} }. [ RESOURCE_MANIPULATION ERROR #280: COPYSUBRESOURCEREGION_INVALIDSOURCEBOX ] D3D11: ERROR: ID3D11DeviceContext::CopySubresourceRegion: Cannot invoke CopySubresourceRegion when the Formats of each Resource are not the same, or castable to each other, unless GetFeatureLevel() returns D3D_FEATURE_LEVEL_10_1 or greater. [ RESOURCE_MANIPULATION ERROR #281: COPYSUBRESOURCEREGION_INVALIDSOURCE ]