Crystal Space
Welcome, Guest. Please login or register.
August 22, 2014, 03:09:05 pm

Login with username, password and session length
Search:     Advanced search
9005 Posts in 2043 Topics by 8333 Members
Latest Member: Deminagomez76
* Home Help Search Login Register
+  Crystal Space
|-+  Crystal Space Project Development
| |-+  Feature Requests
| | |-+  Graphics, Sound & Misc
« previous next »
Pages: [1] Print
Author Topic: Graphics, Sound & Misc  (Read 14985 times)
LPCA
Guest


Email
« on: September 30, 2005, 10:01:23 pm »

Graphics related:
- Direct3D (at least for DirectX 8.1, DirectX 9.0 i know its a bit more complex)

Sound related:
in documentation/features/etc i see mentions to DirectSound3D, EAX and A3D. im assuming DirectSound3D is the only API library and it uses the EAX and A3D plugins for add features. i dont see any references to other cross-platform API libraries. so i suggest:
- OpenAL
- fmod
- any other worth using library

Misc:
- any application using this engine would be best if it could select not just Graphics API library based on OS but also Sound API library (assuming you guys add those above or others). example, on windows, i could pick eitheir OpenGL+OpenAL or Direct3D+DirectSound3D, or Direct3D+OpenAL. or some other combo.
- add some more detail on features, FAQ, etc
Logged
sunshine
Administrator
Sr. Member
*****
Posts: 294


View Profile
« Reply #1 on: September 30, 2005, 10:12:59 pm »

Crystal Space has an OpenAL sound renderer. (Note, however, that a new sound system was introduced into CS a few days ago, and someone will need to update the OpenAL renderer to work with it.) There is also a software sound renderer, which is entirely cross-platform.

Applications are free to choose their own graphics and audio renderer combinations. Note, though, that the Direct3D renderer was dropped some time ago because nobody was maintaining it. Because Crystal Space is, however, entirely modular and open, it would be possible to revive a Direct3D renderer for the project if someone wanted to commit the time and resources to the effort.
Logged
LPCA
Guest


Email
« Reply #2 on: September 30, 2005, 11:50:27 pm »

cool Cheesy

so you got EAX, A3D ?and something else? as plugins for DS3D and OpenAL, or they just work on DS3D? i dont know that much details about Sound libraries.
Logged
sunshine
Administrator
Sr. Member
*****
Posts: 294


View Profile
« Reply #3 on: September 30, 2005, 11:55:28 pm »

I believe we dropped out EAX plugin a while ago because it was not maintained and was broken most of the time. We may have also had an A3D plugin at one time, but my memory becomes hazy. Right now, we have DirectSound3D, OpenAl, and software sound renderers.

We also have drivers (which are utilized by the renderers) for ALSA, CoreAudio (Mac), OSS, and Windows.
« Last Edit: October 02, 2005, 02:26:12 am by sunshine » Logged
jorrit
Administrator
Hero Member
*****
Posts: 1706


View Profile
« Reply #4 on: October 01, 2005, 06:30:18 am »

Graphics related:
- Direct3D (at least for DirectX 8.1, DirectX 9.0 i know its a bit more complex)

CS uses OpenGL instead of Direct3D.

Greetings,
Logged
Fresh
Guest


Email
« Reply #5 on: December 06, 2005, 06:39:50 am »

Is there a way to implement an open source, free 3D engine called Orge? I'm don't know much about programming, but I know Orge supports OpenGL, DirectX 8.1, and DirectX 9.0.

I was able to compile Orge and use the provided demo application to see it work with a lot of fuss, but I  haven't been exposed to many programming techniques that I was really able to understand. So, this might be easier to use in general for those who are familiar. The installation was done with Code::Blocks (a freebie) and the free compiler from MS.

The demo includes a FPS meter that indicates fastest performance when using DirectX 9.0, medium on 8.1, and least with OpenGL.

I use a ATI 9600 XT, incase this is relevent in any way to the topic.

                                                                                                              Noobie out.
Logged
jorrit
Administrator
Hero Member
*****
Posts: 1706


View Profile
« Reply #6 on: December 06, 2005, 09:02:27 am »

Is there a way to implement an open source, free 3D engine called Orge? I'm don't know much about programming, but I know Orge supports OpenGL, DirectX 8.1, and DirectX 9.0.

Ogre is another 3D renderer which is not compatible with CS. Also there would be no reason to try to do this. CS supports OpenGL and that's good enough.

Greetings,
Logged
adidas010
Guest


Email
« Reply #7 on: December 21, 2005, 08:05:13 pm »

ok lets see if it wil work.......
Logged
dingobloo
Idle Extrordinare.
Global Moderator
Full Member
*****
Posts: 125


View Profile WWW
« Reply #8 on: December 26, 2005, 11:05:05 am »

ok lets see if it wil work.......

Let's see if what will work? Crystalspace?

Crystalspace already works...
Logged
KEM_WALL
Newbie
*
Posts: 1


View Profile Email
« Reply #9 on: April 06, 2006, 05:43:09 am »

first words, i want to say that CS is a big, and very good engine Smiley. thank for your hard working

but i also think that only OGL renderer is not enough. we want (and need) a directX renderer too...
i know that CS team have alot of work to do with the engine, but if you implement a DX renderer plugin into your engine. it'll become the best out there.
i do not say that OGL is worse than DX. but DX is very familiar to people now, and DX have a good support from M$. directX will also have a good fame when DX 10 release (not too far).

that, why dont you make a DX plugin for CS ?
have OGL is good, but have support to both OGL and DX is much better Smiley

but if you really dont want to implement support for DX. please let me know why Smiley
Logged
jorrit
Administrator
Hero Member
*****
Posts: 1706


View Profile
« Reply #10 on: April 06, 2006, 07:12:00 am »

first words, i want to say that CS is a big, and very good engine Smiley. thank for your hard working

but i also think that only OGL renderer is not enough. we want (and need) a directX renderer too...

Why? Familiarity with DX is not relevant since you can't use DX directly when using CS anyway (or OpenGL). i.e. the engine hides what 3D system that it is using. So for the user of Crystal Space it doesn't matter what is being used.

Quote
that, why dont you make a DX plugin for CS ?
have OGL is good, but have support to both OGL and DX is much better Smiley

but if you really dont want to implement support for DX. please let me know why Smiley


Well several reasons:
First it is completely unneeded. OpenGL is just as good (in most cases) as DX.
Secondly it is a HUGE job. We have worked for years on our OpenGL Renderer. Making a Direct3D renderer is really a massive undertaking.
Thirdly I work on Linux. DX doesn't work very well on Linux smiley

Greetings,
Logged
genjix
Jr. Member
**
Posts: 53


View Profile
« Reply #11 on: October 07, 2007, 04:44:48 pm »

http://www.vcnet.com/bms/features/3d.html#carmack

God spoke.
Logged
LPCA
Newbie
*
Posts: 2



View Profile WWW
« Reply #12 on: January 29, 2009, 03:21:15 am »

Graphics related:
- Direct3D (at least for DirectX 8.1, DirectX 9.0 i know its a bit more complex)

Sound related:
in documentation/features/etc i see mentions to DirectSound3D, EAX and A3D. im assuming DirectSound3D is the only API library and it uses the EAX and A3D plugins for add features. i dont see any references to other cross-platform API libraries. so i suggest:
- OpenAL
- fmod
- any other worth using library

Misc:
- any application using this engine would be best if it could select not just Graphics API library based on OS but also Sound API library (assuming you guys add those above or others). example, on windows, i could pick eitheir OpenGL+OpenAL or Direct3D+DirectSound3D, or Direct3D+OpenAL. or some other combo.
- add some more detail on features, FAQ, etc

hey there
long time no see! Wink

been investigating lately... interesting facts. well its late to talk about this and im guessing you guys already reached the same or similar conclusions but here my findings and conclusions either way Cheesy


Audio domain

A3D 3D Sound Effects... are long dead
its probably worth nothing that by now that adding A3D is pointless, as A3D as been mostly out of race after Creative purchased Aureal (the owner) and basicaly incorporated its technology in EAX. this is like comparing Glide to OpenGL or Direct3D. popular in its time, but by far no longer used actively in new applications due to vendor-lock ins and defunct company/products. A3D.DLL anyone ? cheesy

EAX 3D Sound Effects... are phasing out
also EAX (who gained room over A3D and became common in the past when a lot of people still bought standalone sound cards from Creative), is in fact by now, in downfall, as increasingly its more common for people to use the motherboard builtin sound functionality, often with RealTek chips. even more, it has been deprecated by Creative itself in favor of OpenAL 1.1. while back in early 2000's it was worth having EAX due to common usage of Creative sound cards with EAX tech, right now its completely the opposite. the last and final version was EAX 5.0, introduced in the Creative Sound Blaster X-Fi cards, dated 2006.

Miles Sound System (MSS) by Rad Game Tools
MSS works well, has support for many OS and consoles (Mac OS 8/9, OSX, Linux, Windows, Xbox/Xbox360, Wii, PS2/PS3), but its greatest flaw is that its simply proprietary/commercial. if eventually some time in the future, someone developed a module/plugin with bindings for its SDK/libraries (cant include the libraries themselves because of the license), that would be a good idea to further help port CS to other platforms (ie PS uses MIPS processor, ELF-alike executables for normal applications/games (using PS2 API ofc) and also supports Linux with modified kernels), but definitely should not be made a priority. would be interesting at very least

Other Libraries and CODECs
theres also Audiere, libavcodec, FMOD, among other libraries to play a multitude of audio/video formats and their codecs... im not sure how the sound layer is implemented on CS, but would be interesting to provide support for namely positional audio in music files deployed in .ogg, .ac3, .flac, .aac, .etc formats. of these the best option would be libavcodec as it decodes and encodes an impressive ammount of formats. its being used in many programs, filters, libraries... the wikipedia article speaks for itself. Ogg/Vorbis among other libraries are built-into libavcodec and it probably would be an easy and fast way to have plenty of support, at the cost of loosing some flexibility and control over implementing the various libraries (which would be a lot of work!)

OSS and ALSA Drivers... yay!
regarding drivers, Creative has been developing and releasing open source OSS and ALSA drivers for Linux in GPL license, which is great news not just in support (if effectively CS uses OpenAL 1.1 EFX extensions, and the drivers work, then these sound cards as well as (probably) the older ones will work with Special Effects similar or better than EAX) but also a new move in a hardware vendor towards open source drivers that might compel others to follow...

CoreAudio implementation of OpenAL... for Mac OS X!
nothing to say here, im not familiar with it. but sounds good idea Wink

DirectSound... is phasing out
also, in the audio domain, DirectSound/DirectSound3D was phased out in favor of the XACT with DirectX 10 in Windows Vista, making DirectSound work as a pass-through on XACT and loosing all hardware acceleration capabilities, while  also i think, loosing some compatibility (effectively running in compatibility/emulatation mode).

Old Windows WDM and New Vista/Longhorn Driver Model
also, with Vista, the audio stack was revamped and turned into what we know today as Windows Audio Session API (WASAPI) and other gibberish talk, which complicates matters further for DirectSound in future Windows versions. since theres a new model, the old Windows 98SE/ME/2000/XP/2003 WDM model will be phased out. i wonder what happens to standard windows sound Win32 API calls? will they be replaced with .NET and XACT/WASAPI and WMP?

from wikipedia, regarding hardware acceleration for DirectSound3D + EAX on Windows Vista:
Quote
As of 2007, a solution to re-enable hardware acceleration of DirectSound3D and Audio Effects, such as EAX, called Creative ALchemy was launched[3]. Creative ALchemy intercepts calls to DirectSound3D and translates them into OpenAL calls to be processed by supported hardware such as Sound Blaster X-Fi and Sound Blaster Audigy.

Creative vs DirectSound vs XACT vs Vista
finally from what i read somewhere, Creative was dropping DirectSound and XACT support all together in new cards/chips and drivers in favor of OpenAL, which i think will still be made in WDM in Windows XP/2003, the new WDDM/whatever the new name in Vista/Longhorn is, and OSS and ALSA in Linux.



Graphics domain

Direct3D
basically unless you are pursuing DirectX 10/11 model to make use of Direct3D, XACT (instead of DirectSound) and XInput (instead of DirectInput) for usage in Vista/LongHorn and XBox 360 or returning to DirectX 8.1/9 for Direct3D (kind of pointless given alternatives), i dont see why consider again DirectX/Direct3D



my recomendations Smiley
A3D - completely remove it if it ever existed in CS (which i cant find proof)
EAX - if exists, abstract into a plugin/module or remove it if your OpenAL implementation already does the job (OpenAL 1.1 EFX extensions). if not, dont bother!
MSS - consider adding some time in the future, say, in some 2 or 3 years, if it still exists by then!
libavcodec - consider adding this one too or instead of MSS. it supposedly works on multiple platforms as well
OSS, ALSA and CoreAudio - iif it aint broken it doesnt need fixing :p
Windows Drivers mess - i would say dont rely (remove) on Win32 APIs for software audio rendering or investigate further to support (add) both the old and new model to support older and newer OS
X11 and SDL - keep. what about adding Xgl for 2D hardware acceleration of X11 via OpenGL? probably unneeded if OpenGL alone already does well 2D
OpenGL and OpenAL - keep ofc :p consider binding to Mesa for OpenGL as it supports v2.1. does not support 2D graphics though!
DirectShow/Direct3D 7.0/8.1/9.0 and Direct3D 10/11 - unless your planning on adding the old/adding the newer, ignore it. if adding the newer, consider adding the sound and input counterparts
DirectSound/DirectSound3D and XACT - unless your planning on adding XACT as well, and if OpenAL already performs well enough and does the same job or better, just remove it
DirectInput and XInput - again unless your planning on adding the other components above or add both the older and newer, forget it Wink
DirectPlay - comedy option cheesy


a final though...
i dont know how modularized CS is, but in my opinion it would be best to develop it into an abstraction engine that controls Graphics, Audio, Physics, Network, etc using a common framework that sends its instructions to the chosen modules/plugins, residing outside of the parent source code.

imagine GNU/Hurd kernel. instead of having everything in the same tree, theres a multitude of modules that the microkernel loads on demand

something like this:
CS
.....Graphics (SDL/SVGALib applies?)
..........OpenGL (hardware) (Mesa3D)
..........OpenGL (software) (Mesa3D)
..........Xgl hardware) (X11 + OpenGL)
..........X11 (software)
.....Audio + effects/positioning (SDL)
..........OpenAL/CoreAudio (hardware)
..........OpenAL/CoreAudio (software)
..........ALSA (software)
..........OSS (software)
.....Input, Network - SDL

ah well i think i busted my brain for today! eh

have fun reading and commenting :p
Logged

-LP
LPCA
Newbie
*
Posts: 2



View Profile WWW
« Reply #13 on: January 29, 2009, 03:32:59 am »

btw i cant really comment from a inside/knowing developer point of view as i dont have experience in this... last time i picked 3D rendering was with DirectX 8.1 in Visual Basic 6

and i really cant say how much work would my suggestions represent, all if anyl... im guessing a lot

but in my head it all makes sense :p
Logged

-LP
Pages: [1] Print 
« previous next »
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.2 | SMF © 2006-2007, Simple Machines LLC Valid XHTML 1.0! Valid CSS!
Page created in 8.274 seconds with 16 queries.