The goal of this project is to add Cell Shading capabilities to the Quake III

engine with Real-time performance.

In order to provide such feature we have decided to use Kuwahara filter.
Kuwahara filter is a noise-reduction filter that preserves edges.

It uses four subquadrants to calculate the mean and variance and chooses the
mean value for the region with the smallest variance.

To increase the hand-painted effect we have decided to apply a simple blur
filter to reduce hard-edges on textures and increase the flatness effect.

To produce the cell shading effect we use no graphics card shaders, so our
implementation could run with almost any gfx card. The edge effect is produced
by painting backface polygons with a thick wireframe without textures and
repaint all the scene, but this time, with textures.

We have also implemented a different algorithm (we call it White Texture),
which uses white textures. It looks like this and this, you can set the
console variable r_celshadalgo to 2, and load another map, or run using the
appropiate link that came with the release.

WWW: http://q3cellshading.sourceforge.net/

PR:		ports/101677
This commit is contained in:
Alejandro Pulver 2006-08-13 23:16:03 +00:00
parent e544af77b2
commit 22ff391bac
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=170500
6 changed files with 50 additions and 40 deletions

View file

@ -539,6 +539,7 @@
SUBDIR += pythonchess
SUBDIR += q15
SUBDIR += q3base
SUBDIR += q3cellshading
SUBDIR += linux-quake3
SUBDIR += quake2max
SUBDIR += quake3-excessive

View file

@ -1,29 +1,24 @@
# New ports collection makefile for: quake3
# Date created: 23 August 2005
# Whom: pypt
# New ports collection makefile for: q3cellshading
# Date created: 8 Aug 2006
# Whom: alepulver
#
# $FreeBSD$
#
PORTNAME= quake3
PORTVERSION= 1.32c
PORTNAME= q3cellshading
PORTVERSION= 1.0
CATEGORIES= games
MASTER_SITES= http://www.proarena.com/p/ftpx/x8524/quake_3_arena/ \
http://www.planetgargoyle.com/ \
http://www.teamdarkside.net/ \
http://0day.icculus.org/mirrors/quake3/ \
http://www.olpainless.net/files/ \
${MASTER_SITE_IDSOFTWARE:S|$|source/|}
DISTNAME= ${PORTNAME}-${REALVERSION}-source
MASTER_SITES= SF
DISTNAME= q3cel-${PORTVERSION}-src
MAINTAINER= shirshegsm@gmail.com
COMMENT= Quake III Arena -- first person shooter (native build)
MAINTAINER= alepulver@FreeBSD.org
COMMENT= Quake III engine with Cell Shading capabilities
USE_ZIP= yes
USE_DOS2UNIX= yes
USE_GMAKE= yes
USE_GCC= 3.2+
WRKSRC= ${WRKDIR}/${PORTNAME}-${REALVERSION}
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
BUILD_WRKSRC= ${WRKSRC}/code/unix
OPTIONS= CLIENT "Build client" on \
@ -36,7 +31,6 @@ MAKE_ENV= LIBDIR="${LIBDIR}"
PLIST_SUB= LIBDIR="${LIBDIR:S/${PREFIX}\///}"
LIBDIR= ${PREFIX}/lib/${PORTNAME}
REALVERSION= 1.32b
VM_ARCHS= i386 powerpc
.include <bsd.port.pre.mk>
@ -110,7 +104,8 @@ post-patch:
do-install:
.for bin in ${Q3BIN}
${INSTALL_PROGRAM} ${BUILD_WRKSRC}/release/${bin} ${PREFIX}/bin
${INSTALL_PROGRAM} ${BUILD_WRKSRC}/release/${bin} \
${PREFIX}/bin/${bin:C/(quake3|q3)/\1cel/}
.endfor
.if defined(WITH_GAMELIBS) || !defined(HAVE_VM_COMPILED)
.for dir in baseq3 missionpack

View file

@ -1,3 +1,3 @@
MD5 (quake3-1.32b-source.zip) = af8aaac46cc82035e1cba632b1a16e03
SHA256 (quake3-1.32b-source.zip) = 74d42070eea4c7ce47955d831327e70f480c493172b485bf7dd1a58838e92fab
SIZE (quake3-1.32b-source.zip) = 5724791
MD5 (q3cel-1.0-src.zip) = a6c66705d18906dfb4f34dbac320150f
SHA256 (q3cel-1.0-src.zip) = c575a8a126c5b4723cd7fb0b3fa338e539ecaf7757ac69b470e4ed53884c8da9
SIZE (q3cel-1.0-src.zip) = 5853369

View file

@ -1,5 +1,5 @@
--- code/unix/Makefile.orig Sun Jun 4 18:13:21 2006
+++ code/unix/Makefile Sun Jun 4 18:14:42 2006
--- code/unix/Makefile.orig Tue Aug 8 18:19:12 2006
+++ code/unix/Makefile Tue Aug 8 18:22:25 2006
@@ -34,7 +34,7 @@
# Build name
@ -20,6 +20,15 @@
CDIR=$(MOUNT_DIR)/client
SDIR=$(MOUNT_DIR)/server
RDIR=$(MOUNT_DIR)/renderer
@@ -65,7 +65,7 @@
SPLNDIR=$(MOUNT_DIR)/splines
# extract version info
-VERSION=$(shell ./extract_ver.pl)
+VERSION="Q3 1.32c"
RPM_RELEASE=1
# NOTE: used by dcp rcp targets, not referenced
@@ -76,7 +76,7 @@
#############################################################################

View file

@ -1,18 +1,23 @@
Quake III Arena, developed by the gaming wizards at id Software,
is the third installment of one of the most popular computer game
franchises of all time. Organic caverns, gothic cathedrals and
futuristic spacescapes play host to Quake III Arena's unrivaled
blend of action, strategy and jaw-dropping technology as Linux
gamers are invited to square off against 32 of history's greatest
warriors. Built around a revolutionary new graphics engine capable
of delivering mind blowing 3D special effects including curved
surfaces and volumetric fog, Quake III Arena is the final word in
deathmatching mayhem.
The goal of this project is to add Cell Shading capabilities to the Quake III
engine with Real-time performance.
This is a native build for FreeBSD. Sorry, no joystick support
is available at this time.
In order to provide such feature we have decided to use Kuwahara filter.
Kuwahara filter is a noise-reduction filter that preserves edges.
WWW: http://www.idsoftware.com/games/quake/quake3-arena/
It uses four subquadrants to calculate the mean and variance and chooses the
mean value for the region with the smallest variance.
- Linas
shirshegsm@gmail.com
To increase the hand-painted effect we have decided to apply a simple blur
filter to reduce hard-edges on textures and increase the flatness effect.
To produce the cell shading effect we use no graphics card shaders, so our
implementation could run with almost any gfx card. The edge effect is produced
by painting backface polygons with a thick wireframe without textures and
repaint all the scene, but this time, with textures.
We have also implemented a different algorithm (we call it White Texture),
which uses white textures. It looks like this and this, you can set the
console variable r_celshadalgo to 2, and load another map, or run using the
appropiate link that came with the release.
WWW: http://q3cellshading.sourceforge.net/

View file

@ -1,6 +1,6 @@
%%DEDICATED%%bin/q3ded
%%CLIENT%%bin/quake3
%%SMP%%bin/quake3-smp
%%DEDICATED%%bin/q3celded
%%CLIENT%%bin/quake3cel
%%SMP%%bin/quake3cel-smp
%%GAMELIBS%%%%LIBDIR%%/baseq3/cgame.so
%%GAMELIBS%%%%LIBDIR%%/baseq3/qagame.so
%%GAMELIBS%%%%LIBDIR%%/baseq3/ui.so