Updated ChangeLog and AUTHORS.txt for 2.7.3 dev release
This commit is contained in:
parent
9cd739d45c
commit
f75e43e93a
65
AUTHORS.txt
65
AUTHORS.txt
@ -1,6 +1,6 @@
|
|||||||
OpenSceneGraph Library 2.7.1
|
OpenSceneGraph Library 2.7.3
|
||||||
|
|
||||||
330 Contributors:
|
340 Contributors:
|
||||||
|
|
||||||
Firstname Surname
|
Firstname Surname
|
||||||
-----------------
|
-----------------
|
||||||
@ -12,32 +12,33 @@ Mike Weiblen
|
|||||||
Eric Wing
|
Eric Wing
|
||||||
Brede Johansen
|
Brede Johansen
|
||||||
Stephan Huber
|
Stephan Huber
|
||||||
|
Mathias Fröhlich
|
||||||
Geoff Michel
|
Geoff Michel
|
||||||
Farshid Lashkari
|
Farshid Lashkari
|
||||||
Bob Kuehne
|
Bob Kuehne
|
||||||
Mathias Fröhlich
|
|
||||||
Eric Sokolowsky
|
Eric Sokolowsky
|
||||||
Ulrich Hertlein
|
Ulrich Hertlein
|
||||||
Martin Lavery
|
Martin Lavery
|
||||||
|
Jean-Sebastien Guay
|
||||||
David Callu
|
David Callu
|
||||||
Tree
|
Tree
|
||||||
Luigi Calori
|
Luigi Calori
|
||||||
Jean-Sebastien Guay
|
|
||||||
Trajce Nikolov
|
Trajce Nikolov
|
||||||
Mike Wittman
|
Mike Wittman
|
||||||
Pavel Moloshtan
|
|
||||||
Colin McDonald
|
Colin McDonald
|
||||||
|
Wojciech Lewandowski
|
||||||
|
Pavel Moloshtan
|
||||||
Tom Jolley
|
Tom Jolley
|
||||||
Andy Skinner
|
|
||||||
Roger James
|
Roger James
|
||||||
|
Andy Skinner
|
||||||
Norman Vine
|
Norman Vine
|
||||||
Jeremy Moles
|
Jeremy Moles
|
||||||
Alberto Farre
|
Alberto Farre
|
||||||
André Garneau
|
André Garneau
|
||||||
Wojciech Lewandowski
|
|
||||||
Ruben Lopez
|
Ruben Lopez
|
||||||
Randall Hopper
|
Randall Hopper
|
||||||
Art Tevs
|
Art Tevs
|
||||||
|
Adrian Egli
|
||||||
Olaf Flebbe
|
Olaf Flebbe
|
||||||
Gideon May
|
Gideon May
|
||||||
Don Tidrow
|
Don Tidrow
|
||||||
@ -45,12 +46,12 @@ Romano Jos
|
|||||||
Paul Melis
|
Paul Melis
|
||||||
Michael Platings
|
Michael Platings
|
||||||
Michael Gronager
|
Michael Gronager
|
||||||
|
Jason Beverage
|
||||||
Daniel Sjölie
|
Daniel Sjölie
|
||||||
Chris Hanson
|
Chris Hanson
|
||||||
Adrian Egli
|
|
||||||
Sherman Wilcox
|
Sherman Wilcox
|
||||||
Per Fahlberg
|
Per Fahlberg
|
||||||
Jason Beverage
|
Mathieu Marache
|
||||||
J.P. Delport
|
J.P. Delport
|
||||||
David Spilling
|
David Spilling
|
||||||
Philip Lowman
|
Philip Lowman
|
||||||
@ -69,11 +70,12 @@ Serge Lages
|
|||||||
Rune Schmidt Jensen
|
Rune Schmidt Jensen
|
||||||
Rainer Oder
|
Rainer Oder
|
||||||
Mike Connell
|
Mike Connell
|
||||||
Mathieu Marache
|
|
||||||
Carlo Camporesi
|
Carlo Camporesi
|
||||||
|
Bryan Thrall
|
||||||
Ben Discoe
|
Ben Discoe
|
||||||
Andreas Ekstrand
|
Andreas Ekstrand
|
||||||
Sasa Bistrovic
|
Sasa Bistrovic
|
||||||
|
Neil Groves
|
||||||
Martin Naylor
|
Martin Naylor
|
||||||
Martin Aumueller
|
Martin Aumueller
|
||||||
Markus Trenkwalder
|
Markus Trenkwalder
|
||||||
@ -84,12 +86,13 @@ John Shue
|
|||||||
Jan Peciva
|
Jan Peciva
|
||||||
Jan Ciger
|
Jan Ciger
|
||||||
Gordon Tomlinson
|
Gordon Tomlinson
|
||||||
|
Glenn Waldron
|
||||||
Gino van den Bergen
|
Gino van den Bergen
|
||||||
Bryan Thrall
|
|
||||||
Brad Colbert
|
Brad Colbert
|
||||||
Vivek Rajan
|
Vivek Rajan
|
||||||
Thibault Genessay
|
Thibault Genessay
|
||||||
Sean Spicer
|
Sean Spicer
|
||||||
|
Roland Smeenk
|
||||||
Ravi Mathur
|
Ravi Mathur
|
||||||
Nikolaus Hanekamp
|
Nikolaus Hanekamp
|
||||||
Neil Salter
|
Neil Salter
|
||||||
@ -97,49 +100,52 @@ Mihai Radu
|
|||||||
Michael Hartman
|
Michael Hartman
|
||||||
Luc Frauciel
|
Luc Frauciel
|
||||||
Laurens Voerman
|
Laurens Voerman
|
||||||
Glenn Waldron
|
|
||||||
David Guthrie
|
David Guthrie
|
||||||
Corbin Holtz
|
Corbin Holtz
|
||||||
Cedric Pinson
|
Cedric Pinson
|
||||||
Brad Christiansen
|
Brad Christiansen
|
||||||
|
Alberto Luaces
|
||||||
Toshiyuki Takahei
|
Toshiyuki Takahei
|
||||||
|
Tim Moore
|
||||||
Thom DeCarlo
|
Thom DeCarlo
|
||||||
Simon Julier
|
Simon Julier
|
||||||
Sebastien Grignard
|
Sebastien Grignard
|
||||||
Romano Magacho
|
Romano Magacho
|
||||||
Roland Smeenk
|
Richard Schmidt
|
||||||
Paul de Repentigny
|
Paul de Repentigny
|
||||||
|
Mattias Helsing
|
||||||
Liang Aibin
|
Liang Aibin
|
||||||
Leandro Motta Barros
|
Leandro Motta Barros
|
||||||
John Kelso
|
John Kelso
|
||||||
Daniel Larimer
|
Daniel Larimer
|
||||||
Colin Dunlop
|
Colin Dunlop
|
||||||
Bruce Clay
|
Bruce Clay
|
||||||
Alberto Luaces
|
|
||||||
Alberto Barbati
|
Alberto Barbati
|
||||||
Vladimir Shabanov
|
Vladimir Shabanov
|
||||||
Uwe Woessner
|
Uwe Woessner
|
||||||
Tony Horrobin
|
Tony Horrobin
|
||||||
Tim Moore
|
Tatsuhiro Nishioka
|
||||||
Sohey Yamamoto
|
Sohey Yamamoto
|
||||||
Richard Schmidt
|
Riccardo Corsi
|
||||||
|
Ralf Habacker
|
||||||
Rafa Gaitan
|
Rafa Gaitan
|
||||||
Phil Atkin
|
Phil Atkin
|
||||||
Peter Hrenka
|
Peter Hrenka
|
||||||
Neil Groves
|
|
||||||
Mattias Linde
|
Mattias Linde
|
||||||
Mattias Helsing
|
|
||||||
Maria Ten
|
Maria Ten
|
||||||
Ken Sewell
|
Ken Sewell
|
||||||
Julian Ortiz
|
Julian Ortiz
|
||||||
|
John Vidar Larring
|
||||||
Jeremy Bell
|
Jeremy Bell
|
||||||
James French
|
James French
|
||||||
Garrett Potts
|
Garrett Potts
|
||||||
Gabor Dorka
|
Gabor Dorka
|
||||||
|
Fabio Mierlo
|
||||||
Doug McCorkle
|
Doug McCorkle
|
||||||
Donn Mielcarek
|
Donn Mielcarek
|
||||||
Donald Cipperly
|
Donald Cipperly
|
||||||
Domenico Mangieri
|
Domenico Mangieri
|
||||||
|
Chris Denham
|
||||||
Charles Cole
|
Charles Cole
|
||||||
Blake Williams
|
Blake Williams
|
||||||
Antoine Hue
|
Antoine Hue
|
||||||
@ -158,32 +164,33 @@ Stephan Eilemann
|
|||||||
Stanislav Blinov
|
Stanislav Blinov
|
||||||
Sebastian Messerschmidt
|
Sebastian Messerschmidt
|
||||||
Rudolf Wiedemann
|
Rudolf Wiedemann
|
||||||
Riccardo Corsi
|
|
||||||
Ralf Kern
|
Ralf Kern
|
||||||
Perry Miller
|
Perry Miller
|
||||||
Nathan Monteleone
|
Nathan Monteleone
|
||||||
Miguel Escriva
|
Miguel Escriva
|
||||||
Michael Henheffer
|
Michael Henheffer
|
||||||
|
Michael Guerrero
|
||||||
Maya Leonard
|
Maya Leonard
|
||||||
Max Behensky
|
Max Bandazian
|
||||||
Mathew May
|
Mathew May
|
||||||
Martijn Kragtwijk
|
Martijn Kragtwijk
|
||||||
Liang Aibin
|
|
||||||
Kevin Moiule
|
Kevin Moiule
|
||||||
Keith Steffen
|
Keith Steffen
|
||||||
Joseph Winston
|
Joseph Winston
|
||||||
John Aughey
|
John Aughey
|
||||||
Johan Nouvel
|
Johan Nouvel
|
||||||
Igor Kravtchenko
|
Igor Kravtchenko
|
||||||
|
He Sicong
|
||||||
Gustavo Wagner
|
Gustavo Wagner
|
||||||
Guillaume Chouvenc
|
Guillaume Chouvenc
|
||||||
Gerrick Bivins
|
Gerrick Bivins
|
||||||
George Tarantilis
|
George Tarantilis
|
||||||
Fabio Mierlo
|
Erik den Dekker
|
||||||
Edgar Ellis
|
Edgar Ellis
|
||||||
David Ergo
|
David Ergo
|
||||||
Daniel Trstenjak
|
Daniel Trstenjak
|
||||||
Csaba Halasz
|
Csaba Halasz
|
||||||
|
Christophe Loustaunau
|
||||||
Brad Anderegg
|
Brad Anderegg
|
||||||
Andrew Sampson
|
Andrew Sampson
|
||||||
Andrew Lorino
|
Andrew Lorino
|
||||||
@ -207,7 +214,6 @@ Tomas Hnilica
|
|||||||
Tino Schwarze
|
Tino Schwarze
|
||||||
Thom Carlo
|
Thom Carlo
|
||||||
Tery Welsh
|
Tery Welsh
|
||||||
Tatsuhiro Nishioka
|
|
||||||
Tanguy Fautré
|
Tanguy Fautré
|
||||||
Steven Thomas
|
Steven Thomas
|
||||||
Sid Byce
|
Sid Byce
|
||||||
@ -218,6 +224,7 @@ Sebastien Kuntz
|
|||||||
Ruth Lang
|
Ruth Lang
|
||||||
Ronny Krueger
|
Ronny Krueger
|
||||||
Robert Swain
|
Robert Swain
|
||||||
|
Rob Bloemkool
|
||||||
Rick Pingry
|
Rick Pingry
|
||||||
Rene Molenaar
|
Rene Molenaar
|
||||||
Reinhard Sainitzer
|
Reinhard Sainitzer
|
||||||
@ -244,8 +251,8 @@ Mike Garrity
|
|||||||
Michael Polak
|
Michael Polak
|
||||||
Michael Morrison
|
Michael Morrison
|
||||||
Michael Logan
|
Michael Logan
|
||||||
Michael Guerrero
|
|
||||||
Max Rhiener
|
Max Rhiener
|
||||||
|
Max Behensky
|
||||||
Mauricio Hofmam
|
Mauricio Hofmam
|
||||||
Matthew May
|
Matthew May
|
||||||
Matt Green
|
Matt Green
|
||||||
@ -259,6 +266,7 @@ Marin Lavery
|
|||||||
Marco Lehmann
|
Marco Lehmann
|
||||||
Maceij Krol
|
Maceij Krol
|
||||||
Louis Hamilton
|
Louis Hamilton
|
||||||
|
Lionel Lagarde
|
||||||
Lilin Xiong
|
Lilin Xiong
|
||||||
Lewis Harmon
|
Lewis Harmon
|
||||||
Lars Nilson
|
Lars Nilson
|
||||||
@ -267,11 +275,11 @@ Karsten Weiss
|
|||||||
Karl Heijdenberg
|
Karl Heijdenberg
|
||||||
Jutta Sauer
|
Jutta Sauer
|
||||||
Josh Portway
|
Josh Portway
|
||||||
John Vidar Larring
|
|
||||||
John Tan
|
John Tan
|
||||||
John Grant
|
John Grant
|
||||||
John Donovan
|
John Donovan
|
||||||
John Davis
|
John Davis
|
||||||
|
John Argentieri
|
||||||
Joan Abadie
|
Joan Abadie
|
||||||
Jeoen den Dekker
|
Jeoen den Dekker
|
||||||
Jean-Christophe Lombardo
|
Jean-Christophe Lombardo
|
||||||
@ -280,7 +288,6 @@ Jason Howlett
|
|||||||
Jason Ballenger
|
Jason Ballenger
|
||||||
J.E. Hoffmann
|
J.E. Hoffmann
|
||||||
Henrique Bucher
|
Henrique Bucher
|
||||||
He Sicong
|
|
||||||
Hautio Jari
|
Hautio Jari
|
||||||
Guillaume Millet
|
Guillaume Millet
|
||||||
Graeme Harkness
|
Graeme Harkness
|
||||||
@ -294,7 +301,7 @@ Frank Lindeman
|
|||||||
Frank Lichtenheld
|
Frank Lichtenheld
|
||||||
Ferdinand Cornelissen
|
Ferdinand Cornelissen
|
||||||
Fabien Dachicourt
|
Fabien Dachicourt
|
||||||
Erik den Dekker
|
Ewe Woessner
|
||||||
Emmanuel Roche
|
Emmanuel Roche
|
||||||
Edmond Gheury
|
Edmond Gheury
|
||||||
Ed Ralston
|
Ed Ralston
|
||||||
@ -311,7 +318,7 @@ Cyril Brulebois
|
|||||||
Clay Fowler
|
Clay Fowler
|
||||||
Chuck Sembroski
|
Chuck Sembroski
|
||||||
Chuck Seberion
|
Chuck Seberion
|
||||||
Christophe Loustaunau
|
Christopher Blaesius
|
||||||
Christian Kaser
|
Christian Kaser
|
||||||
Chris McGlone
|
Chris McGlone
|
||||||
Carlos Garcea
|
Carlos Garcea
|
||||||
@ -320,6 +327,7 @@ Brian Keener
|
|||||||
Brandon Hamm
|
Brandon Hamm
|
||||||
Bora Utka
|
Bora Utka
|
||||||
Blasius Czink
|
Blasius Czink
|
||||||
|
Bill Prendergast
|
||||||
Benoit Laniel
|
Benoit Laniel
|
||||||
Ben van Basten
|
Ben van Basten
|
||||||
Bart Gallet
|
Bart Gallet
|
||||||
@ -334,4 +342,5 @@ Alberto Jaspe
|
|||||||
Alan Purvis
|
Alan Purvis
|
||||||
Alan Ott
|
Alan Ott
|
||||||
Alan Harris
|
Alan Harris
|
||||||
|
Alan Dickinson
|
||||||
Adam Richard
|
Adam Richard
|
||||||
|
531
ChangeLog
531
ChangeLog
@ -1,3 +1,534 @@
|
|||||||
|
2008-10-08 12:54 +0000 [r9012] robert:
|
||||||
|
|
||||||
|
* Updated wrappers
|
||||||
|
|
||||||
|
2008-10-08 12:29 +0000 [r9011] robert:
|
||||||
|
|
||||||
|
* Added friend struct ViewData to try and avoid compile issues
|
||||||
|
under HP-UX
|
||||||
|
|
||||||
|
2008-10-08 11:30 +0000 [r9010] robert:
|
||||||
|
|
||||||
|
* Added Texture1D(Image*) and Texture3D(Image*) constructors
|
||||||
|
|
||||||
|
2008-10-08 10:55 +0000 [r9009] robert:
|
||||||
|
|
||||||
|
* Replaced std::vector::insert with std::copy + back_inserter to
|
||||||
|
avoid member template problems with sunos.
|
||||||
|
|
||||||
|
2008-10-08 10:10 +0000 [r9008] robert:
|
||||||
|
|
||||||
|
* From Mathias Froehlich, fixes for HP-UX, SGI and Solaris build
|
||||||
|
|
||||||
|
2008-10-07 15:59 +0000 [r9006-9007] robert:
|
||||||
|
|
||||||
|
* Moved OSG_FORCE_QUERY_RESULT_AVAILABLE_BEFORE_RETRIEVAL into
|
||||||
|
src/osg/CMakeLists.txt
|
||||||
|
|
||||||
|
* Made line graph solid (alpha = 1.0)
|
||||||
|
|
||||||
|
2008-10-07 15:41 +0000 [r9005] robert:
|
||||||
|
|
||||||
|
* From Jean-Sebastien Guay and Robert Osfield, added
|
||||||
|
setDataVariance(osg::DYNAMIC) to avoid problems to optimization.
|
||||||
|
|
||||||
|
2008-10-07 15:21 +0000 [r9003-9004] robert:
|
||||||
|
|
||||||
|
* Added osgText to link line
|
||||||
|
|
||||||
|
* Restoring Roger's original 2.0 factor as on review the later
|
||||||
|
orthographic projection code doesn't require the position to be
|
||||||
|
far out from the center to simulate an infinite light.
|
||||||
|
|
||||||
|
2008-10-07 15:16 +0000 [r9002] robert:
|
||||||
|
|
||||||
|
* From Roger James, "The light position is incorrectly calculated
|
||||||
|
for shadow casting scenes whose bounding box centre is not the
|
||||||
|
origin. This is a one line fix. "
|
||||||
|
|
||||||
|
2008-10-07 14:36 +0000 [r9001] robert:
|
||||||
|
|
||||||
|
* From Wojciech Lewandowski and Robert Osfield, add CMake build
|
||||||
|
option for controlling the Windows/NVidia multi-monitor
|
||||||
|
workaround.
|
||||||
|
|
||||||
|
2008-10-07 14:25 +0000 [r9000] robert:
|
||||||
|
|
||||||
|
* Updated wrappers
|
||||||
|
|
||||||
|
2008-10-07 14:19 +0000 [r8999] robert:
|
||||||
|
|
||||||
|
* Replaced IntersectVisitor usage with IntersectionVisitor
|
||||||
|
|
||||||
|
2008-10-07 14:01 +0000 [r8998] robert:
|
||||||
|
|
||||||
|
* Replaced usage of depreacted IntersectVisitor with
|
||||||
|
IntersectionVisitor
|
||||||
|
|
||||||
|
2008-10-07 13:37 +0000 [r8997] robert:
|
||||||
|
|
||||||
|
* From Jean-Sebastirn Guay, "Inspired by the latest additions to
|
||||||
|
the StatsHandler, here is my own addition. It's a graph that
|
||||||
|
helps show the variation of the various stats over time. It's
|
||||||
|
clearer than just having bars for the last 10 frames or so, IMHO,
|
||||||
|
since 10 frames go by pretty fast... The graph is displayed
|
||||||
|
"under" (behind) the normal bar chart you get when you press 's'
|
||||||
|
twice. It doesn't hide the normal stats, you can still read them
|
||||||
|
without any trouble, and that way, it doesn't take any more
|
||||||
|
screen space. It starts from the left, and will scroll left when
|
||||||
|
there is enough data to fill the screen width. The graph lines
|
||||||
|
have the same colors we're used to (except I made the event color
|
||||||
|
a bit bluer, so it's not exactly the same as the update color). A
|
||||||
|
screen shot is attached. The lines get a bit confused when
|
||||||
|
they're all overlapping at the bottom of the graph, but I think
|
||||||
|
that's the least of our concerns (if they're all at the bottom of
|
||||||
|
the graph - except FPS of course - then great!). The only thing
|
||||||
|
I'm not very keen about is that to make things simple, I clamp
|
||||||
|
the values to a given maximum. Right now, the maximums I have set
|
||||||
|
are: * Frame rate: 100 fps (people have 60, 75, 85Hz refresh
|
||||||
|
rates, so there's no one right value, but I think 100 is OK) *
|
||||||
|
Stats: 0.016 seconds (what you need to get 60Hz minimum) This
|
||||||
|
could be changed so that the scale of the graph changes according
|
||||||
|
to the maximum value in the last screenful of the graph instead
|
||||||
|
of clamping values. We would then need to display the scale for
|
||||||
|
each value on the side of the graph, because if the scale
|
||||||
|
changes, you need to know what it is at this moment. I tried to
|
||||||
|
make things easy to change, so for example if you don't like that
|
||||||
|
the graph is in the same space as the normal stats bars, it's
|
||||||
|
easy to move it anywhere else, and make it have other dimensions.
|
||||||
|
The maximums and colors are also easy to change. The impact on
|
||||||
|
performance should be minimal, since it's one vertex per graph
|
||||||
|
line that's added per frame, and vertices are removed when they
|
||||||
|
scroll off the screen, so you'll never have more than say 1280 *
|
||||||
|
(3 + ncameras) vertices on the screen at one time. No polygons, I
|
||||||
|
used line strips. The scrolling is done with a MatrixTransform."
|
||||||
|
|
||||||
|
2008-10-07 13:06 +0000 [r8996] robert:
|
||||||
|
|
||||||
|
* From Colin McDonald, "Attached is an update to the dxf plugin
|
||||||
|
which adds rudimentary support for text entities. "
|
||||||
|
|
||||||
|
2008-10-07 12:31 +0000 [r8995] robert:
|
||||||
|
|
||||||
|
* From Mathias Froehlich, build fixes
|
||||||
|
|
||||||
|
2008-10-07 11:35 +0000 [r8994] robert:
|
||||||
|
|
||||||
|
* Added the ability to release OpenGL objects in PagedLOD subgrphs
|
||||||
|
that are no longer being rendered.
|
||||||
|
|
||||||
|
2008-10-06 17:15 +0000 [r8993] robert:
|
||||||
|
|
||||||
|
* Updated wrappers
|
||||||
|
|
||||||
|
2008-10-06 17:03 +0000 [r8990-8992] robert:
|
||||||
|
|
||||||
|
* Improved the ImageSequence::setLength() settting.
|
||||||
|
|
||||||
|
* Updated to reflect changes in NodeVistor::ImageRequestHandler.
|
||||||
|
|
||||||
|
* Refactored ImageSequence to provided a cleaner and more robust
|
||||||
|
implementation
|
||||||
|
|
||||||
|
2008-10-06 14:18 +0000 [r8989] robert:
|
||||||
|
|
||||||
|
* From Wojciech Lewandowski, build fixes for handling
|
||||||
|
Matrix::value_type == float
|
||||||
|
|
||||||
|
2008-10-06 14:15 +0000 [r8988] robert:
|
||||||
|
|
||||||
|
* Ran dos2unix
|
||||||
|
|
||||||
|
2008-10-06 09:39 +0000 [r8987] robert:
|
||||||
|
|
||||||
|
* From Glenn Waldron, "osgTerrain::Locator::setTransformAsExtents()
|
||||||
|
does not update the _inverse member. Fix attached. "
|
||||||
|
|
||||||
|
2008-10-06 08:58 +0000 [r8986] robert:
|
||||||
|
|
||||||
|
* Converted tabs to four spaces
|
||||||
|
|
||||||
|
2008-10-06 08:53 +0000 [r8984-8985] robert:
|
||||||
|
|
||||||
|
* Ran dos2unix on headers
|
||||||
|
|
||||||
|
* Ran dos2unix on new shadow implemenations
|
||||||
|
|
||||||
|
2008-10-06 08:48 +0000 [r8983] robert:
|
||||||
|
|
||||||
|
* From Jason Beverage, "Attached is a fix for getTile in the
|
||||||
|
Terrain class. It should be checking for itr ==
|
||||||
|
_terrainTileMap.end() instead of itr != _terrainTileMap.end()."
|
||||||
|
|
||||||
|
2008-10-03 16:57 +0000 [r8982] robert:
|
||||||
|
|
||||||
|
* Added include <osg/Config> to take advantage of
|
||||||
|
OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION
|
||||||
|
|
||||||
|
2008-10-03 15:36 +0000 [r8981] robert:
|
||||||
|
|
||||||
|
* Moved the OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION definition
|
||||||
|
into the Config.in rather use of -D define
|
||||||
|
|
||||||
|
2008-10-03 15:15 +0000 [r8978-8980] robert:
|
||||||
|
|
||||||
|
* Updated wrappers
|
||||||
|
|
||||||
|
* Added optional compile of the new ref_ptr<>:T* operator() output
|
||||||
|
conversion operator, controlled via a CMake option
|
||||||
|
OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION.
|
||||||
|
|
||||||
|
* From Neil Groves, addition on a T* implicit output conversion
|
||||||
|
method and removal of comparison methods that are replaced by the
|
||||||
|
single conversion method. From Robert Osfield, optional
|
||||||
|
compilation of above.
|
||||||
|
|
||||||
|
2008-10-03 13:38 +0000 [r8977] robert:
|
||||||
|
|
||||||
|
* Compile fix required when using ref_ptr<> implicit output
|
||||||
|
conversion
|
||||||
|
|
||||||
|
2008-10-03 13:34 +0000 [r8976] robert:
|
||||||
|
|
||||||
|
* From Neil Groves, added intrusive_ptr_add_ref and
|
||||||
|
intrusive_ptr_release methods to enable usage of
|
||||||
|
boost::intrusive_ptr<> with osg::Referenced objects.
|
||||||
|
|
||||||
|
2008-10-03 11:04 +0000 [r8974-8975] robert:
|
||||||
|
|
||||||
|
* From Bryan Thrall, fixed typos in exception strings.
|
||||||
|
|
||||||
|
* From Paul Martz, "I had to make Yet Another tweak to the
|
||||||
|
workaround for the occlusion query issue on NVIDIA cards. Testing
|
||||||
|
indicates that this produces stable results. I checked this in to
|
||||||
|
the 2.6 branch as revision 8965. Please include this on the
|
||||||
|
trunk"
|
||||||
|
|
||||||
|
2008-10-03 09:55 +0000 [r8973] robert:
|
||||||
|
|
||||||
|
* From Neil Groves, "Frequently I would like code that has a
|
||||||
|
signature like: void foo(osg::ref_ptr<osg::Node> node) to work
|
||||||
|
for osg::ref_ptr<osg::Group>, osg::ref_ptr<osg::Geode> etc. The
|
||||||
|
behaviour of osg::ref_ptr does not mimic the behaviour of a raw
|
||||||
|
pointer in this regard. To facilitate this possibility I have
|
||||||
|
added a template copy constructor and a template assignment
|
||||||
|
operator. These work for safe conversions like those in my
|
||||||
|
previous example, but fail as desired for non-safe conversions
|
||||||
|
since the template instantiation fails during the raw pointer
|
||||||
|
copy/assignment. The lack of this facility has appreciably
|
||||||
|
handicapped development of generic algorithms applied to the
|
||||||
|
scene graph, and I believe that this alteration will be welcomed
|
||||||
|
by most of the community. If there are issues with antiquated
|
||||||
|
compilers not supporting template member functions then perhaps a
|
||||||
|
small piece of conditional compilation is in order. I have made
|
||||||
|
the change using the latest release version (2.6) as the base.
|
||||||
|
The full file is attached. I have not tested building the osg
|
||||||
|
wrappers and the script binding code. I have tested the legal and
|
||||||
|
illegal conversions of both copying and assignment to ensure that
|
||||||
|
behave as expected on MSVC7.1, MSVC8, MSVC9, GCC 4.3."
|
||||||
|
|
||||||
|
2008-10-03 09:22 +0000 [r8971-8972] robert:
|
||||||
|
|
||||||
|
* From Tatsuhiro Nishioka, submissions posted by Stephan Huber,
|
||||||
|
"attached you'll find a modified ReaderWriterQT.cpp-file where I
|
||||||
|
removed the support for rgb(a)-files. Quicktime supports only
|
||||||
|
files with 3/4-channels rgba-files and not 1/2-channels
|
||||||
|
rgb-files. This submission is from Tatsuhiro Nishioka, here's his
|
||||||
|
original quote: When FlightGear crashes, the error message
|
||||||
|
"GraphicsImportGetNaturalBounds failed" shows up. By adding
|
||||||
|
printf debug, I found the error was -8969: codecBadDataErr when
|
||||||
|
loading a gray-scaled (2 channels) rgba files even though the
|
||||||
|
file can be loaded with Gimp and osgViewer properly. So I made an
|
||||||
|
investigation on this problem and found an interesting thing.
|
||||||
|
This error occurs only when non-rgb files are loaded before rgb
|
||||||
|
files. The reason is that rgba files can be handled by both
|
||||||
|
osgdb_rgb.so and osgdb_qt.so, but the error happens only when
|
||||||
|
osgdb_qt.so try to load a gray-scaled rgba file. When a program
|
||||||
|
is about to load an rgba file, osgdb_rgb.so is loaded and it
|
||||||
|
handles the rgba file properly. In contrast, when a gray-scaled
|
||||||
|
rgb file is being loaded after a non-rgb file (say png) is
|
||||||
|
already loaded by osgdb_qt.so, osgdb_qt.so tries to load the file
|
||||||
|
instead of osgdb_rgb, which causes the error above. Anyway, the
|
||||||
|
bad thing is that QuickTime cannot handle gray-scaled rgb files
|
||||||
|
properly. The solution for this is not to let osgdb_qt handle rgb
|
||||||
|
files since osgdb_rgb can handle these properly. "
|
||||||
|
|
||||||
|
* From Stephan Huber, removed now redundent setEventQueue method
|
||||||
|
|
||||||
|
2008-10-03 09:02 +0000 [r8970] robert:
|
||||||
|
|
||||||
|
* From Roland Smeenk, A year ago Stephan Maximilian Huber sent in a
|
||||||
|
submission with enhanced statistics. Because I was interested in
|
||||||
|
the scene statistics of his submission I tried to merge his
|
||||||
|
changes with the current CVS head. I made a few changes to the
|
||||||
|
way the statistics are displayed. Attached you will find the new
|
||||||
|
StatsHandler and a screenshot of the statistics in the
|
||||||
|
compositeviewer example. This code will add two extra statistics
|
||||||
|
options: -Camera scene statistics, stats for the scene after
|
||||||
|
culling (updated at 10 Hz) -View scene statistics, stats for the
|
||||||
|
complete scene (updated at 5 Hz) Each camera and each view will
|
||||||
|
expand the statistics to the right. I also added the requests and
|
||||||
|
objects to compile of the databasepager to the databasepager
|
||||||
|
statistics.""
|
||||||
|
|
||||||
|
2008-10-03 08:35 +0000 [r8967-8968] robert:
|
||||||
|
|
||||||
|
* From Mathias Froehlich, Wr.t AC3D Texture clamping "I had a quick
|
||||||
|
look at the problem. Attached is a change that is able to provide
|
||||||
|
shared textures for the clamp and the repeat case. So this
|
||||||
|
appears to be the best fix I guess ... Also it additionaly shares
|
||||||
|
the TexEnv StateAttribute in a whole ac3d model."
|
||||||
|
|
||||||
|
* Added missing dirtyBound() calls
|
||||||
|
|
||||||
|
2008-10-02 15:45 +0000 [r8964] robert:
|
||||||
|
|
||||||
|
* Various improvements to the dicom loader to be able to handle a
|
||||||
|
broader range of dicom files
|
||||||
|
|
||||||
|
2008-09-29 18:30 +0000 [r8961] robert:
|
||||||
|
|
||||||
|
* Updated shaders
|
||||||
|
|
||||||
|
2008-09-29 17:00 +0000 [r8958] robert:
|
||||||
|
|
||||||
|
* Improved the dicom plugins handling of different slice positions
|
||||||
|
|
||||||
|
2008-09-29 13:22 +0000 [r8957] robert:
|
||||||
|
|
||||||
|
* Turned off the yaw mode on the FlightManipilator to make it
|
||||||
|
easier to navigate in volumes
|
||||||
|
|
||||||
|
2008-09-29 11:00 +0000 [r8955-8956] robert:
|
||||||
|
|
||||||
|
* From Mathieu Marache, support for CDash
|
||||||
|
|
||||||
|
* From Erik den Dekker, "I received a compiler warning in
|
||||||
|
osgDB::registry::readObjectOfType while compiling SVN trunk with
|
||||||
|
MSVC 2008. ..\..\..\..\src\osgDB\Registry.cpp(910) : warning
|
||||||
|
C4806: '==' : unsafe operation: no value of type 'bool' promoted
|
||||||
|
to type 'osgDB::Registry::LoadStatus' can equal the given
|
||||||
|
constant A quick review of the code revealed a piece of code that
|
||||||
|
was clearly wrong, possibly due to a copy-and-paste error. "
|
||||||
|
|
||||||
|
2008-09-29 10:56 +0000 [r8954] robert:
|
||||||
|
|
||||||
|
* Added support for using ImageSequence to animate volumes
|
||||||
|
|
||||||
|
2008-09-28 15:16 +0000 [r8953] robert:
|
||||||
|
|
||||||
|
* Improved the isosurface shaders, and mde GLSL usage the default
|
||||||
|
|
||||||
|
2008-09-26 15:47 +0000 [r8952] robert:
|
||||||
|
|
||||||
|
* Improved GLSL isosurface support when using a transfer function
|
||||||
|
|
||||||
|
2008-09-26 14:50 +0000 [r8951] robert:
|
||||||
|
|
||||||
|
* Added setting of various filters and
|
||||||
|
setResizeNonPowerOfTwoHint(false) on normals maps etc.
|
||||||
|
|
||||||
|
2008-09-26 13:51 +0000 [r8947-8948] robert:
|
||||||
|
|
||||||
|
* Added docs for read-threads <numthreads> command line options
|
||||||
|
|
||||||
|
* Changed loadLibrary so that it retusn a LoadStatus variable to
|
||||||
|
enable calling codes to differentiate between whether a library
|
||||||
|
is already loaded, or is newly loaded
|
||||||
|
|
||||||
|
2008-09-26 11:29 +0000 [r8946] robert:
|
||||||
|
|
||||||
|
* Added --isosurface and --mip paths into osgvolume example, and
|
||||||
|
added associted shaders
|
||||||
|
|
||||||
|
2008-09-26 11:19 +0000 [r8945] robert:
|
||||||
|
|
||||||
|
* From Mathias Froehlich, "for the rand functions stdlib.h is
|
||||||
|
required ..."
|
||||||
|
|
||||||
|
2008-09-26 10:59 +0000 [r8944] robert:
|
||||||
|
|
||||||
|
* From Lionel Lagarde, "Here is a correction on
|
||||||
|
DatabasePager::FindCompileableGLObjectsVisitor The
|
||||||
|
apply(osg::Drawable *) method doesn't update the _drawableSet and
|
||||||
|
the isCompiled test was inversed."
|
||||||
|
|
||||||
|
2008-09-26 10:43 +0000 [r8943] robert:
|
||||||
|
|
||||||
|
* From Fabio Mierlo, "n the lines 428 and 430 of obj.cpp file from
|
||||||
|
release 2.6.0, the parser use only the first 7 characters to
|
||||||
|
compare the string "map_opacity " and to copy the followed
|
||||||
|
parameter, but the string have 12 characters."
|
||||||
|
|
||||||
|
2008-09-25 15:20 +0000 [r8941-8942] robert:
|
||||||
|
|
||||||
|
* From Mathieu Marache, added support for CDash
|
||||||
|
|
||||||
|
* Removed unused methods
|
||||||
|
|
||||||
|
2008-09-25 15:04 +0000 [r8940] robert:
|
||||||
|
|
||||||
|
* Updated wrappers
|
||||||
|
|
||||||
|
2008-09-25 14:41 +0000 [r8936-8939] robert:
|
||||||
|
|
||||||
|
* Added osg2cpp example into build
|
||||||
|
|
||||||
|
* Added convinience methods for parse shader source files
|
||||||
|
|
||||||
|
* Created new osg2cpp utility that creates .cpp files from source
|
||||||
|
shaders that can be included directly in application code, see
|
||||||
|
osgvolume for an example.
|
||||||
|
|
||||||
|
* Moved shaders into .cpp, with the shaders created by the new
|
||||||
|
osg2cpp utility
|
||||||
|
|
||||||
|
2008-09-25 10:21 +0000 [r8935] robert:
|
||||||
|
|
||||||
|
* Added .vert and .frag to list of accepted extension in the GLSL
|
||||||
|
plugin
|
||||||
|
|
||||||
|
2008-09-24 16:03 +0000 [r8934] robert:
|
||||||
|
|
||||||
|
* From Jean-Sebastian Guay, fixed windows build
|
||||||
|
|
||||||
|
2008-09-24 16:00 +0000 [r8932-8933] robert:
|
||||||
|
|
||||||
|
* From Riccardo Corsi, Added 3gp file extension to supported list
|
||||||
|
in quicktime plugin
|
||||||
|
|
||||||
|
* Added 3gp extension alias for quicktime
|
||||||
|
|
||||||
|
2008-09-24 10:45 +0000 [r8931] robert:
|
||||||
|
|
||||||
|
* Added shader based transfer function, enabled via --gpu-tf
|
||||||
|
|
||||||
|
2008-09-24 10:20 +0000 [r8930] robert:
|
||||||
|
|
||||||
|
* Fixed transfer function parsing
|
||||||
|
|
||||||
|
2008-09-23 17:29 +0000 [r8929] robert:
|
||||||
|
|
||||||
|
* Added mutex usage to protect access to plugin and readerwriter
|
||||||
|
containers
|
||||||
|
|
||||||
|
2008-09-23 15:41 +0000 [r8923] robert:
|
||||||
|
|
||||||
|
* Added "serialize" and plugin "preload" options in the
|
||||||
|
"read-threads" code path.
|
||||||
|
|
||||||
|
2008-09-23 13:58 +0000 [r8921] robert:
|
||||||
|
|
||||||
|
* Added read-threads <numThreads> command line and read thread test
|
||||||
|
back end
|
||||||
|
|
||||||
|
2008-09-23 09:59 +0000 [r8920] robert:
|
||||||
|
|
||||||
|
* From Wojciech Lweandowski, added support for noew LispSM shadow
|
||||||
|
technique (use --lispsm on CmdLine) and added IslandScene
|
||||||
|
database (use -4 on CmdLine).
|
||||||
|
|
||||||
|
2008-09-22 17:24 +0000 [r8919] robert:
|
||||||
|
|
||||||
|
* Added support for reading raw data and transfer function from a
|
||||||
|
volume header
|
||||||
|
|
||||||
|
2008-09-22 16:18 +0000 [r8917-8918] robert:
|
||||||
|
|
||||||
|
* Added --page-and-discard, --page-and-retain, --preload and
|
||||||
|
--length command line options
|
||||||
|
|
||||||
|
* Fixed typo
|
||||||
|
|
||||||
|
2008-09-22 15:56 +0000 [r8916] robert:
|
||||||
|
|
||||||
|
* Added stats handler
|
||||||
|
|
||||||
|
2008-09-22 15:01 +0000 [r8914-8915] robert:
|
||||||
|
|
||||||
|
* From Ulrich Hertlein, fixes for OSX build
|
||||||
|
|
||||||
|
* Changed OSG_DEBUG_POSTFIX to use ADDQUOTES in the .cpp rather
|
||||||
|
than trying to add quotes via CMakeLists.txt
|
||||||
|
|
||||||
|
2008-09-22 14:55 +0000 [r8913] robert:
|
||||||
|
|
||||||
|
* From Ralf Habacker and Robert Osfield, added search for plugins
|
||||||
|
with OS specific file plugin extensions
|
||||||
|
|
||||||
|
2008-09-22 14:46 +0000 [r8912] robert:
|
||||||
|
|
||||||
|
* Added getExtensionIncludingDot to provide more efficient handling
|
||||||
|
of extensions
|
||||||
|
|
||||||
|
2008-09-22 13:16 +0000 [r8911] robert:
|
||||||
|
|
||||||
|
* Changed the macro usage so that the quotes are now added inside
|
||||||
|
the .cpp
|
||||||
|
|
||||||
|
2008-09-22 11:13 +0000 [r8910] robert:
|
||||||
|
|
||||||
|
* Added readNode implementation that creates an osgVolume::Volume
|
||||||
|
for the specified dicom file.
|
||||||
|
|
||||||
|
2008-09-21 11:12 +0000 [r8909] robert:
|
||||||
|
|
||||||
|
* Added Volume wrappers, and updated terrain wrappers
|
||||||
|
|
||||||
|
2008-09-21 11:05 +0000 [r8908] robert:
|
||||||
|
|
||||||
|
* Create initial class placeholders for main volume rendering
|
||||||
|
classes
|
||||||
|
|
||||||
|
2008-09-20 15:43 +0000 [r8907] robert:
|
||||||
|
|
||||||
|
* Change TileID::layer to TileID::level
|
||||||
|
|
||||||
|
2008-09-20 10:34 +0000 [r8906] robert:
|
||||||
|
|
||||||
|
* From Chris Denham, changed gluGetErrorString to using
|
||||||
|
osg::State::checkGLErrors() to avoid null pointer dereference
|
||||||
|
|
||||||
|
2008-09-20 10:09 +0000 [r8905] robert:
|
||||||
|
|
||||||
|
* From Mathias Froehlich, added catch for GL_COLOR_MATERIAL mode
|
||||||
|
being set.
|
||||||
|
|
||||||
|
2008-09-20 10:05 +0000 [r8904] robert:
|
||||||
|
|
||||||
|
* From John Vida Larring, "If an application initializes
|
||||||
|
osgViewer::GraphicsWindowEmbedded() but never gets around to do
|
||||||
|
any rendering before the application is closed, the result with
|
||||||
|
be a crash (SIGABRT/std::logic_error) in
|
||||||
|
osg::getGLVersionNumber(). The fix was to check whether
|
||||||
|
glGetString( GL_VERSION ) returned a null pointer (Ref. svn diff
|
||||||
|
below). The altered src/osg/GLExtensions.cpp is zipped and
|
||||||
|
attached to this email."
|
||||||
|
|
||||||
|
2008-09-19 19:51 +0000 [r8902-8903] robert:
|
||||||
|
|
||||||
|
* Added wrapper support for new osgShadow classes
|
||||||
|
|
||||||
|
* From Wojciech Lewandowski, a range of new ShadowMap
|
||||||
|
implementations include View Dependent Shadow Maps - LispSM From
|
||||||
|
Robert Osfield, refactored Wojciech's submission to integrated
|
||||||
|
with osgShadow and use coding sytle more consistent with rest of
|
||||||
|
OSG.
|
||||||
|
|
||||||
|
2008-09-19 12:49 +0000 [r8901] robert:
|
||||||
|
|
||||||
|
* From Mathias Froehlich, added support for search in the installed
|
||||||
|
directories for plugins
|
||||||
|
|
||||||
|
2008-09-19 08:16 +0000 [r8900] robert:
|
||||||
|
|
||||||
|
* From Richard Schmidt, fixed the handling of user data so that it
|
||||||
|
uses ref_ptr<> to avoid data getting deleted.
|
||||||
|
|
||||||
|
2008-09-18 16:48 +0000 [r8898] robert:
|
||||||
|
|
||||||
|
* Updated ChangeLog
|
||||||
|
|
||||||
2008-09-18 16:03 +0000 [r8897] robert:
|
2008-09-18 16:03 +0000 [r8897] robert:
|
||||||
|
|
||||||
* Added Serializer wrappers
|
* Added Serializer wrappers
|
||||||
|
@ -259,11 +259,13 @@ std::string typoCorrection(const std::string& name)
|
|||||||
if (name=="Drederic") return "Frederic";
|
if (name=="Drederic") return "Frederic";
|
||||||
if (name=="Eileman") return "Eilemann";
|
if (name=="Eileman") return "Eilemann";
|
||||||
if (name=="Elgi") return "Egli";
|
if (name=="Elgi") return "Egli";
|
||||||
|
if (name=="Frashid") return "Farshid";
|
||||||
if (name=="Fred") return "Frederic";
|
if (name=="Fred") return "Frederic";
|
||||||
if (name=="Fredrick") return "Frederic";
|
if (name=="Fredrick") return "Frederic";
|
||||||
if (name=="Fredric") return "Frederic";
|
if (name=="Fredric") return "Frederic";
|
||||||
if (name=="Froechlich") return "Fröhlich";
|
if (name=="Froechlich") return "Fröhlich";
|
||||||
if (name=="Froehlich") return "Fröhlich";
|
if (name=="Froehlich") return "Fröhlich";
|
||||||
|
if (name=="Froehilch") return "Fröhlich";
|
||||||
if (name=="Froelich") return "Fröhlich";
|
if (name=="Froelich") return "Fröhlich";
|
||||||
if (name=="Froenlich") return "Fröhlich";
|
if (name=="Froenlich") return "Fröhlich";
|
||||||
if (name=="Fröhlich") return "Fröhlich";
|
if (name=="Fröhlich") return "Fröhlich";
|
||||||
@ -285,6 +287,7 @@ std::string typoCorrection(const std::string& name)
|
|||||||
if (name=="Inverson") return "Iverson";
|
if (name=="Inverson") return "Iverson";
|
||||||
if (name=="Iversion") return "Iverson";
|
if (name=="Iversion") return "Iverson";
|
||||||
if (name=="Jean-Sebastian") return "Jean-Sebastien";
|
if (name=="Jean-Sebastian") return "Jean-Sebastien";
|
||||||
|
if (name=="Jean-Sebastirn") return "Jean-Sebastien";
|
||||||
if (name=="Jea-Sebastien") return "Jean-Sebastien";
|
if (name=="Jea-Sebastien") return "Jean-Sebastien";
|
||||||
if (name=="Johhansen") return "Johansen";
|
if (name=="Johhansen") return "Johansen";
|
||||||
if (name=="Johnansen") return "Johansen";
|
if (name=="Johnansen") return "Johansen";
|
||||||
@ -302,6 +305,7 @@ std::string typoCorrection(const std::string& name)
|
|||||||
if (name=="Lasharki") return "Lashkari";
|
if (name=="Lasharki") return "Lashkari";
|
||||||
if (name=="Laskari") return "Lashkari";
|
if (name=="Laskari") return "Lashkari";
|
||||||
if (name=="Leandowski" || name=="Lawandowski") return "Lewandowski";
|
if (name=="Leandowski" || name=="Lawandowski") return "Lewandowski";
|
||||||
|
if (name=="Lweandowski") return "Lewandowski";
|
||||||
if (name=="Lugi") return "Luigi";
|
if (name=="Lugi") return "Luigi";
|
||||||
if (name=="Machler") return "Mächler";
|
if (name=="Machler") return "Mächler";
|
||||||
if (name=="Macro") return "Marco";
|
if (name=="Macro") return "Marco";
|
||||||
@ -362,7 +366,6 @@ std::string typoCorrection(const std::string& name)
|
|||||||
if (name=="Xennon") return "Hanson";
|
if (name=="Xennon") return "Hanson";
|
||||||
if (name=="Yefrei") return "Yefei";
|
if (name=="Yefrei") return "Yefei";
|
||||||
if (name=="Yfei") return "Yefei";
|
if (name=="Yfei") return "Yefei";
|
||||||
if (name=="Frashid") return "Farshid";
|
|
||||||
|
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
@ -375,6 +378,12 @@ void nameCorrection(NamePair& name)
|
|||||||
name.second = "den Dekker";
|
name.second = "den Dekker";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (name.first=="Erik" && name.second=="den")
|
||||||
|
{
|
||||||
|
name.first = "Erik";
|
||||||
|
name.second = "den Dekker";
|
||||||
|
}
|
||||||
|
|
||||||
if (name.first=="Jeoen" && name.second=="den")
|
if (name.first=="Jeoen" && name.second=="den")
|
||||||
{
|
{
|
||||||
name.first = "Jeoen";
|
name.first = "Jeoen";
|
||||||
@ -387,6 +396,12 @@ void nameCorrection(NamePair& name)
|
|||||||
name.second = "Vidar Larring";
|
name.second = "Vidar Larring";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (name.first=="John" && name.second=="Vida")
|
||||||
|
{
|
||||||
|
name.first = "John";
|
||||||
|
name.second = "Vidar Larring";
|
||||||
|
}
|
||||||
|
|
||||||
if (name.first=="Sebastien" && name.second=="Messerschmidt")
|
if (name.first=="Sebastien" && name.second=="Messerschmidt")
|
||||||
{
|
{
|
||||||
name.first = "Sebastian";
|
name.first = "Sebastian";
|
||||||
|
Loading…
Reference in New Issue
Block a user