mboost-dp1

Flickr - Hachimaki

John Carmack omgår softwarepatent med fire linjer kode

- Via The Verge - , redigeret af Emil , indsendt af Fjolle

Med blot fire linjers ekstra kode og ændringer i yderligere to, er det lykkedes stifteren af ID Software, John Carmack, at omgå et softwarepatent, der kunne have stået i vejen for frigivelsen af kildekode til Doom 3.

Som ID har gjort tidligere med koden til både Doom og Doom 2, vil de også frigive den til for Doom 3, men her var advokater bekymret for, at et patent, der dækker en måde at laver skygger på, skulle blive en stopklods.

Teknikken blev udviklet uafhængigt af Carmack og Creative på samme tid, men det endte med, at sidstnævnte fik patentet på den.

Oplysningen om ændringen, som gjorde advokaterne glade igen, kom fra Carmack selv via Twitter.





Gå til bund
Gravatar #1 - Daniel-Dane
26. nov. 2011 19:42
USA - where prior art is as real as the American dream.
Gravatar #2 - j.larsen
26. nov. 2011 19:43
Jeg har ingen intentioner om at læse dette patent - men hvis det kan omgås ved blot at tilføje fire linjers kode, har vi endnu et eksempel på et patentsystem der er drevet for vidt...
Gravatar #3 - Robbss
26. nov. 2011 21:20
Det skulle ikke undre mig hvis der var patent på navnet af funktionen til at fremkalde skyggerne
Gravatar #4 - Seth-Enoch
26. nov. 2011 21:36
Ham skal Samsung fandme da lige tage at få fat på, så kan Apple bare pakke sammen!
Gravatar #5 - Talkar
26. nov. 2011 21:50
@2
Der er mange ting i programmering som bliver noget helt andet ved at ændre et par enkelte linjers kode, så det er svært at sige hvordan patentsystemet i USA fungere ud fra det.
Gravatar #6 - Vandborg
26. nov. 2011 22:16
Jeg kunne godt tænke mig at vide hvad det er for noget kode?
Gravatar #7 - webwarp
26. nov. 2011 22:44
http://nyhederne.tv2.dk/article.php/id-46094839:df...

Så vil folketinget også have at vi skal have en masse fjollede problemer med patenter..
Gravatar #8 - Talkar
26. nov. 2011 23:18
fx så kan du skrive Console.Write("bla"); Console.Write("bla"); og det vil få teksten "bla bla" til at stå på samme linie. Men hvis du skriver Console.WriteLine("bla") Console.WriteLine("bla") vil der stå bla på hver sin linie.

Alt efter hvad du skal lave kan det gør en helveds masse til forskel.
Gravatar #9 - Brugernavn
26. nov. 2011 23:35
Rolig folkens. Der laves masser af patenter med dårligt formulerede patentkrav, både i Danmark og i USA. Denne nyhed er lige så unik som en gråbrun kanin på Endelave.
Gravatar #10 - Louis
27. nov. 2011 05:45
Det virker som om, sat skribenten har været lidt usikker på om kildekoden faktisk til Doom 3 faktisk er udgivet endnu.

Men det er den: http://www.omgubuntu.co.uk/2011/11/doom-3-is-open-...

Go hack! ;)
Gravatar #11 - Remmerboy
27. nov. 2011 06:40
måske bruger han en while løkke frem for en for løkke.
while løkke plejer at fylde et par linier mere end for løkke
Gravatar #12 - spectual
27. nov. 2011 07:57
#8 #11 Et patent kan vel ikke omgåes ved at ændre små implementations deltaljer. Du skal vel bruge en hel anden algoritme før der reelt er tale om noget andet.
Gravatar #13 - Remmerboy
27. nov. 2011 08:22
#12
forskellen mellem for loop og while loop er ligesom forskellen mellem pocahontas og na'vi :)
Gravatar #14 - tentakkelmonster
27. nov. 2011 09:51
Jeg synes det meste interessante ved denne nyhed er, at Carmack åbenbart kommunikerer med sine advokater over twitter.
Gravatar #15 - Talkar
27. nov. 2011 10:47
#12
Det kommer vel fuldstændigt an på om det han har lavet overhovedet har med algoritmer at gøre. Tvivler ihvertfald på Dijkstras algoritme er brugt xD
Gravatar #16 - dprocs
27. nov. 2011 13:05
Det oprindlige patent fra Creative:

http://worldwide.espacenet.com/publicationDetails/biblio?CC=US&NR=6384822&KC=&FT=E&locale=en_EP skrev:
A method for real-time shadow rendering in a 3-D graphics scene uses an inverted z-test to mark a shadow area in a stencil buffer. Front and back facing shadow volume polygons are rendered subsequent to rendering the scene and corresponding stencil buffer entries are incremented for pixels viewing the back facing polygon when the new z-test is passed and decremented for pixels viewing the front facing polygons when the new z-test is passed. The new z-test is passed for pixels having depth (z) values greater than the corresponding depth value stored z-buffer.


Bare så folk ikke begynder at brokke sig over at det er et rent software-implementeringspatent der er tale om....

At det så kan undgås ved at tilføje/rette nogle linjer kode, er en helt anden sag....
Gravatar #17 - terracide
27. nov. 2011 13:09
Det viser bare at Carmack stadig kan kode, selv wiki har nævnt dette eksempel:
http://en.wikipedia.org/wiki/Shadow_volume#Depth_f...
Gravatar #18 - Flexo82
27. nov. 2011 13:48
webwarp (7) skrev:
http://nyhederne.tv2.dk/article.php/id-46094839:df-vil-tvinge-thorning-til-folkeafstemning.html

Så vil folketinget også have at vi skal have en masse fjollede problemer med patenter..


Nu har EU haft nogle fornuftige holdninger til patenter og rettigheder

eu-er-bekymrede-over-kamp-mellem-apple-og-samsung
eu-domstolen-internetudbydere-skal-ikke-blokere-eller-filtrere-trafik
Gravatar #19 - Pwncopter
27. nov. 2011 15:05
Det er en kode der også giver 200% ydelsesforbedring. Det han har gjort er at out-comment rendershadow() :P
Gravatar #20 - terracide
27. nov. 2011 20:58
Her er koden for de interesserede, fra draw_common.cpp:

// patent-free work around
if (!external)
{
// "preload" the stencil buffer with the number of volumes
// that get clipped by the near or far clip plane
qglStencilOp (GL_KEEP, tr.stencilDecr, tr.stencilDecr);
GL_Cull (CT_FRONT_SIDED);
RB_DrawShadowElementsWithCounters (tri, numIndexes);
qglStencilOp (GL_KEEP, tr.stencilIncr, tr.stencilIncr);
GL_Cull (CT_BACK_SIDED);
RB_DrawShadowElementsWithCounters (tri, numIndexes);
}
Gravatar #21 - ScarT
28. nov. 2011 08:38
Der er allerede folk der har fundet en mere effektiv måde at render skyggerne på (hvilket patentet omhandlede). Faktisk er det cirka 1.5 gange hurtigere. Så det er egentlig et højst uinteressant pantent.
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login