- CXBX RELOADED EMU D3D DEFERRED TEXTURE UPDATE
- CXBX RELOADED EMU D3D DEFERRED TEXTURE PATCH
- CXBX RELOADED EMU D3D DEFERRED TEXTURE FULL
- CXBX RELOADED EMU D3D DEFERRED TEXTURE SOFTWARE
I started on it once but was too lazy and unfocused to continue it. We could even take the entire D3DPIXELSHADER_DEF structure and create a register combiner from it without the need to convert to a fragment program if we wanted, while converting the existing vs1.1 code to arbfp1.0 if need be. And if we ever need D3D9 for anything specific, there's OpenGL extensions that can give us interoperability with Direct3D9.Īlthough the approach I had in mind would utilize a handful of NV specific things, not too much would ultimately be vendor specific. Not to mention the possibility of translating xvs/xps1.1 to GLSL since we can have a MUCH easier time debugging that. No more need for primitive patching, no more missing synchronization functions and no more missing render/texture states that Direct3D does not, never has nor never will support. Furthermore, it can be used as a means to implement a library that essentially would be the equivalent Xbox Direct3D, where we can natively support most Xbox exclusive features right out of the box.
CXBX RELOADED EMU D3D DEFERRED TEXTURE FULL
Although it was never a full implementation, I do believe it's worth considering since it's not only open source, but it does work well enough as a starting point. There was a wrapper that someone had been working on back in the early 2000s called dxglwp, which translates Direct3D8 calls to OpenGL 1.x. Okay, since this thread is constantly derailing (and blowing up my inbox with notifications), let me attempt to bring it back on track one more time by suggesting OpenGL instead of Direct3D once again. I (we) appreciate bug reports and helpful comments, but posting this many comments in one go just spams the issue tracker, and is not helpful at all. Regarding the Cache files: That is a valid concern and it is possible that there are some filesystem bugs remaining in Cxbx-Reloaded, however, this has nothing to do with what API we use either. The fact these issues exist at all are proof that we still don't have our graphics emulation quite right yet, the same problems would exist (but perhaps manifest differently) regardless of the API we use.Īlso, regarding the C++ packages: If these are missing or incorrect Cxbx-Reloaded wouldn't even start, it wouldn't even get as far as the GUI, so that has nothing to do with the problem either. That said, it's also likely the issues are caused by differences in the installed graphics drivers, perhaps they interpret certain data structures differently. It is true behavior differs in Cxbx-Reloaded based on Windows version, but a large portion of that is the amount of undocumented functionality we use in the kernel, which Microsoft can change the behavior of at any time without warning.
CXBX RELOADED EMU D3D DEFERRED TEXTURE SOFTWARE
Windows 7+ have full support for DirectX 8, if it didn't, much more older software and games would fail than they do now.
CXBX RELOADED EMU D3D DEFERRED TEXTURE UPDATE
Not only is this a ridiculous amount of comments in such a short time (please, just update the first one rather than post this many times in a row) the information you have given is not at all useful and is just plain wrong. There's more, such as a cheap and dirty way to emulate _BeginPushBuffer() needed by MGS2 and Spy vs Spy, but I want to hear what everyone else has to say. But of course this is just from a high level perspective. Example, D3DDevice_KickPushBuffer() and _BlockUntilIdle() are the equivalents of glFlush and glFinish, respectively. Some shaders we cannot convert due to D3D8's limitations.įurthermore there's features that OpenGL has supported that Direct3D has never truly supported until now, especially when it comes to synchronization. Non power of two textures also won't be a problem as well as longer vertex shaders being possible. With OpenGL, texture and other resource updates appear to be more practical, and several more texture formats available.
CXBX RELOADED EMU D3D DEFERRED TEXTURE PATCH
Plus the need to manually patch vertices for unofficially supported primitive types is quite inefficient and causes major issues, especially for Robotech Battlecry. I personally recommend at least OpenGL 2.1 since the NV2A's hardware registers more closely match it.