Fireworks3D (OpenGL) - Source

Screensavers

Source (link to git-repo or to original if based on someone elses unmodified work): Add the source-code for this project on git.opendesktop.org

0
Score 51%
Description:

Update 3:
This is my last update. I've fixed some things and i enjoy very much watching the fireworks exploding on the screen.
Now we need the sound!
Have fun and enjoy
KoRaL - 2002/8/3

-----

Some small code changes over the great David Sansome's screen saver.

Screenshots are not attractive and a bit 'static'... you have to see it in motion!

Try it!

KoRaL

Last changelog:

16 years ago

bi-colored fireworks
'sparkling' fireworks
quadratic curve for fading out debris
true spherical random function
better coloring

Flameeyes

14 years ago

A great screensaver!! I made an ebuild for gentoo for this.
Can be downloaded from my page http://flameeyes.web.ctonet.it/ .
If there aren't problems with this, I'll try to submit it to Gentoo tomorrow or sunday :)

Report

elvis

16 years ago

Hi -- I'm having some trouble with the configure/make/make install. The configure seems to go OK, but the make errors out (see very bottom of below console output. Any thoughts? Thanks.
E


[root@homebrew kfiresaver3D-0.3]# ./configure
checking build system type... i586-pc-linux-gnu
checking host system type... i586-pc-linux-gnu
checking target system type... i586-pc-linux-gnu
checking for a BSD compatible install... /usr/bin/install -c
checking for -p flag to install... yes
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets ${MAKE}... yes
checking for style of include used by make... GNU
checking for gcc... gcc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for executable suffix...
checking for object suffix... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking whether g++ supports -Wundef... yes
checking whether g++ supports -Wbad-function-cast... yes
checking whether g++ supports -Wno-long-long... yes
checking whether g++ supports -Wnon-virtual-dtor... yes
checking whether g++ supports -fno-exceptions... yes
checking whether g++ supports -fno-check-new... yes
checking whether g++ supports -fexceptions... yes
checking how to run the C++ preprocessor... g++ -E
checking whether g++ supports -frepo... yes
checking for ld used by GCC... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for /usr/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/bin/nm -B
checking for a sed that does not truncate output...
checking whether ln -s works... yes
checking how to recognise dependant libraries... pass_all
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking the maximum length of command line arguments... 32768
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for objdir... .libs
checking for ranlib... ranlib
checking for strip... strip
checking if gcc static flag works... no
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC
checking if gcc PIC flag -fPIC works... yes
checking if gcc supports -c -o file.o... yes
checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking for shl_load... no
checking for shl_load in -ldld... no
checking for dlopen... no
checking for dlopen in -ldl... yes
checking whether a program can dlopen itself... yes
checking whether a statically linked program can dlopen itself... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
configure: creating libtool
appending configuration tag "CXX" to libtool
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC
checking if g++ PIC flag -fPIC works... yes
checking if g++ supports -c -o file.o... yes
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... yes
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking for shl_load... (cached) no
checking for shl_load in -ldld... (cached) no
checking for dlopen... (cached) no
checking for dlopen in -ldl... (cached) yes
checking whether a program can dlopen itself... (cached) yes
checking whether a statically linked program can dlopen itself... (cached) yes
appending configuration tag "GCJ" to libtool
checking if gcj supports -fno-rtti -fno-exceptions... (cached) no
checking for gcj option to produce PIC... -fPIC
checking if gcj PIC flag -fPIC works... no
checking if gcj supports -c -o file.o... no
checking whether the gcj linker (/usr/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... yes
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking for shl_load... (cached) no
checking for shl_load in -ldld... (cached) no
checking for dlopen... (cached) no
checking for dlopen in -ldl... (cached) yes
checking whether a program can dlopen itself... (cached) yes
checking whether a statically linked program can dlopen itself... (cached) yes
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking for main in -lutil... yes
checking for main in -lcompat... no
checking for crypt in -lcrypt... yes
checking for socklen_t... socklen_t
checking for dnet_ntoa in -ldnet... no
checking for dnet_ntoa in -ldnet_stub... no
checking for inet_ntoa... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking crt_externs.h usability... no
checking crt_externs.h presence... no
checking for crt_externs.h... no
checking for _NSGetEnviron... no
checking for sys/types.h... (cached) yes
checking for stdint.h... (cached) yes
checking for poll in -lpoll... no
checking CoreAudio/CoreAudio.h usability... no
checking CoreAudio/CoreAudio.h presence... no
checking for CoreAudio/CoreAudio.h... no
checking for res_init... no
checking for killpg in -lucb... no
checking for int... yes
checking size of int... 4
checking for long... yes
checking size of long... 4
checking for char *... yes
checking size of char *... 4
checking for char... yes
checking size of char... 1
checking for dlopen in -ldl... (cached) yes
checking for shl_unload in -ldld... no
checking for X... libraries /usr/X11R6/lib, headers /usr/X11R6/include
checking for IceConnectionNumber in -lICE... yes
checking for libXext... yes
checking for Xinerama... no
checking for pthread_create in -lpthread... yes
checking for extra includes... no
checking for extra libs... no
checking for libz... -lz
checking for libpng... -lpng -lz -lm
checking for libjpeg6b... no
checking for libjpeg... -ljpeg
checking for Qt... libraries /usr/lib/qt3/lib, headers /usr/lib/qt3/include using -mt
checking if Qt compiles without flags... no
checking for moc... /usr/lib/qt3/bin/moc
checking for uic... /usr/lib/qt3/bin/uic
checking whether uic supports -L ... yes
checking whether uic supports -nounload ... yes
checking if Qt needs -ljpeg... no
checking for rpath... yes
checking for KDE... libraries /usr/lib, headers /usr/include
checking for KDE paths... defaults
checking for dcopidl... /usr/bin/dcopidl
checking for dcopidl2cpp... /usr/bin/dcopidl2cpp
checking for mcopidl... /usr/bin/mcopidl
checking for artsc-config... /usr/bin/artsc-config
checking for kde-config... /usr/bin/kde-config
checking for meinproc... /usr/bin/meinproc
checking if admin should be compiled... no
checking if kfiresaver should be compiled... yes
checking if po should be compiled... yes
configure: creating ./config.status
fast creating ./Makefile
fast creating admin/Makefile
fast creating kfiresaver/Makefile
fast creating po/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing default-1 commands
[root@homebrew kfiresaver3D-0.3]#
[root@homebrew kfiresaver3D-0.3]#
[root@homebrew kfiresaver3D-0.3]#
[root@homebrew kfiresaver3D-0.3]#
[root@homebrew kfiresaver3D-0.3]#
[root@homebrew kfiresaver3D-0.3]#
[root@homebrew kfiresaver3D-0.3]#
[root@homebrew kfiresaver3D-0.3]# make
cd . \
&& CONFIG_FILES= CONFIG_HEADERS=config.h \
/bin/sh ./config.status
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing default-1 commands
make all-recursive
make[1]: Entering directory `/data0/Common/Downloads/KFiresaver3d/kfiresaver3D-0.3'
Making all in kfiresaver
make[2]: Entering directory `/data0/Common/Downloads/KFiresaver3d/kfiresaver3D-0.3/kfiresaver'
source='kfiresaver.cpp' object='kfiresaver.o' libtool=no \
depfile='.deps/kfiresaver.Po' tmpdepfile='.deps/kfiresaver.TPo' \
depmode=gcc3 /bin/sh ../admin/depcomp \
g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/lib/qt3/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -Wnon-virtual-dtor -Wno-long-long -Wbad-function-cast -Wundef -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -O2 -fno-exceptions -fno-check-new -c -o kfiresaver.o `test -f kfiresaver.cpp || echo './'`kfiresaver.cpp
In file included from kfiresaver.cpp:36:
/usr/lib/qt3/include/qgl.h:73:21: GL/glu.h: No such file or directory
kfiresaver.cpp: In constructor `KFireSaver::KFireSaver(QWidget*, const char*)':
kfiresaver.cpp:71: warning: passing `float' for argument 1 of `int QObject::startTimer(int)'
make[2]: *** [kfiresaver.o] Error 1
make[2]: Leaving directory `/data0/Common/Downloads/KFiresaver3d/kfiresaver3D-0.3/kfiresaver'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/data0/Common/Downloads/KFiresaver3d/kfiresaver3D-0.3'
make: *** [all] Error 2
[root@homebrew kfiresaver3D-0.3]#
[root@homebrew kfiresaver3D-0.3]#
[root@homebrew kfiresaver3D-0.3]#
[root@homebrew kfiresaver3D-0.3]#

Report

inesmore

14 years ago

Hello I had many problems with my instalation of kdevelop 3.0b1 when i execute the configure file this messages appear:
---------------------------------------------
checking build system type... i586-pc-linux-gnu
checking host system type... i586-pc-linux-gnu
checking target system type... i586-pc-linux-gnu
[root@localhost kdevelop-031111]# ./configure --prefix=/usr
checking build system type... i586-pc-linux-gnu
checking host system type... i586-pc-linux-gnu
checking target system type... i586-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking for -p flag to install... yes
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for style of include used by make... GNU
checking for gcc... gcc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking whether g++ supports -Wmissing-format-attribute... yes
checking whether g++ supports -Wundef... yes
checking whether g++ supports -Wno-long-long... yes
checking whether g++ supports -Wnon-virtual-dtor... yes
checking whether g++ supports -fno-exceptions... yes
checking whether g++ supports -fno-check-new... yes
checking whether g++ supports -fno-common... yes
checking whether g++ supports -fexceptions... yes
checking how to run the C++ preprocessor... g++ -E
checking whether g++ supports -O0... yes
checking whether g++ supports -Wl,--no-undefined... yes
checking whether g++ supports -Wl,--allow-shlib-undefined... yes
not using lib directory suffix
checking for a sed that does not truncate output... /bin/sed
checking for egrep... grep -E
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for /usr/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/bin/nm -B
checking whether ln -s works... yes
checking how to recognise dependent libraries... pass_all
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking for g77... g77
checking whether we are using the GNU Fortran 77 compiler... yes
checking whether g77 accepts -g... yes
checking the maximum length of command line arguments... 32768
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for objdir... .libs
checking for ar... ar
checking for ranlib... ranlib
checking for strip... strip
checking if gcc static flag works... yes
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC
checking if gcc PIC flag -fPIC works... yes
checking if gcc supports -c -o file.o... yes
checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking for shl_load... no
checking for shl_load in -ldld... no
checking for dlopen... no
checking for dlopen in -ldl... yes
checking whether a program can dlopen itself... yes
checking whether a statically linked program can dlopen itself... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
configure: creating libtool
appending configuration tag "CXX" to libtool
checking for ld used by g++... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC
checking if g++ PIC flag -fPIC works... yes
checking if g++ supports -c -o file.o... yes
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking for shl_load... (cached) no
checking for shl_load in -ldld... (cached) no
checking for dlopen... (cached) no
checking for dlopen in -ldl... (cached) yes
checking whether a program can dlopen itself... (cached) yes
checking whether a statically linked program can dlopen itself... (cached) yes
appending configuration tag "F77" to libtool
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking for g77 option to produce PIC... -fPIC
checking if g77 PIC flag -fPIC works... yes
checking if g77 supports -c -o file.o... yes
checking whether the g77 linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking if C++ programs can be compiled... yes
checking for strlcat... no
checking if strlcat needs custom prototype... yes - in libkdefakes
checking for strlcpy... no
checking if strlcpy needs custom prototype... yes - in libkdefakes
checking for main in -lutil... yes
checking for main in -lcompat... no
checking for crypt in -lcrypt... yes
checking for socklen_t... socklen_t
checking for dnet_ntoa in -ldnet... no
checking for dnet_ntoa in -ldnet_stub... no
checking for inet_ntoa... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for sys/types.h... (cached) yes
checking for stdint.h... (cached) yes
checking for poll in -lpoll... no
checking CoreAudio/CoreAudio.h usability... no
checking CoreAudio/CoreAudio.h presence... no
checking for CoreAudio/CoreAudio.h... no
checking if res_init needs -lresolv... yes
checking if res_init is available... yes
checking for killpg in -lucb... no
checking for int... yes
checking size of int... 4
checking for long... yes
checking size of long... 4
checking for char *... yes
checking size of char *... 4
checking for dlopen in -ldl... (cached) yes
checking for shl_unload in -ldld... no
checking for size_t... yes
checking size of size_t... 4
checking for unsigned long... yes
checking size of unsigned long... 4
checking sizeof size_t == sizeof unsigned long... yes
checking crt_externs.h usability... no
checking crt_externs.h presence... no
checking for crt_externs.h... no
checking for _NSGetEnviron... no
checking for vsnprintf... yes
checking for snprintf... yes
checking for X... libraries /usr/X11R6/lib, headers /usr/X11R6/include
checking for IceConnectionNumber in -lICE... yes
checking for libXext... yes
checking for pthread_create in -lpthread... yes
checking for extra includes... no
checking for extra libs... no
checking for libz... -lz
checking for libpng... -lpng -lz -lm
checking for libjpeg6b... no
checking for libjpeg... -ljpeg
checking for perl... /usr/bin/perl
checking for Qt... libraries /usr/lib/qt-3.1/lib, headers /usr/lib/qt-3.1/include using -mt
checking for moc... /usr/lib/qt-3.1/bin/moc
checking for uic... /usr/lib/qt-3.1/bin/uic
checking whether uic supports -L ... yes
checking whether uic supports -nounload ... yes
checking if Qt needs -ljpeg... no
checking for rpath... yes
checking for KDE... libraries /usr/lib, headers /usr/include/kde
checking if UIC has KDE plugins available... yes
checking for KDE paths... defaults
checking for dcopidl... /usr/bin/dcopidl
checking for dcopidl2cpp... /usr/bin/dcopidl2cpp
checking for mcopidl... /usr/bin/mcopidl
checking for artsc-config... /usr/bin/artsc-config
checking for kde-config... /usr/bin/kde-config
checking for meinproc... /usr/bin/meinproc
checking for xmllint... /usr/bin/xmllint
checking for flex... flex
checking for yywrap in -lfl... yes
checking lex output file root... lex.yy
checking whether yytext is a pointer... yes
checking for docbase... no
checking for Python directory... /usr/local
checking if scripting enabled... no
checking for Qt >= 3.0.5... yes
checking whether to build the compat lib... no
checking for Berkeley DB >= 3... yes -

Report

cbiffle

16 years ago

Hm...you may have issues with your configure script. Despite a properly-set KDEDIR variable and a KDE install in /usr/local/bin, your screensaver wound up in /usr/local/kde/bin after the install.
Did I break it on my end? FreeBSD 5.0-DP2, KDE 3.0.4.

Report

cbiffle

16 years ago

Why's the install process create /usr/lib/menu and drop a file in it? Seems strange. Perhaps change the make file to only drop the file in if the dir already exists; if it doesn't exist, chances are good the OS doesn't use it. :-)

Report

thorgod

16 years ago

I keep getting flashes that don't look intended while running this screen saver. I'll look again, but is anyone else seeing similar?

Report

aDc

16 years ago

Oh, BTW nice screen saver!

Report

straver

16 years ago

When I run it says it can't load the textures. Which lib do need for this to work?

Report

davidsansome

16 years ago

It sounds like you havn't done the "make install" stage, and you are running the kfiresaver.kss file on it's own.
The screensaver looks for it's textures in $KDEDIR/share/apps/kfiresaver, where $KDEDIR is /opt/kde3 or /usr depending on your distribution. Have a look in these folders for the three files particle.bmp, tux.png and kde.png. If they do exist, it sounds like a problem with the screensaver. If not, typing "make install" should install them, failing that, copy them over by hand as root.

Report

Niek

16 years ago

This is really the best fireworks screensaver I've ever seen! Great work! But perhaps you can make the flickering of the screen less, this is not very good for my eyes ;)
Keep up the great work,

Niek.

Report

vtowel

16 years ago

Your fireworks animate so smoothly on my laptop and look great! I love the occasional surprise explosion shapes, too.

It would be nice to be able to configure it so that there were no bright flashes. Or maybe you could make the flashes more localized around the explosions and not fill the whole screen?

Otherwise, it's my favourite screensaver!

Report

aDc

16 years ago

here is a patch to disable the flashes:
48a49,50
> #define EXPLODE_FLASH 0
>
200,202c202,206
if(EXPLODE_FLASH) {
> glClearColor( 0.5, 0.5, 0.5, 0.0 );
> glClear( GL_COLOR_BUFFER_BIT );
> glClearColor( 0.0, 0.0, 0.0, 0.0 );
> }
232,234c236,240
if(EXPLODE_FLASH) {
> glClearColor( 1.0, 1.0, 1.0, 0.0 );
> glClear( GL_COLOR_BUFFER_BIT );
> glClearColor( 0.0, 0.0, 0.0, 1.0 );
> }

save the stuff above to a file called patch_info and apply it to the kfiresaver.cpp file under the kfiresaver directory:

patch kfiresaver.cpp patch_info

Report

gravis

16 years ago

patching file kfiresaver.cpp
patch: **** `>' expected at line 3 of patch

meuh :(

Report

uga

16 years ago

It's much more realistic with them!

Report

davidsansome

16 years ago

I love the new fireworks - they're fantastic, well done :-) Not too sure about the flashes though...
I'll try to incorporate your changes into my next version.

Report

16 years ago

bi-colored fireworks
'sparkling' fireworks
quadratic curve for fading out debris
true spherical random function
better coloring

product-maker AnalisaLogika Jun 15 2017

product-maker 93 94

File (click to download) Version Description Packagetype Architecture Downloads Date Filesize DL OCS-Install
Pling
Details
license
version
updated Aug 03 2002
added Aug 02 2002
downloads today
0
page views today 3