[quake3] Quake 3 Raytracing Patch

Daniel Lord daniel at brightfire.com
Thu Mar 6 18:42:07 EST 2008


Okay this is going to take some fiddling with compiler options.I'll work on
it later and post results.

Makefile.osx:48: warning: overriding commands for target `librapido.a'
Makefile.osx:17: warning: ignoring old commands for target `librapido.a'
Makefile.osx:62: warning: overriding commands for target `clean'
Makefile.osx:31: warning: ignoring old commands for target `clean'
Makefile.osx:79: warning: overriding commands for target `librapido.a'
Makefile.osx:48: warning: ignoring old commands for target `librapido.a'
Makefile.osx:93: warning: overriding commands for target `clean'
Makefile.osx:62: warning: ignoring old commands for target `clean'
Makefile.osx:110: warning: overriding commands for target `librapido.a'
Makefile.osx:79: warning: ignoring old commands for target `librapido.a'
Makefile.osx:124: warning: overriding commands for target `clean'
Makefile.osx:93: warning: ignoring old commands for target `clean'
g++ -DNDEBUG -I. -O3 -Wall -c src/rapido.cpp -o src/rapido.o
src/rapido.cpp:312: error: redefinition of 'class Rapido'
src/rapido.cpp:7: error: previous definition of 'class Rapido'
src/rapido.cpp:558: error: redefinition of 'static IRapido*
IRapido::Create()'
src/rapido.cpp:252: error: 'static IRapido* IRapido::Create()' previously
defined here
src/rapido.cpp:567: error: redefinition of 'static IStaticScene*
IStaticScene::CreateFromVertexList(float3*, int, StaticSceneType)'
src/rapido.cpp:261: error: 'static IStaticScene*
IStaticScene::CreateFromVertexList(float3*, int, StaticSceneType)'
previously defined here
src/rapido.cpp:576: error: redefinition of 'static IStaticScene*
IStaticScene::CreateFromFile(const char*)'
src/rapido.cpp:270: error: 'static IStaticScene*
IStaticScene::CreateFromFile(const char*)' previously defined here
src/rapido.cpp:604: error: redefinition of 'static IDynamicScene*
IDynamicScene::Create(DynamicSceneType)'
src/rapido.cpp:298: error: 'static IDynamicScene*
IDynamicScene::Create(DynamicSceneType)' previously defined here
src/rapido.cpp:618: error: redefinition of 'class Rapido'
src/rapido.cpp:7: error: previous definition of 'class Rapido'
src/rapido.cpp:864: error: redefinition of 'static IRapido*
IRapido::Create()'
src/rapido.cpp:252: error: 'static IRapido* IRapido::Create()' previously
defined here
src/rapido.cpp:873: error: redefinition of 'static IStaticScene*
IStaticScene::CreateFromVertexList(float3*, int, StaticSceneType)'
src/rapido.cpp:261: error: 'static IStaticScene*
IStaticScene::CreateFromVertexList(float3*, int, StaticSceneType)'
previously defined here
src/rapido.cpp:882: error: redefinition of 'static IStaticScene*
IStaticScene::CreateFromFile(const char*)'
src/rapido.cpp:270: error: 'static IStaticScene*
IStaticScene::CreateFromFile(const char*)' previously defined here
src/rapido.cpp:910: error: redefinition of 'static IDynamicScene*
IDynamicScene::Create(DynamicSceneType)'
src/rapido.cpp:298: error: 'static IDynamicScene*
IDynamicScene::Create(DynamicSceneType)' previously defined here
src/rapido.cpp:924: error: redefinition of 'class Rapido'
src/rapido.cpp:7: error: previous definition of 'class Rapido'
src/rapido.cpp:1170: error: redefinition of 'static IRapido*
IRapido::Create()'
src/rapido.cpp:252: error: 'static IRapido* IRapido::Create()' previously
defined here
src/rapido.cpp:1179: error: redefinition of 'static IStaticScene*
IStaticScene::CreateFromVertexList(float3*, int, StaticSceneType)'
src/rapido.cpp:261: error: 'static IStaticScene*
IStaticScene::CreateFromVertexList(float3*, int, StaticSceneType)'
previously defined here
src/rapido.cpp:1188: error: redefinition of 'static IStaticScene*
IStaticScene::CreateFromFile(const char*)'
src/rapido.cpp:270: error: 'static IStaticScene*
IStaticScene::CreateFromFile(const char*)' previously defined here
src/rapido.cpp:1216: error: redefinition of 'static IDynamicScene*
IDynamicScene::Create(DynamicSceneType)'
src/rapido.cpp:298: error: 'static IDynamicScene*
IDynamicScene::Create(DynamicSceneType)' previously defined here
make: *** [src/rapido.o] Error 1


On 3/6/08, Daniel Lord <daniel at brightfire.com> wrote:
>
> Tony,
>
> Thanks for the tip. I was just going to cut out that line but I like you
> idea better.
> Got to love UNIX tools.
>
> Patch seems to have succeeded now to compile. <fingers crossed>
>
> On 3/6/08, Daniel Lord <daniel at brightfire.com> wrote:
> >
> > It patched quite a few of the files. The last successful patch was of:
> > code/rapido/matrix.h
> >
> >
> > it chokes on code/rapido/src/packet.h and the line is a blank one ("+").
> > It is possible there is a non-printable ASCII character in there of
> > something.
> > I'll keep investigating but I am not a patch expert by any means.
> >
> >
> > Below is the section it chokes on  and I have marked the line stating
> > CHOKES HERE.
> >
> >
> > +#ifdef RECORDRAYSTATS
> > + struct
> > + {
> > + int visitedInnerNodes, visitedLeaves;
> > + int intersectedTriangles;
> > + } staticStats, dynamicStats;
> > +#endif
> > +
> > + inline packet(ray *rays) : triangle4(NoHit4), distance4(Infinity4)
> > + {
> > + for(int i = 0; i < 4; ++i) this->rays[i] = rays + i;
> > +   <<<<<========== CHOKES HERE line number 10565
> > +#ifdef SHUFFLERAYDATA
> > + __m128 xy10 = _mm_setzero_ps(), zw10 = _mm_setzero_ps();
> > + __m128 xy32 = _mm_setzero_ps(), zw32 = _mm_setzero_ps();
> > + xy10 = _mm_loadl_pi(xy10, (__m64 *)&rays[0].origin.x);
> > + zw10 = _mm_loadl_pi(zw10, (__m64 *)&rays[0].origin.z);
> >
> >
> > On 3/6/08, Stephan Reiter <stephan.reiter at gmail.com> wrote:
> > >
> > >  Hmm, that's odd. I added the new files with "svn add" and then
> > > execuated a "svn diff" to create the patch.
> > >
> > > Should have worked, I guess ... Any ideas about what might be wrong?
> > > Stephan
> > >
> > > Am 06.03.2008 um 22:44 schrieb Daniel Lord:
> > >
> > > Had a few minutes on my hands so I tried it:
> > >
> > > Error: "patch: *** malformed patch at line 10565:"
> > >
> > >
> > > Didn't get too far ;-)
> > >
> > > Daniel
> > >
> > > On 3/6/08, Stephan Reiter <stephan.reiter at gmail.com> wrote:
> > > >
> > > > I've fetched the latest revision of ioquake3 (1270) and embedded the
> > > > raytracer. You can download a patch here:
> > > > http://myfreefilehosting.com/f/129de03d75_0.08MB
> > > >
> > > > Please note the following:
> > > > 1. Before compiling the engine go to code/renderer/rapido and
> > > > compile the
> > > > raytracing library first. Maybe someone can modify the
> > > > ioquake3-makefile to
> > > > take care of this automatically.
> > > > 2. This has been tested only on a Ubuntu 64-bit system. There will
> > > > most
> > > > certainly be bugs on other platforms (I didn't come around to
> > > > testing this
> > > > on my Mac as I wanted it to get out asap), if you manage to compile
> > > > it, that
> > > > is ...
> > > > 3. The raytracing library 'Rapido' is still incomplete. I've also
> > > > removed
> > > > some features that aren't required for this project.
> > > > 4. You'll notice that several other things are still missing, e.g.
> > > > lightmap
> > > > support or some entity shading related things ...
> > > >
> > > > I hope I didn't forget any files when building the patch. In case
> > > > you're
> > > > experiencing problems compiling the code, please send me a message.
> > > >
> > > > Some screenshot goodness:
> > > > http://picasaweb.google.de/stephan.reiter/IoQuake3Raytraced
> > > >
> > > > Looking forward to hearing from the brave that try this, :-)
> > > > Stephan
> > > >
> > > >
> > > > ---
> > > > To unsubscribe, send a blank email to quake3-unsubscribe at icculus.org
> > > > Mailing list archives: http://icculus.org/cgi-bin/ezmlm/ezmlm-cgi?50
> > > >
> > > >
> > > >
> > >
> > >
> > > --
> > > Some people building C++/Obj-C code on OS X with Xcode and who have a
> > > problem to solve think: "I know, I'll use the Boost Libraries". Now they
> > > have two problems--three if they are planning on using Boost for regular
> > > expressions.
> > >
> > >
> > >
> > >
> >
> >
> >
> > --
> > Some people building C++/Obj-C code on OS X with Xcode and who have a
> > problem to solve think: "I know, I'll use the Boost Libraries". Now they
> > have two problems--three if they are planning on using Boost for regular
> > expressions.
> >
>
>
>
> --
> Some people building C++/Obj-C code on OS X with Xcode and who have a
> problem to solve think: "I know, I'll use the Boost Libraries". Now they
> have two problems--three if they are planning on using Boost for regular
> expressions.
>



-- 
Some people building C++/Obj-C code on OS X with Xcode and who have a
problem to solve think: "I know, I'll use the Boost Libraries". Now they
have two problems--three if they are planning on using Boost for regular
expressions.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://icculus.org/pipermail/quake3/attachments/20080306/f3eaf0ff/attachment.htm>


More information about the quake3 mailing list