Page 3 of 6 FirstFirst 12345 ... LastLast
Results 21 to 30 of 51

Thread: DirectX...for X

  1. #21
    Join Date
    Mar 2008
    Posts
    9

    Default

    Quote Originally Posted by Jade View Post
    So, whatever happened to DirectX for X?
    A native implementation of DirectX (or more's the point Direct3D) for X-Window would probably be a cleaner, neater and more elegant solution than the current translation-layer approach.

    Unfortunately, the DirectX architecture is so tightly wedded to Windows, that it most likely wouldn't be worth the effort - also the best people to do it would be the graphics card people...and they ain't going to...

  2. #22
    Join Date
    Jun 2006
    Posts
    3,046

    Default

    Quote Originally Posted by alurien View Post
    Unfortunately, the DirectX architecture is so tightly wedded to Windows, that it most likely wouldn't be worth the effort - also the best people to do it would be the graphics card people...and they ain't going to...
    You're not going to shave off enough performance to make it worth your trouble. D3D is married at the hip to Micorosoft's entire design for Windows. Making a wrapper, while "faster" will be much easier and would be happening more soon than the other answers.

  3. #23
    Join Date
    Jan 2008
    Posts
    112

    Default

    I've been wondering since I made the switch to Free software why game developers don't see the advantages of it. I mean if they all contributed to development of open engines, APIs and dev-tools they could still charge what they do now for the content/media, and probably in a ton of cases, the community would port their engine to other platforms all by their themselves. But somehow they're all a bunch of lazy asses who'd rather just do a half assed job with Directx and thereby guarantee that within a decade nobody will be able to play their game ever again. If it makes a profit who gives a fuck right?

  4. #24
    Join Date
    Oct 2007
    Posts
    370

    Default

    wrapping d3d to opengl is not really costly...

  5. #25
    Join Date
    Aug 2007
    Posts
    6,646

    Default

    But you have real problems when OpenGL can not exactly map some things like texture formats - that makes for example UT3 real slow...
    Last edited by Kano; 04-22-2008 at 09:30 PM.

  6. #26
    Join Date
    Mar 2008
    Posts
    9

    Default

    Quote Originally Posted by Kano View Post
    But you have real problems when OpenGL can not exactly map some things like texture formats - that makes for example UT3 real slow...
    Exactly, which is why a native-side Direct3D implementation would be darned handy. The fact is that DirectX isn't going to go away, in the same way that .NET and Windows XP/Vista/Server 2003 aren't going to go away.

    The options for GNU/Linux, as I see them are thus:

    1. Carry on as we are, with a large 3D performance reduction from doing the Direct3D->OpenGL conversion.

    2. Wait for some "bare metal" facilities from Xen and other virtualization technologies. We can then install Windows and run Windows games at near-native speed.

    3. Lobby games companies to either:
    a) Give us native ports of the big titles.

    b) Implement an OpenGL renderer alongside the Direct3D one, making 3D performance through WINE much faster.

    c) Make a point of using SDL for all future titles, allowing easier porting onto non-Windows platforms.

    4. Hope that the likes of Intel, nVidia and AMD/ATI wake up some day and decide to do a native Direct3D port for their graphics chips, and help link the WINE-based d3d9.dll to it.
    Last edited by alurien; 04-23-2008 at 02:32 PM.

  7. #27
    Join Date
    Jun 2006
    Posts
    3,046

    Default

    Quote Originally Posted by Kano View Post
    But you have real problems when OpenGL can not exactly map some things like texture formats - that makes for example UT3 real slow...
    Heh... The texture formats should be similar with minimal issues with translating it upon submission per level- IF the textures aren't identical in the first place. LGP typically doesn't do any changing/translating of textures when we do a porting project over from Windows to Linux.

    Shaders, on the other hand... That's a differing story and I'm not all too sure what is getting done with those- it's probably not using HLSL2GLSL from AMD which would have a good mapping for them so they can interchangeably do D3D and OpenGL demos with the same shader and texture sets.

    [edit]

    Heh... If I'm reading the WINE project info on this right, they're basically providing a "driver" layer that looks like an abstract NVidia or AMD card to the D3D layer stuff. That's NOT how one gains speed at this stuff...
    Last edited by Svartalf; 04-23-2008 at 04:15 PM.

  8. #28
    Join Date
    Apr 2008
    Location
    /dev/random
    Posts
    218

    Default

    I guess no one looks at wikipedia

    SDL, is Simple DirectMedia Layer
    On windows, it is like this
    GAME -> SDL -> DirectX
    on linux
    GAME -> SDL -> OpenGL/Alsa/(Other thing for mouse etc)
    on OSX
    GAME -> SDL -> Quartz/OpenGL/(Other mouse related stuff)

    so it behaves differently on different OS's

    as for directx
    Quote Originally Posted by wikipedia article on directX
    Microsoft DirectX is a collection of application programming interfaces (APIs) for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms. Originally, the names of these APIs all began with Direct, such as Direct3D, DirectDraw, DirectMusic, DirectPlay, DirectSound, and so forth. DirectX, then, was the generic term for all of these Direct-something APIs, and that term became the name of the collection. After the introduction of the Xbox, Microsoft has also released multiplatform game development APIs such as XInput, which are designed to supplement or replace individual DirectX components.

    [...]

    Nevertheless, the other APIs of DirectX are often combined with OpenGL in computer games because OpenGL does not include all of DirectX's functionality (such as sound or joystick support). However, the combination of OpenGL and SDL for this purpose is becoming increasingly popular.

    [...]

    APIs such as Direct3D and DirectSound need to interact with hardware, and they do this through a device driver. Hardware manufacturers have to write these drivers for a particular DirectX version's device driver interface (or DDI), and test each individual piece of hardware to make them DirectX compatible. Some hardware devices only have DirectX compatible drivers (in other words, one must install DirectX in order to use that hardware). Early versions of DirectX included an up-to-date library of all of the DirectX compatible drivers currently available. This practice was stopped however, in favor of the web-based Windows Update driver-update system, which allowed users to download only the drivers relevant to their hardware, rather than the entire library.
    So, actually, it should be possible to have a DirectXmedia layer (I think), in fact if it is made to use SDL, it could save development time, as well as having to skip redirecting calls to OpenGL/OpenAL/X/etc

    So:
    GAME -> (WINE ->) DXL -> SDL -> Native System Calls

    Right?


  9. #29
    Join Date
    Jun 2006
    Posts
    3,046

    Default

    Quote Originally Posted by some-guy View Post
    So, actually, it should be possible to have a DirectXmedia layer (I think), in fact if it is made to use SDL, it could save development time, as well as having to skip redirecting calls to OpenGL/OpenAL/X/etc

    So:
    GAME -> (WINE ->) DXL -> SDL -> Native System Calls

    Right?

    That would be yet another indirection layer on top of another on top of another.

    Each one of those indirection layers adds the potential for slowdowns and just problems due to impedance mis-matches.

  10. #30
    Join Date
    Apr 2008
    Location
    /dev/random
    Posts
    218

    Default

    then remove SDL
    APP -> WINE -> DXL -> Native System Calls
    and if the apps start to be compiled under linux, then
    APP -> DXL -> Native System Calls

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •