Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Everything posted by lucaswrk

  1. I have a grid terrain with a brick texture tilled over it, but I'm getting some Moiré patterns when moving the camera around:     Here is the sampler desc: D3D11_SAMPLER_DESC samplerDesc = {}; samplerDesc.Filter = D3D11_FILTER_ANISOTROPIC; samplerDesc.AddressU = D3D11_TEXTURE_ADDRESS_WRAP; samplerDesc.AddressV = D3D11_TEXTURE_ADDRESS_WRAP; samplerDesc.AddressW = D3D11_TEXTURE_ADDRESS_WRAP; samplerDesc.MaxAnisotropy = 8; The texture is a 512x512 .dds file with 10 mipmap levels created with nvidia texture tools on photoshop and it's tilled 64 times so that the bricks looks small. If I decrease the tilling number, the Moiré Effect decreases a little too. My guess is that I'm repeating the texture too much and therefore causing minification, but the mipmaps should handle this, right?
  2. I followed what @Krypt0n said and that solved the problem. Here is my sampler now: D3D11_SAMPLER_DESC samplerDesc; ZeroMemory(&samplerDesc, sizeof(samplerDesc)); samplerDesc.Filter = D3D11_FILTER_ANISOTROPIC; samplerDesc.AddressU = D3D11_TEXTURE_ADDRESS_WRAP; samplerDesc.AddressV = D3D11_TEXTURE_ADDRESS_WRAP; samplerDesc.AddressW = D3D11_TEXTURE_ADDRESS_WRAP; samplerDesc.MaxLOD = D3D11_FLOAT32_MAX; samplerDesc.MaxAnisotropy = 16; And some images:   I truly appreciate the help. Thanks :)
  3. ok, I will try this tonight.   Yes it does. I'm using CreateDDSTextureFromFile function from DirectxTex.   ---   Thank you all for the replies. I will give a feedback as soon as possible.
  4.   Make sure you are calling CreateWICTextureFromFile from the WICTextureLoader.h you have just created. I can't read your code right now, so here is an simplified example of how I call this function (note the DirectX namespace; TextureMgr is my class that holds this function; md3dDevice is a raw pointer to a ID3D11Device): #include "WICTextureLoader.h" ID3D11ShaderResourceView* TextureMgr::CreateTexture(std::wstring filename) { ID3D11ShaderResourceView* srv = 0; DirectX::CreateWICTextureFromFile(md3dDevice, filename.c_str(), nullptr, &srv); return srv; }
  5. Actually, DirectXTK has DDSTextureLoader and WICTextureLoader. Again, it is possible to rip these files to your own project.
  6. Hello Meho, maybe the ID3D11DeviceContext *pContext parameter is missing on the call? Also, I recommend you to use DirectX Tool Kit for a more "modern" texture loading, you can get more info here and here is the source (you can copy the .h and .cpp files to your project, there is no need to use the entire DirectXTK library).
  7. Hello everyone, I'm getting an error when running "Init Direct3D" from Frank Luna's Directx 10 book (CH 4): I just downloaded the code from http://www.d3dcoder....ook3/PartII.zip, it compiles without errors, but when I start debuging, this error appears . What I'm doing wrong? System info: win8 x64 gtx 460 dxsdk jun10 (debug layer enabled) ps: I can post the code here, but it's a bit long, so if you guys prefer this way, just let me know. Thank you.
  8. hello everyone, i have a question about the c++ language, so i will start by a example: void do_something(int v[]); why i don't need to specify the vector size in the function parameter? how does the compiler knows the size of it? (i think that it takes from the function call... right?) another example: void do_something2(int v[][5]); ok ok, i don't have to specify the lines size, but i have to specify the columns size... if the compiler can "take automatically" the lines size (as in the first example), why it don't take the columns too? (sorry for the bad english, it's not my native language) thank you.
  9. so, in an abstract way, it works like this (?): int array[[color=#a52a2a]5][[color=#006400]5]; [color=#a52a2a]0x0001 [color=#006400] 0x0002 [color=#006400] 0x0003 [color=#006400] 0x0004 [color=#006400] 0x0005 [color=#006400] 0x0006 [color=#a52a2a]0x0007 [color=#006400] 0x0008 [color=#006400] 0x0009 [color=#006400] 0x000A [color=#006400] 0x000B [color=#006400] 0x000C [color=#a52a2a]0x000D [color=#006400]... int* value = array+1..5 //for looking up a column value from line 1 int* value = array+6+1..5 //for looking up a column value from line 2 //and so on. ? thank you.
  10. hello everyone, i'm new to opengl and im having trouble to generate glClearColor random values... if i set it manually, works well but with rand()%256 it not. Whats going on ? os: ubuntu 12.04 io/window library: sdl heres my code: #include <iostream> #include "SDL/SDL.h" #include "SDL/SDL_opengl.h" #include <stdlib.h> #include <time.h> using namespace std; int main() { srand(time(NULL)); SDL_Init(SDL_INIT_EVERYTHING); SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 8); SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 8); SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8); SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 8); SDL_GL_SetAttribute(SDL_GL_BUFFER_SIZE, 32); SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 16); SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); SDL_WM_SetCaption("Our first game", NULL); SDL_SetVideoMode(600, 400, 32, SDL_OPENGL); glClearColor(255,255,255,255); //rgba glViewport(0, 0, 600, 400); // top-left bottom-right viewport range glShadeModel(GL_SMOOTH); // gradient glMatrixMode(GL_PROJECTION); // 2d glLoadIdentity(); glDisable(GL_DEPTH_TEST); bool isRunning = true; SDL_Event event; while(isRunning) { while(SDL_PollEvent(&event)) { switch(event.type) { case SDL_QUIT: isRunning = false; break; } if(event.type == SDL_KEYUP && event.key.keysym.sym == SDLK_ESCAPE) { isRunning = false; break; } if(event.type == SDL_KEYUP && event.key.keysym.sym == SDLK_r) { glClearColor(rand()%256, rand()%256, rand()%256, 1.0); break; } } //rendering glClear(GL_COLOR_BUFFER_BIT); SDL_GL_SwapBuffers(); } SDL_Quit(); return 0; } thank you.
  11. lucaswrk

    Random glClearColor values

    Your alpha value is 1.0. You probably meant 255 . Edit: It's also possible that glClearColor expects floats clamped to 1.0, in which case it's highly likely you're always getting white since rand()%256 will usually be nonzero. Try dividing the results of that calculation by 255.0f to find out. (Or check the documentation... either way, don't mix clamped floats and integer formats.) [/quote] yeah, that was the problem! x >= 1.0 will be the color max value, that's why my screen was getting white every time. Exactly as you said. heres the correct code (with jouley's hint), if someone is interested.. float r = rand()%256 / 255.0f; float g = rand()%256 / 255.0f; float b = rand()%256 / 255.0f; glClearColor(r, g, b, 1.0); thank you @jouley!
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!