From e11d22a6b751c750c40226cb027e7805adb7d4e4 Mon Sep 17 00:00:00 2001 From: Ton Roosendaal Date: Tue, 22 Jan 2013 11:18:41 +0000 Subject: Matcap support in 3D Viewport. Full log is here: http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.66/Usability#Matcap_in_3D_viewport Implementation notes: - Matcaps are an extension of Solid draw mode, and don't show in other drawmodes. (It's mostly intended to aid modeling/sculpt) - By design, Matcaps are a UI feature, and only stored locally for the UI itself, and won't affect rendering or materials. - Currently a set of 16 (GPL licensed) Matcaps have been compiled into Blender. It doesn't take memory or cpu time, until you use it. - Brush Icons and Matcaps use same code now, and only get generated/allocated on actually using it (instead of on startup). - The current set might get new or different images still, based on user feedback. - Matcap images are 512x512 pixels, so each image takes 1 Mb memory. Unused matcaps get freed immediately. The Matcap icon previews (128x128 pixels) stay in memory. - Loading own matcap image files will be added later. That needs design and code work to get it stable and memory-friendly. - The GLSL code uses the ID PreviewImage for matcaps. I tested it using the existing Material previews, which has its limits... especially for textured previews the normal-mapped matcap won't look good. --- source/blender/editors/datafiles/CMakeLists.txt | 19 +++++++++++++++++++ source/blender/editors/datafiles/SConscript | 18 ++++++++++++++++++ 2 files changed, 37 insertions(+) (limited to 'source/blender/editors/datafiles') diff --git a/source/blender/editors/datafiles/CMakeLists.txt b/source/blender/editors/datafiles/CMakeLists.txt index 6d6b7ecdd82..e9b33a6c2a6 100644 --- a/source/blender/editors/datafiles/CMakeLists.txt +++ b/source/blender/editors/datafiles/CMakeLists.txt @@ -81,6 +81,25 @@ if(WITH_BLENDER) data_to_c_simple(../../../../release/datafiles/brushicons/thumb.png SRC) data_to_c_simple(../../../../release/datafiles/brushicons/twist.png SRC) data_to_c_simple(../../../../release/datafiles/brushicons/vertexdraw.png SRC) + + # matcap + data_to_c_simple(../../../../release/datafiles/matcaps/mc01.jpg SRC) + data_to_c_simple(../../../../release/datafiles/matcaps/mc02.jpg SRC) + data_to_c_simple(../../../../release/datafiles/matcaps/mc03.jpg SRC) + data_to_c_simple(../../../../release/datafiles/matcaps/mc04.jpg SRC) + data_to_c_simple(../../../../release/datafiles/matcaps/mc05.jpg SRC) + data_to_c_simple(../../../../release/datafiles/matcaps/mc06.jpg SRC) + data_to_c_simple(../../../../release/datafiles/matcaps/mc07.jpg SRC) + data_to_c_simple(../../../../release/datafiles/matcaps/mc08.jpg SRC) + data_to_c_simple(../../../../release/datafiles/matcaps/mc09.jpg SRC) + data_to_c_simple(../../../../release/datafiles/matcaps/mc10.jpg SRC) + data_to_c_simple(../../../../release/datafiles/matcaps/mc11.jpg SRC) + data_to_c_simple(../../../../release/datafiles/matcaps/mc12.jpg SRC) + data_to_c_simple(../../../../release/datafiles/matcaps/mc13.jpg SRC) + data_to_c_simple(../../../../release/datafiles/matcaps/mc14.jpg SRC) + data_to_c_simple(../../../../release/datafiles/matcaps/mc15.jpg SRC) + data_to_c_simple(../../../../release/datafiles/matcaps/mc16.jpg SRC) + endif() data_to_c_simple(../../../../release/datafiles/startup.blend SRC) diff --git a/source/blender/editors/datafiles/SConscript b/source/blender/editors/datafiles/SConscript index cb6fe11dbb2..49888d573a0 100644 --- a/source/blender/editors/datafiles/SConscript +++ b/source/blender/editors/datafiles/SConscript @@ -77,6 +77,24 @@ sources.extend(( os.path.join(env['DATA_SOURCES'], "thumb.png.c"), os.path.join(env['DATA_SOURCES'], "twist.png.c"), os.path.join(env['DATA_SOURCES'], "vertexdraw.png.c"), + + os.path.join(env['DATA_SOURCES'], "mc01.jpg.c"), + os.path.join(env['DATA_SOURCES'], "mc02.jpg.c"), + os.path.join(env['DATA_SOURCES'], "mc03.jpg.c"), + os.path.join(env['DATA_SOURCES'], "mc04.jpg.c"), + os.path.join(env['DATA_SOURCES'], "mc05.jpg.c"), + os.path.join(env['DATA_SOURCES'], "mc06.jpg.c"), + os.path.join(env['DATA_SOURCES'], "mc07.jpg.c"), + os.path.join(env['DATA_SOURCES'], "mc08.jpg.c"), + os.path.join(env['DATA_SOURCES'], "mc09.jpg.c"), + os.path.join(env['DATA_SOURCES'], "mc10.jpg.c"), + os.path.join(env['DATA_SOURCES'], "mc11.jpg.c"), + os.path.join(env['DATA_SOURCES'], "mc12.jpg.c"), + os.path.join(env['DATA_SOURCES'], "mc13.jpg.c"), + os.path.join(env['DATA_SOURCES'], "mc14.jpg.c"), + os.path.join(env['DATA_SOURCES'], "mc15.jpg.c"), + os.path.join(env['DATA_SOURCES'], "mc16.jpg.c"), + )) env.BlenderLib ( 'bf_editor_datafiles', sources, Split(incs), [], libtype=['core', 'player'], priority=[235, 30] ) -- cgit v1.2.3