Hot answers tagged

32

I think a lot of the answers miss an important point: you can write apps that access hardware directly, but not on modern operating systems. It's not just a time problem, but a "you don't have a choice" problem. Windows, Linux, OSX, etc. all ban direct hardware access to arbitrary applications. This is important for security reasons: you don't want any ...


26

Practically its necessary, yes. It's necessary because unless you want to spend years writing what is essentially driver code for the multitude of different hardware configurations out there, you need to use an API that unifies against existing drivers written by GPU vendors for all popular operating systems and hardware. The only realistic alternative is ...


8

APIs like OpenGL or DirectX are partialy implemented by the operating system and partially implemented by the graphic driver itself. That means when you would want to create your own low-level API which makes use of the capabilities of modern GPUs, you essentially need to write an own graphic driver. Making sure that your driver works with all common ...


5

Boot your PC into MS-DOS. Then, using your copy of the PC Game Programmers Encyclopedia, you can write directly into the card's VESA registers and into video memory. I still have the code I wrote 20 years ago to do this and render rudimentary 3D in software. Alternatively, you can just use DirectX; it's a really thin abstraction layer, and also lets you ...


4

In summary: Theoretically you can, but it's unfeasible, and you won't get any advantage. The limitations APIs have today become less every day, you have CUDA and OpenCL and shaders. So having full control is no more a problem. Fuller explanation: Answering this is a boring yes. The real question is why? I hardly imagine why would you want to do this ...


2

Yes it is possible to use Android libraries in libGDX. Anything Android specific should be in your -android project and anything general goes in the -core project. Normally you'd have an interface in the -core project that is implemented by classes in your -android, -desktop or web project and in your platform specific launcher (for example in ...


2

Do all games for Windows 10 need to go through ID@Xbox? No. Only titles that want to feature Xbox Live are required to be part of ID@Xbox. Xbox Live lets you offer your players things like Gamertag identity, Achievements, Gamerscore, custom multiplayer features and more. Join the ID@Xbox program.


1

There's the Unity Web Player, which is enabled by a Browser-Plugin, similar to Flash. The Web Player supports almost all features of the Unity-Engine, with the exception of some Plugins and Filesystem access. In addition to this, there's also the possibility to export the game to HTML5/WebGL. It's possible that some features of your game won't work in some ...


1

They are defined in vertex shader signature, eg. vertex ColorInOut unlit_vertex(device vertex_t* vertex_array [[ buffer(0) ]], constant uniforms_t& uniforms [[ buffer(1) ]], unsigned int vid [[ vertex_id ]]) Earlier I define them like this: typedef struct { matrix_float4x4 ...


1

To get 3D Hardware Acceleration without using a traditional API, you essentially need to write your own code to duplicate the functionality of the graphics driver. So the best way to learn how to do this is to look at the code of the graphics driver. For NVIDIA cards, you should look at the open source nouveau project. They have a collection of great ...


1

The other answers answer your main question quite nicely: technically, it's possible, but in practice, if your goal is to broaden your customer base, you're actually doing the opposite. While wasting a huge amount of work on supporting the thousands of different hardware and OS configurations you need to support. However, that doesn't mean you have to be ...


1

I'd like to mention that there are also other ways to get the accurate DLC data instead of using the API. For example, Steamdb extension gets owned games and DLC info from http://store.steampowered.com/dynamicstore/userdata/ It shows lists of item ids related to the user who is logged in at the moment. Those lists are: rgWishlist rgOwnedPackages ...



Only top voted, non community-wiki answers of a minimum length are eligible