sepul

Members
  • Content count

    212
  • Joined

  • Last visited

Community Reputation

257 Neutral

About sepul

  • Rank
    Member
  1. @MJP this sucks. Isn't it because of AMD drivers ?
  2. @migi: mentioned them in my first post. amd 5950 card, win7, latest amd catalyst 13.9 drivers gpu should be capable as described in d3d documentation
  3. Hi, I need to use some limited functionality of d3d11.1 under win7, but so far I had no luck I've installed the win7 platform update and win8 sdk. Here's a snippet that I acquire d3d11.1 device : dxhr = D3D11CreateDevice(adapter, D3D_DRIVER_TYPE_UNKNOWN, NULL, dev_flags, NULL, 0, D3D11_SDK_VERSION, &dev, &ft_level, &ctx); ID3D11Device1* dev1; dxhr = dev->QueryInterface(__uuidof(ID3D11Device1), (void**)&dev1); dev->Release() D3D_FEATURE_LEVEL ft_level = dev1->GetFeatureLevel() ... The d3d11.1 objects are valid and working, but I can't use any d3d11.1 specific feature. The structure returned by CheckFeatureLevel(D3D11_FEATURE_D3D11_OPTIONS) is all FALSE and I can't run any d3d11.1 APIs without error (or d3d-debug complains) For example my application is something like glMapBufferRange and glBindBufferRange on DX. (which existed since GL3), so I guess it's just a API/driver issue and doesn't rely on d3d11.1 hardware requirements.   But the support in the D3D11_FEATURE_D3D11_OPTIONS is not there and calling VSSetConstantBuffers1 leads to d3d complain "This current driver does not support constant buffer offsets"   In the d3d document for VSSetConstantBuffers it says: "This feature is always available on new drivers for feature level 10 and higher"   So, Am I missing something in the API ? or it's just lazy drivers from AMD ? (I'm using latest Catalyst 13.9 drivers on 5750 card)            
  4. pymdWiki: Document generation tool from markdown files   Tried to find a good solution to generate/publish wiki from offline markdown files, didn't find anything useful so I've created this tool for this purpose You just write markdown documents, run this program on the root directory of documentation files (.md), pick a theme, and it will generate html files out of them. Optionally you can specify an ftp server, the generated files will be uploaded to the ftp automatically.   Here's some features: Recursive directory processing of .md files  Preserves links and images Themes with JSON config files Automatic Table of contents (TOC) generation Lightweight command line multi-platform program (written in python)   For more info about usage visit project page, windows binaries are also available in Downloads section for those who don't want to bother with python.   I've developed this for my other open-source project wiki, but here's a simple test that is generated with this program: http://hmrengine.com/tmp/main.html    
  5. I'm rather a GL newbie, trying to port my d3d code to GL, but so far my experiment was far from pleasant.. My new problem is accessing depth (internal format) texture array in the shader and writing it to some output. My hardware is GL4.2 (AMD 5750)  And here is the screenshot of the whole thing in PerfStudio frame debugger:     As you can see, in the fragment shader, FS[0] (the only texture binded) is is GL_DEPTH_COMPONENT binded to sampler2DArray, I just fetch the first array slice and put it in first RT (RT[0]) but the result is always zero. I even tried fetching texture with texelFetch and the result is the same. I also included the shot of the source texture array info. the shots are pretty self explanatory.     What am I doing wrong here ? thx   
  6. (pasted from my devblog) I’m working on a new hobby project called dark-hammer engine, which is essentially derived from my previous project, hmrengine (vapor-ware!). It is written in C language (C99) and the source is also public. Using BSD license. Currently the source is at early stage – version 0.1.0 – but it is multi-platform, working in both linux/windows OSes and both OpenGL3.0+ and DirectX11 APIs. Most of the engine code and algorithms will be derived from hmrengine project. Source is hosted on bitbucket.org with mercurial version control system. Hopefully, after some time it will attract developers, so here is some useful links for developers interested in the project, will be glad if anybody wants to join/or just check it out: Forums – [url="http://www.hmrengine.com/forums/"]http://www.hmrengine.com/forums/[/url] Wiki – [url="https://bitbucket.org/sepul/dark-hammer/wiki/Home"]https://bitbucket.or...ammer/wiki/Home[/url] Source – [url="https://bitbucket.org/sepul/dark-hammer/src"]https://bitbucket.or...dark-hammer/src[/url] Binary samples – [url="https://bitbucket.org/sepul/dark-hammer/downloads"]https://bitbucket.or...ammer/downloads[/url] Project home – [url="https://bitbucket.org/sepul/dark-hammer/"]https://bitbucket.or...ul/dark-hammer/[/url] Developer blog – [url="http://www.hmrengine.com/blog/"]http://www.hmrengine.com/blog/[/url]
  7. I have implemented bilateral upsample but I'm skeptical of it, because I couldn't understand it's concept especially where they describe the sampling part in the papers For each pixel I get four samples of normal and four samples of depth from 1/2 buffer, and one sample of normal and depth from 1/1 texture, also four samples of color from 1/2 buffer to multiply by weights and calculate the final color. My sampling kernel (for sampling 1/2 buffer) looks like this : [code] static const float2 kernel[4] = { float2(-0.5f, -0.5f), // 0 float2(0.5, -0.5f), // 1 float2(-0.5f, 0.5f), // 2 float2(0.5f, 0.5f), // 3 }; [/code] But in mixed resolution rendering paper, it described it a little bit different and used billinear weights and seems like he does four samples for 1/1 buffer which I couldn't understand. could someone make this more clear for me please ? thanks
  8. I've just started learning ComputeShader and testing some samples, so I'm pretty new with it. but when testing DirectX SDK's own HDRToneMappingCS11 sample on my ATI 5750 hardware I have noticed that the CS performance is poor compared to PixelShader. Runninng in fullscreen mode, simple tonemapping isn't much different from pixelshader in terms of performance, but when I turn "fullscreen blur" on, CS performance is 180fps and PixelShader is 300fps. Isn't computeshader supposed to sample less from texture and save more fillrate thus gain much better performance ? or there is something wrong with the implementation ?
  9. memory aligned objects ?

    thanks, I'll do the workaround . however, do you consider adding this feature for the next release ?
  10. memory aligned objects ?

    I'm getting exceptions in my SSE code, where the script is trying to do something with Vector3 (which is supposed to be 16-byte aligned) here is an expample : [code] __declspec(align(16)) Vec3 ... [/code] in angelcode, vec3 is binded with (asOBJ_VALUE | asOBJ_APP_CLASS_CDAK) flags [code] engine->RegisterObjectType( "vec3", sizeof(Vec3), asOBJ_VALUE | asOBJ_APP_CLASS_CDAK ); [/code] later on, I get exceptions with my math operations that use SSE (xmm loads) does angelcode support aligned allocation from it's stack ?
  11. Minimum bounding sphere of a Frustum

    Methods described by [b]HappyCoder[/b] and [b]David Eberly[/b] as well as the method I described in my previous post (slower), worked and gave identical results thanks @Postie: no I couldn't get that to work, I used barycentric coordinates to calculate circum circle of three points, and chose different set of points, but none of them gave minimum sphere of the frustum
  12. Minimum bounding sphere of a Frustum

    @Mussi: I solved them using Maple, you should give it a try, nice app @Owl: I have tried checking miniball algorithm out, Dave Eberly also has an implementation in his website, which is very complicated and as long as frustum has 8 verts and is symmetric I don't think I need to implement that. @Dave, @HappyCoder thanks guys, as long as I got HappyCoder's method more clearly, I'll try to implement that first and check the results another method I'm currently using is that, I use barycentric minimum bounding spheres method (described [url="http://realtimecollisiondetection.net/blog/?p=20"]here[/url]) for two tetrahedrons inside of the frustum. if indices 0~3 is vertices of the frustum's near plane, and 4~7 for far plane, I calculate one sphere for 0-2-5-7, and one for 1-3-4-6 (opposite tetrahedrons) , and merge two spheres. I think get acceptable results from this, but it's still pretty big especially for frustums with high aspect ratio (fov is high and (far-near) is small), although I don't think I can get small bounding spheres for those, because of the nature of the shape.
  13. Minimum bounding sphere of a Frustum

    @Waterlimon: yes I know that, that will do the work, but as long as I'm using this for shadow mapping, I really need the minimum sphere. @ Postie: ok, I'll try that and keep you posted, ...
  14. I'm trying to find minimum bounding sphere for a frustum and haven't succeeded so far. the method I use is very simple, assuming frustum is symmetric , the center of the sphere should be on the line between two centers of frustum planes (shown in the image) so we have : 1) Dot(P - A, P - A) = Dot(P - B, P - B) 2) P = S + t*N [img]http://www.hmrengine.com/img/min-sphere.gif[/img] by putting P into the equation (1), I could solve t and find sphere center but I can't get corrent results and two distances are never the same after solving it can someone tell we where I'm doing wrong ? or how can I compute the minimum sphere of the frustum ? here is the code : [code] // 0~3 points of 'frustPts' = nearPlane // 4~7 points of 'frustPts' = farPlane void CSM::CalcMinSphere( const math::Vector3f frustPts[8], math::Sphere* sphere ) { math::Vector3f S = (frustPts[0] + frustPts[2]) * 0.5f; // center pt - near plane math::Vector3f S2 = (frustPts[4] + frustPts[6]) * 0.5f; // far pt - near plane math::Vector3f N = S2 - S; math::Vec3Normalize(N, &N); math::Vector3f A = frustPts[0]; math::Vector3f B = frustPts[4]; fl32 d = 2.0f*(math::Vec3Dot(N, A) - math::Vec3Dot(N, B)); fl32 t = ( math::Vec3Dot(A, A) - math::Vec3Dot(B, B) - 2.0f*S.x*(A.x+B.x) - 2.0f*S.y*(A.y+B.y) - 2.0f*S.z*(A.z+B.z) ) / d; math::Vector3f center = S + N*t; fl32 radius = math::Vec3Length( B - center ); fl32 d1 = Vec3Dot( center - A, center - A ); fl32 d2 = Vec3Dot( center - B, center - B ); _ASSERT( Fl32Equal(d1, d2) ); // asset failure !!! ( + we have invalid bounding sphere) sphere->Set(center.x, center.y, center.z, radius); } [/code]
  15. FuncDef + Array -> Assertion failure

    It wasn't a bug in AngelScript, actually it was my fault , cuz I have modified ScriptArray.cpp somewhere and made it do this. and now it's fixed my bad, sorry