Giter VIP home page Giter VIP logo

slimdx's People

slimdx's Issues

Evaluate the name of GraphicsStream

While I'm nitpicking about this class, is its name valid? It's basically a
generic memory stream (but more flexible than the .NET MemoryStream) for
locked/mapped/user-created resource data. If any other APIs (DInput,
DSound, XAct) require that kind of interface to buffer data, we might want
to consider renaming the class to be more generic (i.e., get rid of the
"graphics" bit). 

Presumably the investigation of whether or not this makes sense should be
completed before our first official versioned release so that we don't have
to break the API later.

Initial investigation suggests this might be worthwhile, as the DSound API
has a buffer class that can be locked similar to who D3D buffers are locked.

Original issue reported on code.google.com by josh.petrie on 12 Jul 2007 at 1:37

Cannot create additional D3D9 swap chains

<Tape_Worm> Got a SlimDX issue for you.  I tried to post it to google code,
but the damn thing keeps giving me a server error.
<Tape_Worm> The issue is that you cannot create an additional swap chain
like you can with IDirect3DDevice9::CreateAdditionalSwapChain().   The only
constructor for the SwapChain object is SwapChain(IDirect3DSwapChain9 *),
which obviously really doesn't fit the bill.


Original issue reported on code.google.com by josh.petrie on 15 Jul 2007 at 12:40

Finish off some fixed function bits

Offhand I noticed light support was missing, and materials probably have 
holes. No hurry. Do it on a slow Sunday instead of cutting yourself or 
something.

Original issue reported on code.google.com by [email protected] on 14 Jul 2007 at 10:12

D3D10 uses its own GraphicsException

This is silly because there is one in the base level that should be usable,
so as long the HRESULT codes don't overlap. Look into this and craft an
appropriate solution.

Original issue reported on code.google.com by josh.petrie on 10 Jul 2007 at 9:24

Compilation errors with revision 103

I get the following error when trying to compile revision 103:

1>Linking...
1>Texture.obj : error LNK2020: unresolved token (06000170)
SlimDX.Direct3D9.BaseTexture::GenerateMipSublevels
1>Sprite.obj : error LNK2020: unresolved token (060001C7)
SlimDX.Direct3D9.BaseTexture::GenerateMipSublevels
1>Effect.obj : error LNK2020: unresolved token (060001A9)
SlimDX.Direct3D9.BaseTexture::GenerateMipSublevels
1>Device.obj : error LNK2020: unresolved token (060001CF)
SlimDX.Direct3D9.BaseTexture::GenerateMipSublevels
1>D:\Tavaraa\SlimDX\build\Debug\SlimDX.dll : fatal error LNK1120: 4
unresolved externals
1>Build log was saved at "file://d:\Tavaraa\SlimDX\build\Debug\BuildLog.htm"
1>SlimDX - 5 error(s), 0 warning(s)

I use the exact same setup as with previous revisions.

//chinc


Original issue reported on code.google.com by [email protected] on 11 Jul 2007 at 6:03

Finish ConstantTable functions

The following functions need to be written:
GetBufferPointer,
GetBufferSize,
GetConstantDesc,
GetConstantElement,
GetDesc,
SetDefaults,
SetBoolArray

Original issue reported on code.google.com by [email protected] on 14 Jul 2007 at 12:45

Usability Issues

Perhaps we can try to take advantage of .NET features to make using SlimDX
easier. For example, instead of having the Get / Set RenderState function,
we  could have a RenderState property that points to a RenderState class
with all render state possibilities.

I think this is one of the things that XNA got absolutely right. Some of
the changes they made to the Direct3D interface make perfect sense, and it
would be nice if SlimDX had that elegance as well.

Original issue reported on code.google.com by Mike.Popoloski on 6 Aug 2007 at 7:15

Any chance for a few more D3DXMesh methods?

What steps will reproduce the problem?
1. The D3DXMesh routines are very useful for game tools but only a minimum
set of them are present for now.
2.
3.

What is the expected output? What do you see instead?

At least it should allow to create a mesh and access the VB and IB inside
of the mesh. So that ComputeTangent() can be called for computation
generated mesh. Other methods like Intersect() and access to attribute
buffer are also appreciated.

What version of the product are you using? On what operating system?


Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 14 Aug 2007 at 10:21

Project file: Output directory.

When you have the time, can you change the project file 'Output Directory' 
value from:
$(SolutionDir)$(ConfigurationName)

to

$(ConfigurationName)

The current setting is messing up my directory structure (places a Debug 
directory in the root level of my solution directory tree).

Original issue reported on code.google.com by tape.wyrm on 2 Aug 2007 at 4:10

Review math objects for functionality duplication

Some of the math objects (Matrix and Vector) contain duplicate methods -
they have static and non-static versions of operations (such as
Matrix::Transpose()). I think we should eliminate one of the two, probably
the non-static methods.

Original issue reported on code.google.com by josh.petrie on 11 Jul 2007 at 12:25

Bug in DirectX 10 code, superfluous ';'

    EffectScalarVariable^ EffectVariable::AsScalar()
    {
        ID3D10EffectScalarVariable* variable = m_Pointer->AsScalar
();
        if( variable == NULL || !variable->IsValid() );

I'd imagine that ';' at the end of the if statement is a typo? :)

Original issue reported on code.google.com by tape.wyrm on 1 Aug 2007 at 2:58

Clean up use of GraphicsStream (remove zero size hack)

GraphicsStream can currently accept a size of 0, which means "I don't know
my size." This is mostly a compatibility hack to allow locking of resources
we don't know the size of yet; however, it's a problem because it disables
some of the stream functionality. 

Should make a pass through anything that interacts with GraphicsStream and
try to get the size of the locked region, so that the "0 for unknown" hack
can be removed from the stream.

Original issue reported on code.google.com by josh.petrie on 11 Jul 2007 at 12:32

Rename SlimDX.cpp to Utils.cpp

This file originally existed to force a lot of header-only things to
compile. Now that the codebase has been significantly patched up, it really
exists just to force the contents of Utils.h to compile. It should be
renamed to reflect that.

Original issue reported on code.google.com by [email protected] on 10 Jul 2007 at 9:26

Checking for nullptr on Set* methods.

I've managed to finally get SlimDX running on one of my project files.  I 
did run into one issue regarding IDirect3DDevice9.SetTexture().  When I 
passed NULL for the texture object, it came back with an object reference 
not initialized error.  This was due to the following code:

hr = m_Pointer->SetTexture( sampler, texture->BaseTexturePointer );

Obviously, since 'texture' is nullptr, it cannot retrieve the instance of 
BaseTexturePointer.  For now I've just wrapped it in a nullptr check

hr = m_Pointer->SetTexture( sampler, texture != nullptr ? texture-
>BaseTexturePointer : NULL );

There may be more issues like this, and I'll update if I find them.

Original issue reported on code.google.com by tape.wyrm on 29 Jul 2007 at 9:48

Dispose() methods missing in intellisense

Intellisense lists all methods/properties an object has, except the Dispose
() methods for objects that have them.

Try:

VertexBuffer buffer;
buffer.Dispo|

Then hit CTRL+Space to request intellisense popup (if it is not there 
already). Notice it is not listing the Dispose() method, yet the object 
DOES have a Dispose() method.

Original issue reported on code.google.com by [email protected] on 3 Aug 2007 at 10:43

Signing of binaries

I've noticed that the binaries are not signed with a strong name.  This 
causes an issue when signed libraries depend on the assembly.  Not to 
mention it can't be put in the GAC should one choose to do that.

It'd be a good idea to sign the binaries, it's also helpful to confirm who 
created the dll should that ever be an issue.

Original issue reported on code.google.com by tape.wyrm on 6 Aug 2007 at 3:29

Right-handed math functions.

From chinc in the GDNet thread:

"The geometric functions in SlimDX seem to be left-handed, and I decided to
make my new engine use right handed coordinate systems. Can you make right
handed versions of the functions? Of course I can do this myself, but it
would be convenient when upgrading if the functions were right in the box."


Original issue reported on code.google.com by josh.petrie on 10 Jul 2007 at 3:03

Capabilities Direct3D::GetDeviceCaps does not evaluate return value

The implementation of GetDeviceCaps ignores the D3D return value. For an 
example an adapter that does not support hw rendering but was queried for 
it will lead to a invalid returned caps structure. Apart from that the 
user has no chance to know what went wrong like D3D not available, out of 
video memory or the like.

Original issue reported on code.google.com by [email protected] on 7 Aug 2007 at 6:56

Enum issues

The "Usage" enumeration doesn't contain a flag for software processing 
(SoftwareProcessing).  This may seem like an unnecessary flag, but a lot 
of on-board chipsets (e.g. intel) don't actually have T&L or shaders, so 
this could be necessary.

The TextureOperation has a broken item:
BumpEnvMapLuminanceD3DTOP_BUMPENVMAPLUMINANCE,

Should be:
BumpEnvMapLuminance = D3DTOP_BUMPENVMAPLUMINANCE,

Original issue reported on code.google.com by tape.wyrm on 15 Jul 2007 at 6:05

Need a migration guide

It'd be nice to have a migration guide that is up-to-date for people who
are switching to SlimDX. In particular, we want to call out intention
omissions and differences, so we don't get bug reports on them, as well as
new or improved features.

Also, I wanted to play with the issue system and see if stimulates SVN
revision number updates like editing the wiki does. Because that's silly.

Original issue reported on code.google.com by josh.petrie on 17 May 2007 at 3:08

Need to add XAudio2 support

XAudio2 was introduced with the August 2007 SDK. It is a fairly small API 
and should not pose any major difficulties.

Original issue reported on code.google.com by [email protected] on 31 Jul 2007 at 11:22

Vector2 and Vector3 need to be enhanced

Vector2 lacks a couple of useful functions like Normalize or ToString(). 
The latter would be very useful for debugging Vector2 and Vector3 in 
Visual Studio.

Original issue reported on code.google.com by [email protected] on 9 Aug 2007 at 7:29

D3D 10

I wanted to put in another vote that D3D10 is important and a good idea.

I know it's planned, but also please know there are those would start using
it immediately when ready.

Thanks to the small team for this project - It truly a great thing and so
much better than XNA.

You guys rock.

Original issue reported on code.google.com by [email protected] on 14 Jul 2007 at 2:44

August 2007 SDK

Would it be possible to switch over to the Aug 2007 version of the SDK?  

It's not terribly vital, but it's just a little annoying whenever I do an 
update to have it mess up upon recompile because it's expecting the June 
2007 SDL.

Original issue reported on code.google.com by tape.wyrm on 2 Aug 2007 at 3:51

Fullscreen mode causes device reset/minimized window after window messages are processed.

I'm not 100% certain this is due to SlimDX or not.  But, seeing as the 
sample water demo exhibits the same behaviour, as does my code, I thought 
I might post it here.  And this problem does NOT exist in MDX, nor in the 
C++ samples.  I've also tested this in windowed mode for SlimDX and it 
works perfectly there.  So it's just fullscreen with SlimDX apps by the 
looks of it.

The problem:  When setting up for full screen mode (I quadruple checked my 
PresentParameters, so I'm certain those are not the issue) it goes into 
full screen mode just fine, then it enters the render loop.  In the render 
loop it draws the scene, flips (I've visually verified this as it flashes 
on my screen before dying), then processes messages (Application.DoEvents
()).  As soon as it processes messages it switches back to windowed mode 
(the window becomes minimized by the looks of it) and any attempt to 
restore it just crashes.

I've tried processing the messages before the new Device() command to 
clear out the queue, but no go.  As a further test I also placed the 
Application.DoEvents() BEFORE any drawing code and it has the problem, but 
this time nothing gets dumped to my screen before the mode switches.

I hope this is enough information.  If not, find me on IRC and we'll 
discuss it further.
Again, this behaviour is present on the water sample as well.  And I've 
verified that this does not happen with MDX nor the C++ API.  I've looked 
throught the slim dx code, and honestly I cannot see anything that would 
cause this behaviour.

Original issue reported on code.google.com by tape.wyrm on 14 Aug 2007 at 9:09

Remove auto-release, and add advanced leak tracking features

Need to drop auto-release, since it doesn't work.

The new leak tracking features to be added:
* Assign every object an AllocID, like native DX does, and call out the ID
when reporting an undisposed object.
* Provide the option to break on AllocID in debug mode. Again, same as
native DX.
* DisposeHandler function for all objects. This is merely a pass through to
the Dispose function, but its signature makes it usable as an event handler.

Original issue reported on code.google.com by [email protected] on 10 Jul 2007 at 10:08

Find out if D3D10 is doing Naughty Things(tm) to COM objects

D3D10 doesn't have the same ownership semantics (it calls
AddRef()/Release() differently than D3D9). Need to make sure the way D3D10
objects are implemented is correct - and figure out the correct way to
handle the various get* methods that D3D10 does not yet support, but will
soon need.

Original issue reported on code.google.com by josh.petrie on 16 Jul 2007 at 10:10

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.