Commit Graph

58 Commits

Author SHA1 Message Date
Shyotl
008bebd817 Merge with siana/future 2011-10-13 00:03:56 -05:00
Shyotl
c9d480a6bf Display various object list properties when DebugShowRenderInfo is enabled. 2011-10-10 03:06:25 -05:00
Shyotl
c99aabf17c LLAgentWearable LLSingleton-ized. 2011-10-09 21:48:01 -05:00
Shyotl
5e829b7a3a LLRender's vertexbuffer created via init now, instead of ctor. Allows deallocation/reallocation. 2011-10-08 02:58:23 -05:00
Shyotl
bf0bb8d59a More dead code (renderforselect) removal. 2011-10-08 02:56:39 -05:00
Shyotl
02c2283e11 Cleanup. Mostly harmless. A few gAgentAvatarps changed to isAgentAvatarValid(), which is the only 'change' in behavior. Everything else is insignifigant syntax touchup and shuffling of inlines from headers to cpp files. 2011-10-08 02:53:03 -05:00
Shyotl
74dc875a27 Beginning to pull LLVOAvatarSelf out from LLVOAvatar. 2011-10-02 02:51:10 -05:00
Shyotl
417f5084b4 Added LLNotificationsUtil and switched LLNotifications::instance().add to LLNotificationsUtil::add in a bazillion places. 2011-09-03 19:30:42 -05:00
Shyotl
7b2aa741aa LLGestureManager renamed to LLGestureMgr. Also, derived from LLSingleton. 2011-09-03 06:46:47 -05:00
Shyotl
baddb47c44 LLWindow V3 partial merge. Includes Most everything sans new LLMouseHandler which requires some messy changes in llviewerwindow that are best left for a dedicated commit. Also, some translation fluff was skipped for now. 2011-08-29 03:44:17 -05:00
Shyotl
59d50f3062 Meshy update. Mostly related to cost calculations... mostly. 2011-08-28 04:05:36 -05:00
Shyotl
c9860f7b66 Massive deferred update...
Plus renamed setupViewport to setup[2|3]DViewport.
Migrated mWindowRect to mWindowRectRaw, mVirtualWindowRect to mWindowRectScaled.
Slowly updating getwindow/getworldview calls to new v2 variants as I run across them.
Cleaned up ascent-related code in llmanip.cpp.
Impostor update tweaks.
Edgepatch water occlusion changes. (no patch flickering on edges of screen while moving camera)
2011-08-11 03:16:17 -05:00
Shyotl
ca328aec72 Replaced some opengl fixed functions with shaders. Temporary ShyotlUseLegacyRenderPath setting to debug if this change actually improves framerate at all (setting not tied to callbacks. Have to toggle shaders to have stuff pick up the setting change) 2011-08-10 03:53:49 -05:00
Shyotl
04ea6a967e Removed dead code related to 'RenderForSelect'. 2011-08-09 02:11:10 -05:00
Siana Gearz
aa469d860f Merge branch 'V2Mesh' of https://github.com/Shyotl/SingularityViewer into future 2011-08-01 19:56:33 +02:00
Shyotl
a237cb9cad llmemory.h cleanup. pulled llpointer, refcounter, smartpointer, singleton and safe handle out into their own headers. llmemory.h drags all those headers in for legacy support until everything else is cleaned up. getCurrentRSS() moved into LLMemory. getWorkingSetSize() added to LLMemory. 2011-07-29 20:40:08 -05:00
Shyotl
1e92e734d8 Bulk of mesh. Excluded via #if MESH_ENABLED. LLModel still needs updated for strided vbos, Collada SDK needs to be wrangled, and misc pieces need to be found and brought over. Skipping inventory stuff until meshes are at least displayable. 2011-07-23 03:26:30 -05:00
Shyotl
179193d173 Some minor cleanup. Bringing stuff in-line with current to ensure it all works before mesh is actually plugged in. 2011-07-23 03:24:10 -05:00
Siana Gearz
f30c284063 Merge branch 'V2Mesh' of https://github.com/Shyotl/SingularityViewer into future
Conflicts:
	indra/llvfs/lldiriterator.cpp
	indra/newview/app_settings/settings.xml
	indra/newview/llviewerregion.cpp
2011-07-21 00:20:06 +02:00
Shyotl
3e9c23e43b Setting through LLView::userSetShape now done through LLView::setShape. LLView::snappedTo renamed to LLView::setSnappedTo. virtual overriding of LLView::userSetShape now done through LLView::handleReshape which LLView::setShape calls. 2011-07-17 19:59:30 -05:00
Shyotl
2870d44824 Teleport history now saved to teleport_history.xml. TeleportHistoryMaxEntries specifies how many entries to allow in floater before old entries are dropped. 2011-07-16 23:32:01 -05:00
Siana Gearz
144d96f78c Fixfudgery 2011-07-13 05:42:52 +02:00
Shyotl
6d9b7b14ad More llinfos output on client initilization. 2011-06-16 22:43:05 -05:00
Shyotl
b691e2b286 Merge branch 'master' of https://github.com/AlericInglewood/SingularityViewer.git 2011-06-08 14:19:43 -05:00
Shyotl
a07e399801 LLAgentCamera transition (1/2) 2011-06-07 21:35:10 -05:00
Aleric Inglewood
fed8951e00 Merge remote-tracking branch 'shyotl/V2Renderer' into V2Renderer 2011-06-03 22:48:23 +02:00
Shyotl
2f3a8fb6c0 Fixing some issues with high-res snapshots. 2011-05-27 14:01:23 -05:00
Aleric Inglewood
e3742734f0 Beacons (floater) fixup
After a user spend three days trying to find out why certain
textures looked red (as if they had alpha and you pressed
control-alt-T, but not all of them were like that); and nothing
helped, not relogging, not clearing cache, not even reinstalling
the viewer... I decided to take this bug serious. Note that,
according to Shyotl, there have been more users every now and
then that reported this problem.

The problem (after doing a research for 1 hour) turned out
to be that she had beacons on, highlighting prims with scripts.
The immediate bug is, of course, that this was persistent over
a relog. Upon further investigation, this bug exists because
a Debug Setting had a double meaning: it meant both "beacon
floater is visible", which you want to be persistent, and it
was later renamed and given the meaning "Keep beacons when
closing the floater". Digging deeper it turned out that there
was a REAL mess with regard to the beacons: A non-finished
floater with immature comments (called "dingdong floater") was
half-created and replaced the original floater which, according
to the comment was "so fucked over and over" (== commented out
in several places), but then everything was commented out and
replaced with a menu (because they couldn't get it to work?).
The floater simply didn't exist anymore! That reduced the
meaning of the Debug Setting to "Show beacons", although you
now could only set it in the menu by clicking on "Beacons Always On"
where 'Always' refers to also on when the floater isn't there.

I nuked the immature dingdong code, brought back the original
floater as it was in snowglobe (and still is in Imprudence),
fixed it up a bit with a nicer layout (indentation and spacing)
and disabling (graying out) when needed, and added a new checkbox
that will allow people to still keep/see the beacons after closing
the floater.

In the end this requires THREE Debug Setting variables:
ShowBeaconsFloater : TRUE when the floater is visible, FALSE when not.
                     This is persistent, so the floater is still
		     there if you relog with the floater open.
BeaconsKeepVisible : TRUE when the new checkbox is checked.
		     Also persistent.
BeaconsVisible : TRUE when the beacons are rendered, FALSE otherwise.
		 This is NOT persistent: we don't want unsuspecting
		 users to try and get rid of the weird 'red prims'
		 by relogging and failing at that.
2011-05-25 19:55:42 +02:00
Aleric Inglewood
e1fb1fa6b7 API change of AIFilePicker.
Call AIFilePicker::create() instead of new AIFilePicker.
Renamed deleteMe() to kill() and bs_deleted to bs_killed.
Only default to auto destruct when created with create(true),
otherwise kill() has to be called explicitely.
2011-05-18 03:52:15 +02:00
Shyotl
461ddb2ca9 Merge branch 'master' of https://github.com/AlericInglewood/SingularityViewer.git 2011-05-14 22:31:35 -05:00
Aleric Inglewood
697f0ad054 Old VWR-14914 spin-off sound beacon patch.
This makes sound beacons green when playing at
full volume, yellow when playing at a lower volume
and red when they are muted (aka, in another parcel
that you can't hear the sounds of).

Originally this was a debug patch as muted sound
sources used to be implemented by setting the volume
to zero, which happens to use like three times more
CPU: so, having a lot of muted sound source caused
the audio thread to never release a mutex anymore
(cause it was never idle anymore), causing the main
loop to hang, waiting on that mutex - dropping the
FPS drastically. Hence it was necessary to see which
sound sources were muted for debugging purposes.
(Since VWR-14914, muted source source are not played
at all anymore, so they do not take extra CPU).

It's still fun to see this extra information though,
now the patch exists anyway.
2011-05-15 02:23:13 +02:00
Shyotl
fb14aff1f6 Merge branch 'master' of https://github.com/AlericInglewood/SingularityViewer.git 2011-05-14 14:01:58 -05:00
Shyotl
4e47446be1 LLVOAvatar class members reorganized to line up with V2 better. Added accessors from v2 where applicable. mBakedTextureData renamed to mBakedTextureDatas 2011-05-14 12:38:47 -05:00
Aleric Inglewood
e0b0fa4f58 Use AIFilePicker everywhere.
Also upgrade the file picker filters with the new extensions found
in the orginal file picker code of Singularity.

Also improve AIFilePicker a bit: added hasFilename() and now
deleting the statemachine automatically by default: it's no longer
needed to call deleteMe from the callback.
2011-05-10 04:27:57 +02:00
Aleric Inglewood
c46c86ca4b Split plugin classes and derive AIFilePicker from BasicPluginBase (part 4).
Add back fixes that were in Singularity (in indra/media_plugins) but not
in imprudence.

Also:

Add "shutdown" plugin message and terminate file picker plugins cleanly.

The DSO (libbasic_plugin_filepicker.so) now tells the child process /
plugin loader (SLPlugin) to terminate (using the 'shutdown' message),
and AIFilePicker::finish_impl destroys the plugin object on the viewer
side when it's ... finished thus.

Also added a large comment that gives an overview of all classes
involved on the viewer side.

Additional fixes for filepicker.

Plugin refactor bug fix: mDeleteMe was uninitialized in AIPluginFilePicker.
2011-05-08 17:30:43 +02:00
Aleric Inglewood
e89d6d9d66 Split plugin classes and derive AIFilePicker from BasicPluginBase (part 1).
This commit contains all changes, except those in indra/media_plugins
(which was renamed to indra/plugins) and indra/llplugin.

However, it does contain the (new) file
indra/plugins/filepicker/basic_plugin_filepicker.cpp
2011-05-08 17:10:38 +02:00
Aleric Inglewood
ab5915c16c LindenUserDir fixes.
Patch from 2010-10-20/22. Didn't apply cleanly so I redid it
manually and tested/checked it. There was only one difference
with imprudence: for some reason Singularity tries to see
if the "teleport history" floater is visible while initializing
the menu's, something that imprudence doesn't do. For the rest
the patch is basically the same. Nevertheless, I left all code
exactly as it was in Singularity (the only thing that this
commit changes is the intend of the original patch: in debug
mode, fail with an assertion when LindenUserDir is called while
it is not initialized; and then fix everything to make it work
again.

Original commit message:

The LindenUserDir (~/.imprudence/first_last/) cannot be initialized
before the user logged in. However, several singletons (that only can be
initialized once) depend on this directory for initialization. Therefore
we have to take care not to instantiate those singletons until after the
user logged in.

With regard to webit, this fixes the browser_profile (cache and cookies)
directory that the builtin browser uses.
2011-05-04 17:54:57 +02:00
Shyotl
ac12349a8a Merge branch 'V2Renderer' into V2TextureSystem
Conflicts:
	indra/newview/llviewercontrol.cpp
2011-04-23 19:33:20 -05:00
Shyotl
f7a5394904 Super-sampling only to be done when taking a snapshot to disk in high-res mode. Clamping to 3x.
Removed 'SHHighResSnapshotForceTile' setting, as tiling is now the only way snapshots can be done.
2011-04-23 17:51:29 -05:00
Shyotl
c694d12c93 Bringing in-line with V2. mbstowcs->MultiByteToWideChar, ancient comment removal, fullscreen behavior check... 2011-04-23 01:01:55 -05:00
Shyotl
98c2b7e11f Sorted out high-res snapshot issues.
LL has since removed high-res snapshots using render targets. I find this change to be favorable, as rendertargets were very finicky to get working with anti-aliasing. Also, deferred rendering uses many rendertargets that depend on screen resolution. Changing resolution every screenshot is.. not very awesome.

There is some deviation from LL's viewer. I've kept the old tiled glow pass enabled for non-deferred, as it fixes issues with tile edges truncating glow propogation. However, this does no work with deferred yet. I need to pin down why. I assume using binding one of the RenderTargets is required for deferred.

Additionally, the usage of a RenderTarget for snapshots is what prevented me from fully enabling my supersampling settings. Now that that hurdle is gone, I consider including this new setting by default to be safe enough.

And a note: Do not remove the 'tiling' variable when merging with v2 changes, as singu's glow pass is 'special'. There are other fixes absent from LL's viewer that require knowing if the render is tiled or not. (water reflections/cloud freezing)
2011-04-21 23:36:41 -05:00
Shyotl
e756140e1d Innitial commit of experimental v2 texture system port work. Compiles and runs on windows, at least. Fixing bugs as they come.
Need to test:
localassetbrowser
preview related floaters
hgfloatertexteditor
maps
media textures! Currently very hacky
web browser
alpha masks on avatars
bumpmaps
Are all sky components appearing?
LLViewerDynamicTexture (texture baking, browser, animated textures, anim previews, etc)
Snapshot related features
Customize avatar
vfs floater
UI textures in general
Texture priority issues
2011-03-31 03:22:01 -05:00
siana
15c01ed310 Merge remote branch 'shyotl/V2Renderer'
Conflicts:
	indra/cmake/00-Common.cmake
2011-03-20 04:55:56 +01:00
Siana Gearz
7b98e5f2f1 OpenSim crash fixes, thx to Henri and Zauber 2011-03-15 15:26:48 +01:00
Shyotl
1b039a1be6 Deferred has sky and water textures now. Underwater is still borked.
Deferred fastalpha behaves a bit better.
Pulled over patch for https://jira.secondlife.com/browse/STORM-336 and https://jira.secondlife.com/browse/STORM-1011 from linden repo
Sky rendered using new LL method. Assuming this fixes issues on AMD cards(works on cat 11.2)
Added a few things missed related to spatial-parition updating.
Added 'SkipReflectOcclusionUpdates' setting that prevents occlusion updates for reflection pass. Less taxing on CPU.
2011-03-10 23:06:46 -06:00
Shyotl
996aaf6345 V2 spatial partition, and all the pipeline changes that go with it.
Note: Deferred mode is not finished, and thus broken. Don't use!
2011-03-10 23:05:04 -06:00
Shyotl
7deee9336c V2 llmath merge 2011-02-22 21:44:04 -06:00
Shyotl
08ff53b257 Clean state in prep for v2 selective merging. 2011-02-19 02:29:57 -06:00
Shyotl
835bc1775c Disabling bulk glReadPixels due to unpredictable behavior between drivers and internal image formats.
Commented out document recent changes. Will remove later.
2011-02-19 02:27:39 -06:00
Shyotl
456bec3e83 Fixed snapshot floater failing to render overlay texture when full-screen preview is enabled
Enabled bulk glReadPixels for snapshots if target-resolution matches render-resolution
Snapshot thumbnail generated from downscaled render image, instead of requring an extra pass.
2011-02-16 18:19:22 -06:00