473,378 Members | 1,688 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,378 software developers and data experts.

Cross-platform visualization in C#


I would like to write and sell high-performance 2D and 3D vector graphics
software in C# running under both .NET and Mono. What libraries would you
recommend?

My first choice would be OpenGL but I believe support under Windows is
uncertain and I have found the Tao bindings (the only significantly-widely
used OpenGL bindings available for .NET) to be unreliable.

Here is an example of the kind of thing I would like to render:

http://www.ffconsultancy.com/product...zation/?mpdlcs

As you can see, conventional GUI toolkits (e.g. WinForms, GTK#) would not be
particularly useful.

--
Dr Jon D Harrop, Flying Frog Consultancy Ltd.
http://www.ffconsultancy.com/?u
Nov 8 '08 #1
1 2112
Michael B. Trausch wrote:
On Sat, 08 Nov 2008 21:29:39 +0000
Jon Harrop <jo*@ffconsultancy.comwrote:
>I would like to write and sell high-performance 2D and 3D vector
graphics software in C# running under both .NET and Mono. What
libraries would you recommend?

I am not actually sure if what you're looking for exists. I am going
to wager a guess that the grail you seek is a managed wrapper library
which abstracts away the interface differences between, say, OpenGL and
DirectX. Being high-performance, I doubt that your managed layer would
want to sit any higher than that in the abstraction chain.
I just want the (managed) functionality. I don't care if it has been
abstracted or not.
Now, I don't know the Windows side at all, so I can't speak to what
might be feasible there. But it would _seem_ like you could collect
the two APIs together into individual wrappers, and then provide a
single interface that can choose which one to use at run-time,
providing its own abstracted API. You could choose to make the
abstracted API resemble DirectX or OpenGL or the hybrid of them meeting
in the middle or anything else that might make sense. Of course, that
does make the assumption that you're pretty well-versed in both,
because you'll have to handle the nuances of both along the way in the
abstraction.
I would just use OpenGL and forget about Direct X.

I suppose you could say that I am looking to reimplement part of WPF on
Mono, so I'd like anything that gives me a headstart. The Mono guys
apparently do not intend to reimplement WPF (or F#) which is a great shame:
that is one of the main reasons I use .NET!

Looks like I'll have to start from scratch...

--
Dr Jon D Harrop, Flying Frog Consultancy Ltd.
http://www.ffconsultancy.com/?u
Nov 10 '08 #2

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: Web Science | last post by:
Site and Features: http://www.eigensearch.com Search engine, eigenMethod, eigenvector, mathematical, manifolds, science, technical, search tools, eigenmath, Jacobian, quantum, mechanics,...
12
by: * ProteanThread * | last post by:
but depends upon the clique: ...
3
by: rollasoc | last post by:
Hi, Doing a bit of system testing on a Windows 98 laptop. (.Net 1.1 app). Did a bit of testing. Loaded a previously saved file. A gray box appeared with the text and buttons all white...
0
by: Web Science | last post by:
Site and Features: http://www.eigensearch.com Search engine, eigenMethod, eigenvector, mathematical, manifolds, science, technical, search tools, eigenmath, Jacobian, quantum, mechanics,...
23
by: Jeff Rodriguez | last post by:
Here's what I want do: Have a main daemon which starts up several threads in a Boss-Queue structure. From those threads, I want them all to sit and watch a queue. Once an entry goes into the...
0
by: Web Science | last post by:
Site and Features: http://www.eigensearch.com Search engine, eigenMethod, eigenvector, mathematical, manifolds, science, technical, search tools, eigenmath, Jacobian, quantum, mechanics,...
1
by: Rob Woodworth | last post by:
Hi, I'm having serious problems getting my report to work. I need to generate a timesheet report which will contain info for one employee between certain dates (one week's worth of dates). I...
6
by: Simon | last post by:
Hi All, An experiment i'm doing requires requires a synchronous cross-domain request, without using a proxy. I wondered if anyone had any ideas to help me achieve this. Below is what I have...
6
by: Bart Van der Donck | last post by:
Hello, I'm presenting my new library 'AJAX Cross Domain' - a javascript extension that allows to perform cross-domain AJAX requests. http://www.ajax-cross-domain.com/ Any comments or...
6
by: ampo | last post by:
Hello. Can anyone help with cross-domain problem? I have HTML page from server1 that send xmlHTTPRequest to server2. How can I do it? Thanks.
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...
0
by: ryjfgjl | last post by:
In our work, we often need to import Excel data into databases (such as MySQL, SQL Server, Oracle) for data analysis and processing. Usually, we use database tools like Navicat or the Excel import...
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.