Tag Info

Hot answers tagged

12

In most cases these problems would fall into the category of "undefined behavior" (not in the C++ sense, but in a more broad understanding). What you'd be doing is essentially circumventing the abstraction provided by MonoGame (as an example, this of course applies to basically any such higher-level API). In doing so, you can cause class invariant ...


5

Similar to how Mono can compile C# to various platforms, why isn't there an API that conforms to DirectX's specifications but can produce binaries for all platforms? First, I assume you mean something like an implementation of D3D that can be compiled on all platforms, since producing binaries that run on all platforms is not the domain of the ...


3

Things like this might not be as obvious or common so far, but it is used. With multiple windows you can create UI windows that may be dragged outside the game's main window (e.g. the cancelled MMO Wish supported this, although performance has been rather abismal back then). You can do other things with a secondary window, e.g. it could be useful when ...


3

I agree with Josh's answer fully but I'd like to add some thoughts. The purpose of MonoGame is to bring the XNA API to many platforms. If you are using OpenTK directly you are restricting yourself to only those platforms that support it. Therefore, you could loose one of the main benefits of using the abstraction. If you find yourself wanting to do ...


2

On a modern OS, where the desktop window compositing system is backed by a hardware-accelerated API like OpenGL or D3D, using the OS's drawing API will ultimately involve some calls being made into that underlying hardware-accelerated API. However: It is not always the case that the OS is using GPU-based compositing (particularly on older versions). You ...


2

An API (Application Programming Interface) is an interface; a set of methods you use to interact with an object or set of objects to do something. Example: OpenGL, for 3D graphics. A Framework is a step up; it's not only a set of APIs, but a way to think about and solve problems. Example: SFML, for media. It gives you graphics but also input handling and ...


2

With regards on how to mitigate the problems arising on combining those two ideas: MonoGame is open source, modify it directly and you don't need to worry about problems from using both. If you think you need additional stuff in it, then by all means: create a fork. Use that base code and add yours on top of it. Recompile MonoGame and there you go. This ...


1

It would be hard (and probably overkill) to try to provide anything besides casting, multicasting and broadcasting of generic messages for real-time multiplayer games. You could even make it more generic by creating simple key-value (string-JSON) room storage behind websocket service with operations like: set(key, value) get(key) observe(key) maybe ...


1

I'm not sure, but if you mean GDI/GDI+ or Win32 API in general, all drawing is done via software. Using OpenGL, for example, you can reduce CPU time spent in graphics and do other stuff. The graphics hardware provide optimized functionality for commonly used operations like vertex transformation, rasterization, etc. The code that really is executed by ...


1

If you're not drawing with Direct3D or OpenGL, you're most likely using GDI+. There is a vast amount of differences between graphics APIs but all of them work by sending commands to a graphics driver that tells your hardware what to do. Unless you're writing that driver yourself, there's always going to be an API between you and your hardware. Differences ...



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