text:
Claudine Grameris Glosson1
Claudine Grameris Glosson was born in 1829.1 She married Albert Devereaux Holcombe, son of Henry B. Holcombe and Louisiana Antoinette Devereaux.1 Claudine Grameris Glosson died in 1911.1
Child of Claudine Grameris Glosson and Albert Devereaux Holcombe
Albert Devereaux Holcombe II+1 b. 7 Mar 1861, d. 12 Apr 1922
[S25] Hannah Elizabeth Weir McPherson, Holcombe Genealogy, page 787.1, item D-4-6-9-5-2.
Wesley Elbert Holcombe
b. March 1850, d. 7 March 1916
Wesley Elbert Holcombe was born in March 1850 at NY. He was the son of John Wesley Holcombe and Mary Helen Jacobie. Wesley Elbert Holcombe married Matilda Mary Giles. Wesley Elbert Holcombe died on 7 March 1916 at Salamanca, Cattaraugus Co., NY.
Child of Wesley Elbert Holcombe and Matilda Mary Giles
James W. Holcombe+ b. Nov 1883
Lydia Muse1
Lydia Muse was born on 30 September 1772 at Carthage, Moore Co., NC.1
Child of Lydia Muse
Henry B. Holcombe+ b. c 1800
[S25] Hannah Elizabeth Weir McPherson, Holcombe Genealogy, page 785.1, item D-4-6-9-5.
Ernest A. Holcombe
b. 7 February 1935, d. 28 October 2013
Ernest A. Holcombe was born on 7 February 1935 at Hamden, New Haven Co., CT. He was the son of Ernest A. Holcombe and Alicia Margaret O'Connell. Ernest A. Holcombe died on 28 October 2013 at North Haven, New Haven Co., CT, at age 78.
From the North Haven Citizen, 1 November 2013:
NORTH HAVEN - Ernest "Ernie" A. Holcomb Jr., 78, of North Haven, husband to Irene (Kelsey) Holcomb died at his home with his family at his side, Monday, Oct. 28, 2013 as he wished.
Ernie was born Feb 7, 1935, in Hamden to the late Ernest Sr., and Alicia (O'Connell) Holcomb. Ernie was honorably discharged from the U.S. Navy, after which he returned to North Haven to marry Irene. Ernie enjoyed a long retirement in which he spent most of his time hunting and fishing with his family and friends, his true passion in life.
Ernie is survived by his wife, Irene; their six children, Er-r nest, David, Edward, Mar-r sha, Michael and Doreen; 10 grandchildren; his siblings, Robert, Margaret, Linda; as well as many nieces and nephews also survive Ernie. The North Haven Funeral Home, 36 Washington Ave., were entrusted with the ar-r rangements. In lieu of flowers, donations can be made to Masonicare Home Health & Hospice, c/o The Masonic Charity Foundation of Ct., P.O. Box 70, Wallingford, CT 06492.
Louisiana Antoinette Devereaux1
Louisiana Antoinette Devereaux was born in 1801.1 She married Henry B. Holcombe, son of Lydia Muse, on 17 December 1818 at Augusta, Richmond Co., GA.1 Louisiana Antoinette Devereaux died in 1877.1
Child of Louisiana Antoinette Devereaux and Henry B. Holcombe
Albert Devereaux Holcombe+1 b. c 1827
Beatrice Petts Pearce
b. 9 October 1935, d. 25 April 2017
Beatrice Petts Pearce was born on 9 October 1935 at Unionville, Hartford Co., CT.1 She married Truman Ernest Alderman Jr., son of Truman Ernest Alderman Sr. and Marie Catherine Stalk, in 1954. Beatrice Petts Pearce died on 25 April 2017 at age 81.1 She was buried on 29 April 2017 at Center Cemetery, Burlington, Hartford Co., CT.1
From the Hartford Courant, 27 April 2017:
As a gentle morning rain fell, coaxing nature once more to display its Spring blossoms, Beatrice Pearce Alderman-beloved wife and mother-passed peacefully from this world on Tuesday, April 25, 2017.
Born in Unionville on October 9, 1935, Bea was the daughter of Albert Thomas Pearce and Beatrice Petts Pearce, emigrants from England to Connecticut in the 1920s. The youngest daughter of the six Pearce children, Bea spent her youth in the warm embrace of her large family as it weathered the challenges of the Great Depression and World War II.
Upon graduation from Farmington High School Bea applied her business skills to a career in banking. Leaving the working world for a time to raise her family, she was later employed for many years as bookkeeper for W.H. Barton Company, retiring in 2012.
Bea was a woman of amazing and boundless energy. She had a kind soul, a big heart and a generous nature. She enjoyed gardening, day tripping through New England and a good tag sale. True to her British roots she loved nothing better than a good cup of tea at the end of the day.
For over 55 years she was a member of the Congregational Church of Burlington where she served in many positions including Deacon, Assistant Treasurer and Sunday School teacher. She was also a former President of the Ladies Aid Society. Her last service was as a volunteer at the Church's Soup Kitchen ministry at Zion Lutheran Church in Bristol.
She was a quilter for the award-winning Farmington Bicentennial Quilt which is permanently displayed at the Farmington Library. She also volunteered at the Unionville Museum for many years.
Bea is survived by her husband of 62 years, Truman E. Alderman; her two sons, Rev. Dr. Keith C. Alderman and his wife Penny of Westminster, MA; and Clifford T. Alderman of Unionville; a brother and sister-in-law Tom and Marilyn Pearce of Conklin, Michigan, and many nieces and nephews. She also leaves behind her faithful Airedale pal, Rosie. She was predeceased by her sisters Edith and Marie and brothers Albert and Charles.
Friends may call at The Ahern Funeral Home, 111 Main St., Rt. 4, Unionville on Saturday (Apr. 29) from 10:00-11:00am followed by a Celebration of Bea's life at 11:00am in The Ahern Funeral Home. Burial will be in Center Cemetery, Burlington. In lieu of flowers, memorial contributions in Bea's memory may be made to The Unionville Museum, 15 School Street, Unionville, CT 06085. To send online condolences to the family, please visit www.ahernfuneralhome.com.
Child of Beatrice Petts Pearce and Truman Ernest Alderman Jr.
Clifford Thomas Alderman b. 8 Apr 1961, d. 17 Mar 2019
[S807] Find A Grave, online http://www.findagrave.com, Find A Grave, database and images (https://www.findagrave.com : accessed 15 July 2019), memorial page for Beatrice "Bea" Pearce Alderman (9 Oct 1935–25 Apr 2017), Find A Grave Memorial no. 178934967, citing Burlington Center Cemetery, Burlington, Hartford County, Connecticut, USA ; Maintained by Anonymous (contributor 49023542) .
Hugh C. Graham1
b. 6 January 1919, d. 6 November 2004
Hugh C. Graham was born on 6 January 1919.1 He married Joan Holcombe, daughter of Morgan E. Holcombe and Helen L Burns.1 Hugh C. Graham died on 6 November 2004 at age 85.1
[S807] Find A Grave, online http://www.findagrave.com, Find A Grave, database and images (https://www.findagrave.com : accessed 28 May 2019), memorial page for Hugh C Graham (6 Jan 1919–6 Nov 2004), Find A Grave Memorial no. 65714902, citing State Veterans Cemetery, Middletown, Middlesex County, Connecticut, USA ; Maintained by Pat and Billy (contributor 47767337) .
Marie Catherine Stalk
b. 12 April 1909, d. 28 March 2005
Marie Catherine Stalk was born on 12 April 1909 at New Britain, Hartford Co., CT. She married Truman Ernest Alderman Sr., son of Clifford Alderman and Caroline Louise Finkezeller. Marie Catherine Stalk married Ellioitt Noble. Marie Catherine Stalk died on 28 March 2005 at Avon Convalescent Center, Avon, Hartford Co., CT, at age 95.
From teh Hartford Courant, 30 March 2005:
Marie Catherine Noble, 95, of Unionville, died peacefully Monday evening (March 28, 2005) at the Avon Convalescent Center. Born in New Britain on April 12, 1909, she was the daughter of the late Joseph and Maria (Zurothe) Stalk.
She was a graduate of New Britain High School in 1926 and graduated with a teaching degree from New Britain Normal School (now Central Connecticut State University) in 1929. Following graduation from the New Britain Normal School, she taught school at Burlington's Fourth District School, also known as the Alderman School, one of the last one room schoolhouses in town. She later worked for the Connecticut Department of Labor, and during World War II was employed at New Departure in Bristol and remained there until her retirement in 1970. A highlight of her work there occurred during World War II when she was invited to visit NBC Studios in New York City to be interviewed by noted radio personality Lowell Thomas and discussed the war work of New Departure as well as her family's contributions to the war effort. After retiring from New Departure, Marie worked for many years in the administrative offices of Miss Porter's School. Never one to be idle, Marie was as active in retirement as in her working years. She taught knitting classes through Farmington Continuing Education. She was a quilter for the award-winning Farmington Bicentennial Quilt. She also served as a volunteer for the UCONN Health Center, and was honored for serving over 2000 volunteer hours. She was a former docent at Hill Stead Museum and her last volunteer position was as a docent at the Unionville Museum. Marie was Worthy Matron of Adah Chapter No. 30, Order of Eastern Star in Unionville in 1939, and was its oldest member in point of years, having joined the order in 1933. She was a 50 year member of the First Congregational Church in Bristol and was a past president of its Women's Guild. She also served as secretary of the Central Connecticut Alumni Association for many years. In addition to her civic and volunteer work, she was noted for her many artistic abilities. She also loved working in her beautiful gardens at her Main Street home. She was a loving and giving person. She was blessed with a gentle warmth, a cheerful smile, and most of all a loving nature. She will live in the hearts of all who knew and loved her.
She is survived by her son and daughter-in-law, Truman and Beatrice Alderman of Unionville; two grandsons, Rev. Dr. Keith C. Alderman and his wife Penny of Westminster, MA and Clifford T. Alderman of Unionville; as well as many nieces and nephews. She was predeceased by her former husbands, Truman E. Alderman Sr. and Elliot Noble, and by her brothers, Theodore, Joseph, John, Michael, and Paul.
A memorial service will be held Saturday, Apr. 2 at 11 a.m. in the Chapel of the First Congregational Church, 31 Maple St., Bristol with the Rev. Earl W. Keirstead and the Rev. Dr. Keith C. Alderman officiating. There will be no calling hours. In lieu of flowers, memorial contributions may be made to the Book of Remembrance, First Congregational Church, 31 Maple St., Bristol, CT 06010. Arrangements are being handled by The Ahern Funeral Homes, Inc.
Child of Marie Catherine Stalk and Truman Ernest Alderman Sr.
Truman Ernest Alderman Jr.+ b. 21 Nov 1930, d. 7 Jul 2019
Morris Riback
Morris Riback married Rebecca Holcombe, daughter of Benjamin Holcombe and Rose Twerdin. Morris Riback died.
Caroline Louise Finkezeller
b. 27 August 1888, d. 9 December 1942
Caroline Louise Finkezeller was born on 27 August 1888 at Baden, Germany.1 She married Clifford Alderman, son of Correll Alderman and Martha (?), circa 1908.2 Caroline Louise Finkezeller died on 9 December 1942 at age 54.1 She was buried at Burlington Center Cemetery, Burlington, Bradford Co., PA.1
ALDERMAN, CAROLINE LOUISE(Finkenzeller) 54, wife of Clifford of Burlington, died 12-9-1942. Mrs. Alderman was born in Baden, Germany 8-27-1888. The family came to Burlington two years later. After her marriage to Clifford, the couple moved to Terryville where they resided for a number of years. They returned to Burlington five years ago. Besides her husband, she leaves a son Truman E. of Bristol, a daughter Mrs. Erma Allyn of Terryville, a sister Mrs. Wilhelmina Packer of Plymouth; three brothers, Joseph Finkenzeller of Terryville, Christopher and William of Waterbury. Burial in Center Cemetery Burlington, CT.
Child of Caroline Louise Finkezeller and Clifford Alderman
Truman Ernest Alderman Sr.+ b. 10 Sep 1910
[S807] Find A Grave, online http://www.findagrave.com, Find A Grave, database and images (https://www.findagrave.com : accessed 14 July 2019), memorial page for Caroline Louise Finkenzeller Alderman (27 Aug 1888–9 Dec 1942), Find A Grave Memorial no. 104659358, citing Burlington Center Cemetery, Burlington, Hartford County, Connecticut, USA ; Maintained by Kristen Lee (contributor 48040118) .
Maxwell Edward Holcombe1
b. 6 March 1918, d. 24 November 2006
Maxwell Edward Holcombe was born on 6 March 1918 at Westfield, Hampden Co., MA.1 He was the son of Leon Edward Holcombe and Evelyn Maude Ellis.1 Maxwell Edward Holcombe married Virginia Belknap. Maxwell Edward Holcombe died on 24 November 2006 at Vero Beach, Indian River Co., FL, at age 88.1 He was buried at New Southwick Cemetery, Southwick, Hampden Co., MA.2
[S807] Find A Grave, online http://www.findagrave.com, Find A Grave, database and images (https://www.findagrave.com : accessed 29 May 2019), memorial page for Max E. Holcomb (6 Mar 1918–24 Nov 2006), Find A Grave Memorial no. 34588705, citing New Southwick Cemetery, Southwick, Hampden County, Massachusetts, USA ; Maintained by Phil Cloutier (contributor 47091571) .
[S807] Find A Grave, online http://www.findagrave.com, Find A Grave, database and images (https://www.findagrave.com : accessed 04 June 2019), memorial page for Max E. Holcomb (6 Mar 1918–24 Nov 2006), Find A Grave Memorial no. 34588705, citing New Southwick Cemetery, Southwick, Hampden County, Massachusetts, USA ; Maintained by Phil Cloutier (contributor 47091571) .
Martha (?)1
Martha (?) was born in 1840.1 She married Correll Alderman, son of John Alderman and Esther Dorman.1 Martha (?) died in 1920.1 She was buried at Burlington Center Cemetery, Burlington, Bradford Co., PA.1
Child of Martha (?) and Correll Alderman
Clifford Alderman+1 b. 30 Jun 1873, d. 3 May 1954
[S807] Find A Grave, online http://www.findagrave.com, Find A Grave, database and images (https://www.findagrave.com : accessed 14 July 2019), memorial page for Martha Cunningham Alderman (1840–1920), Find A Grave Memorial no. 44801492, citing Burlington Center Cemetery, Burlington, Hartford County, Connecticut, USA ; Maintained by C Greer (contributor 47180683) .
Harold R. Holcombe1
Harold R. Holcombe was born on 24 April 1898 at New Britain, Hartford Co., CT.1 He was the son of George Franklin Holcombe and Sarah Eliza Jones.1 Harold R. Holcombe married Rose A. Miller. Harold R. Holcombe died on 24 March 1972 at Plainville, Hartford Co., CT, at age 73.1 He was buried at Rose Hill Memorial Park, Rocky Hill, Hartford Co., CT.1
Child of Harold R. Holcombe and Rose A. Miller
Lorraine Elizabeth Holcombe b. 1927, d. 21 Dec 2004
[S807] Find A Grave, online http://www.findagrave.com, Find A Grave, database and images (https://www.findagrave.com : accessed 30 May 2019), memorial page for Harold R. Holcomb (1898–1972), Find A Grave Memorial no. 159691222, citing Rose Hill Memorial Park, Rocky Hill, Hartford County, Connecticut, USA ; Maintained by Sue (contributor 47067682) .
Esther Dorman1
b. 1785, d. 5 May 1860
Esther Dorman was born in 1785.1 She married John Alderman, son of Eli Alderman and Eunice Laird.1 Esther Dorman died on 5 May 1860.1 She was buried at Case Cemetery, Burlington, Hartford Co., CT.1
Child of Esther Dorman and John Alderman
Correll Alderman+1 b. c 1813, d. 27 Oct 1895
[S807] Find A Grave, online http://www.findagrave.com, Find A Grave, database and images (https://www.findagrave.com : accessed 14 July 2019), memorial page for Esther Dorman Alderman (1785–5 May 1860), Find A Grave Memorial no. 83024805, citing Case Cemetery, Burlington, Hartford County, Connecticut, USA ; Maintained by Scrib & Barb Kelly (contributor 46884407) .
George Aldor Allen
b. 8 May 1924, d. 3 October 1975
George Aldor Allen was born on 8 May 1924. He married Lorraine Elizabeth Holcombe, daughter of Harold R. Holcombe and Rose A. Miller. George Aldor Allen died on 3 October 1975 at age 51. He was buried at Fairview Cemetery, New Britain, Hartford Co., CT.1
[S807] Find A Grave, online http://www.findagrave.com, Find A Grave, database and images (https://www.findagrave.com : accessed 30 May 2019), memorial page for George Aldor Allen (8 May 1924–3 Oct 1975), Find A Grave Memorial no. 68044779, citing Fairview Cemetery, New Britain, Hartford County, Connecticut, USA ; Maintained by C Greer (contributor 47180683) .
Eunice Laird
Eunice Laird was born in 1762.1 She married Eli Alderman, son of Thomas Alderman and Hannah Davis, in 1781.2 Eunice Laird died on 25 November 1848.1 She was buried at Case Cemetery, Burlington, Hartford Co., CT.3
Child of Eunice Laird and Eli Alderman
John Alderman+1 b. 5 Feb 1785, d. 5 May 1860
[S359] William Alderman Parker, Alderman, page 522.
[S807] Find A Grave, online http://www.findagrave.com, Find A Grave, database and images (https://www.findagrave.com : accessed 14 July 2019), memorial page for Eunice Alderman (unknown–25 Nov 1848), Find A Grave Memorial no. 83024924, citing Case Cemetery, Burlington, Hartford County, Connecticut, USA ; Maintained by Linda Mac (contributor 47062703) .
Hannah Davis was born in 1730 at Hartford, Hartford Co., CT. She married Thomas Alderman, son of William Alderman and Rebecca Osborn, circa 1758.1 Hannah Davis died in 1814.
Child of Hannah Davis and Thomas Alderman
Eli Alderman+ b. 13 Aug 1759, d. 20 Dec 1814
Miranda Henderson
b. 2 April 1820, d. 13 March 1894
Miranda Henderson was born on 2 April 1820 at NY.1 She married Asa Fitch Holcombe, son of Charles Holcombe and Sarah L. Smith, in 1841 at Johnsburg, Warren Co., NY. Miranda Henderson died on 13 March 1894 at Burlington Flats, Ostego Co., NY, at age 73.1 She was buried at Burlington Flats Cemetery, Burlington Flats, Ostego Co., NY.1
Child of Miranda Henderson and Asa Fitch Holcombe
William Fitch Holcombe2 b. 31 Jul 1852, d. 1927
[S807] Find A Grave, online http://www.findagrave.com, Find A Grave, database and images (https://www.findagrave.com : accessed 19 July 2019), memorial page for Miranda Henderson Holcomb (2 Apr 1820–3 Mar 1894), Find A Grave Memorial no. 40372334, citing Burlington Flats Cemetery, Burlington Flats, Otsego County, New York, USA ; Maintained by Donald Martell (contributor 47077703) .
[S807] Find A Grave, online http://www.findagrave.com, Find A Grave, database and images (https://www.findagrave.com : accessed 19 July 2019), memorial page for William Fitch Holcomb (31 Jul 1852–1927), Find A Grave Memorial no. 69605097, citing Burlington Flats Cemetery, Burlington Flats, Otsego County, New York, USA ; Maintained by Donald Martell (contributor 47077703) .
Martha Abbott
b. 1855, d. 9 December 1910
Martha Abbott was born in 1855. She married Orborn Richards, son of Orborn Richards and Violetta Holcombe. Martha Abbott died on 9 December 1910 at Olean, Cattaraugus Co., NY.
Horace Hale Holcombe
Horace Hale Holcombe was born in 1864 at Platteville, Grant Co., WI.1 He was the son of Judson Horace Holcombe and Martha Ellen Whitcher. Horace Hale Holcombe married Mary L. Bragg on 1 February 1888 at Waverly, Lancaster Co., NE. Horace Hale Holcombe died at Downers Grove, DuPage Co., IL.
Child of Horace Hale Holcombe and Mary L. Bragg
Horace Hale Holcombe Jr.+ b. 30 Nov 1903, d. 1961
Margaret Ann Becker
Margaret Ann Becker was born on 11 January 1938 at Emporia, Lyon Co., KS. She was the daughter of Francis Xavier Becker and Hattie F. Ernstnathe. Margaret Ann Becker married Frederick Stephen Jehle, son of Joseph Robert Jehle and Katherine Eva McDonald, on 21 May 1960 at Sacred Heart Catholic Church, Emporia, Lyon Co., KS.
Horace Hale Holcombe Jr.
b. 30 November 1903, d. 1961
Horace Hale Holcombe Jr. was born on 30 November 1903 at IL. He was the son of Horace Hale Holcombe and Mary L. Bragg. Horace Hale Holcombe Jr. married Catherine V. Cairns on 20 October 1928 at Hinsdale, DuPage Co., IL. Horace Hale Holcombe Jr. died in 1961 at IL.
Child of Horace Hale Holcombe Jr. and Catherine V. Cairns
Horace Hale Holcombe III b. 8 Dec 1930, d. 29 Jan 2012
Horace Hale Holcombe III
b. 8 December 1930, d. 29 January 2012
Horace Hale Holcombe III was born on 8 December 1930 at Hinsdale, DuPage Co., IL. He was the son of Horace Hale Holcombe Jr. and Catherine V. Cairns. Horace Hale Holcombe III died on 29 January 2012 at Scottsdale, Maricopa Co., AZ, at age 81.
From the Greenwich Time, 1 February 2012:
HORACE HALE HOLCOMB III, 81, passed away surrounded by his family on January 29, 2012 in Scottsdale, AZ. He was born on December 8, 1930 in Hinsdale, IL, the son of Catherine Cairns and Horace Holcomb Jr. "Hokie", attended Asheville School for Boys in Asheville, NC which held a special place in his heart. He graduated from Yale University in 1953 and earned his MBA from Northwestern University. Horace married Betty Sue Davis in 1956 and was devoted to her for 56 years. He loved, inspired and supported his three children, Catie (David) Costello of Sudbury, MA, Abbie (Thomas) Deneen of Western Springs, IL, and Tom (Tracie) of Boulder, CO. His career in insurance began working for his father at H.H. Holcomb Jr. Insurance Agency in Chicago. Acquired by Alexander & Alexander, Inc (A&A), he managed their Chicago office and the Midwest Region, and in 1982, moved to New York to serve as Director of Impact, mediating solutions between insurance companies and clients. Highly respected within the industry, he made many of his lifelong friends at A&A and in the insurance community. His duty, honor and patriotism were inspired by his family's role in America's history; his ancestors fought against each other in the Revolutionary War and his great-grandfather, who he knew as a boy, fought to save the Union in the Civil War. During his life, Horace planted roots in Hinsdale/Oak Brook, IL, Greenwich, CT, Sunapee, NH, and Scottsdale, AZ where he enjoyed happiness with his friends and family. In addition to his wife, he is survived by his brother, John C. Holcomb of Middleton, WI, his three children, and nine grandchildren. A 10:30 a.m. Memorial Service will be held Thursday, February 2nd at Pinnacle Presbyterian Church, 25150 North Pima Road in Scottsdale. To honor his memory donations may be made to the Lake Sunapee Protective Association P.O Box 683 Sunapee, NH 03782 (www.LakeSunapee.org/join/donate.html).
Helen Tracy Porter
b. 15 June 1876, d. 26 April 1963
Prime Minister Boris Johnson and James Holcombe
Helen Tracy Porter was born on 15 June 1876. She was the daughter of Henry Clinton Porter Jr. and Clara Holcombe. Helen Tracy Porter married Elias Avery Loew in 1911. Her married name was Helen Tracy Lowe-Porter. Helen Tracy Porter died on 26 April 1963 at age 86.
Child of Helen Tracy Porter and Elias Avery Loew
Frances Beatrice Lowe+
Frances Beatrice Lowe
Frances Beatrice Lowe was the daughter of Elias Avery Loew and Helen Tracy Porter. Frances Beatrice Lowe married Sir James Edmund Sandford Fawcett in 1937 at St. Pancras. Frances Beatrice Lowe died.
Child of Frances Beatrice Lowe and Sir James Edmund Sandford Fawcett
Charlotte Maria Offlow Fawcett+ b. May 1942
Charlotte Maria Offlow Fawcett
b. May 1942
Charlotte Maria Offlow Fawcett was born in May 1942. She was the daughter of Sir James Edmund Sandford Fawcett and Frances Beatrice Lowe. Charlotte Maria Offlow Fawcett married Stanley Johnson in 1963 at London, England. Charlotte Maria Offlow Fawcett and Stanley Johnson were divorced in 1979.
Child of Charlotte Maria Offlow Fawcett and Stanley Johnson
Prime Minister Alexander Boris de Pfeffel Johnson b. 19 Jun 1964
Sarah Selden1
b. 15 November 1735, d. 16 May 1811
President Ford and James Holcombe
President Ford and President Hoover
Sarah Selden was born on 15 November 1735 at Lyme, New London Co., CT.1 She married David Jewett, son of Nathan Jewett and Deborah Lord, on 3 November 1757 at East Haddam, Middlesex Co., CT.2 Sarah Selden died on 16 May 1811 at East Haddam, Middlesex Co., CT, at age 75.1
Child of Sarah Selden and David Jewett
Betsey Jewett+1 b. 28 Feb 1771, d. 8 Mar 1860
[S676] Gary Boyd Roberts, Presidents 2009 Edition, page 162, item 247.
Elwyn J. Noble
Elwyn J. Noble was the son of Elwyn John Noble and Norma Margareg Sponagle.
Deborah Lord1
b. circa 1698, d. 1777
Deborah Lord was born circa 1698.1 She was the daughter of Lt. Richard Lord and Elizabeth Hyde. Deborah Lord married Nathan Jewett in 1729.1 Deborah Lord died in 1777.1
Child of Deborah Lord and Nathan Jewett
David Jewett+1 b. 27 Oct 1736, d. c 1780
Mary Almira Rice
b. 14 June 1829, d. 16 October 1870
Mary Almira Rice was baptized on 14 June 1829 at First Congregational Church, Granby, Hartford Co., CT. She was the daughter of John Rice and Almira Holcombe. Mary Almira Rice married Chelsea L. Clark. Mary Almira Rice died on 16 October 1870 at age 41. She was buried at Granby Center Cemetery, Granby, Hartford Co., CT.1
Children of Mary Almira Rice and Chelsea L. Clark
Ella Adelaide Clark b. c 1850
Frank Arthur Clark b. c 1853, d. 17 Sep 1853
[S888] Find A Grave Memorial; memorial page for Mary Almira Rice Clark (1829-16 Oct 1870). Memorial no. 64209918, database and images: https://www.findagrave.com/memorial/64209918, accessed 02 August 2019, citing Granby Cemetery, Granby, Hartford County, Connecticut, USA; Maintained by: M Cooley (contributor 47154454).
Leon Ellis Holcombe
b. 22 November 1919, d. 8 July 1992
Leon Ellis Holcombe was born on 22 November 1919 at Watertown, Middlesex Co., MA. He was the son of Leon Edward Holcombe and Evelyn Maude Ellis. Leon Ellis Holcombe married Carmella Louise Deveno on 8 May 1949 at Berlin, Renssalaer Co., NY.1 Leon Ellis Holcombe died on 8 July 1992 at Westfield, Hampden Co., MA, at age 72. He was buried at New Southwick Cemetery, Southwick, Hampden Co., MA.2
[S336] Ancestry.com, New York State Department of Health; Albany, NY, USA; New York State Marriage Index. New York State, Marriage Index, 1881-1967 [database on-line]. Lehi, UT, USA: Ancestry.com Operations, Inc., 2017.
[S888] Find A Grave Memorial; memorial page for Leon Ellis Holcomb (29 Mar 1917–7 Jun 2000). Memorial no. 34588165, database and images: https://www.findagrave.com/memorial/34588165, accessed 2 June 2019, citing New Southwick Cemetery, Southwick, Hampden County, Massachusetts, USA; Maintained by: Phyllis Gonska Bombard (contributor 46899061).
Ella Adelaide Clark
Ella Adelaide Clark was born circa 1850. She was the daughter of Chelsea L. Clark and Mary Almira Rice. Ella Adelaide Clark married William L. Griffin.
Edward Grove
Edward Grove married Gloria D. Grove. Edward Grove died in 1960.
Jeffrey Scott Holcombe1
b. 20 August 1968, d. 26 April 2013
Jeffrey Scott Holcombe was born on 20 August 1968 at Rutland, Rutland Co., VT.1 He was the son of Stanley Arthur Holcombe and Sandra Mason.1 Jeffrey Scott Holcombe died on 26 April 2013 at Granville, Washington Co., NY, at age 44.1 He was buried on 30 April 2013 at Wells Town Cemetery, Wells, Rutland Co., VT.1
From the Rutland Herald, 28 Apr 2013:
Jeffrey Scott Holcomb, 44, died Friday, April 26, 2013, at Indian River Nursing and Rehabilitation Center following a long illness.
He was born Aug. 20, 1968, in Rutland, the son of Stanley and Sandra (Mason) Holcomb.
He grew up in Pawlet. He was a 1986 graduate of Granville Central School. On Sept. 15, 1990, he married Susan Hoyt.
They moved to Wells. Mr. Holcomb loved playing baseball and softball. He was an avid outdoorsman and hunter. He worked with his dad in the family construction business, S. Holcomb Building and Remodeling.
He loved music, especially AC/DC. He was a member of the Wells Church and the Modern Woodmen of America.
Survivors include his mother; his maternal grandmother Norma Mason; his wife of 23 years; his daughter, Amber Lynn Holcomb; his sister, Theresa Holcomb; nieces and nephews.
He was predeceased by his father.
A funeral service will be held Tuesday, April 30, at 11 a.m. at the Robert M. King Funeral Home, 23 Church St., Granville, N.Y., with the Rev. David Adams presiding. Burial will follow in the Wells Cemetery.
Friends may call at the funeral home Monday, April 29, from 6 to 9 p.m.
Memorial contributions may be made to the Granville Rescue Squad, PO Box 153, Granville, NY or the Fair Haven Rescue Squad, 17 Prospect St., Fair Haven, VT 05743.
[S807] Find A Grave, online http://www.findagrave.com, Find A Grave, database and images (https://www.findagrave.com : accessed 08 June 2019), memorial page for Jeffrey Scott Holcomb (20 Aug 1968–26 Apr 2013), Find A Grave Memorial no. 109650130, citing Wells Town Cemetery, Wells, Rutland County, Vermont, USA ; Maintained by Carol Bestick (contributor 46991759) .
Richard Arnold Holcombe
b. 18 May 1939, d. 1 February 2012
Richard Arnold Holcombe was born on 18 May 1939 at Wells, Rutland Co., VT. He was the son of Richard Sanford Holcombe and Leeta Corey. Richard Arnold Holcombe died on 1 February 2012 at Wells, Rutland Co., VT, at age 72. He was buried on 7 February 2012 at Wells Town Cemetery, Wells, Rutland Co., VT.1
From the Post-Star, 3 Feb 2012:
Richard Arnold Holcomb, 72, passed away at his residence on Feb. 1, 2012, following a short illness.
Richard was born May 18, 1939 in Wells, Vt., the son of Richard and Leeta (Corey) Holcomb.
Richard was self-employed as a building contractor for more than 40 years. He was a valued member of the Wells community. He served for 22 years on the Wells school board, was a member of the Modern Woodmen of America, and served five years on the Wells Planning Commission.
He loved to talk politics. Richard was an avid hunter and outdoorsman. He was proficient with a bow, rifle and muzzel loader. He was a lifetime member of the NRA and he was a member of the Home Builders Association of Central Vermont. In addition to construction, he also enjoyed woodworking. He was a Little League coach and he also managed a local semi-pro baseball team. He was a fan of car shows. Though Richard had many interests and enjoyments, by far, his most treasured moments were spent with his family and grandchildren in particular.
Richard was predeceased by a sister, Grace Hurley.
He is survived by his wife of 46 years, Karen (Anderson) Holcomb. He is also survived by his son, Richard and his wife, Tammy, of Wells; and his daughters, Lisa Streiber and her husband, Kurt, of Granville, N.Y., Laurie Scholz and her husband, Robert, of Groveland, Mass., Julie Beecher and her husband, Matthew, of Granville, and Andrea Rathbun and her husband, Chris, of Granville. He also leaves behind his brother, Stanley and his wife, Sandra, of Wells; and his mother-in-law, Hazel Anderson. Surviving Richard are his beloved grandchildren, Matthew and Brianna Beecher, Katherine and Jessica Scholz, Richard "RJ" and Marissa Holcomb, Christopher and Andrew Rathbun, and Karley and Kristian Streiber; and many cousins, nieces and nephews.
A funeral service will be held Tuesday, Feb. 7, 2012, at 11 a.m., at the Robert M. King Funeral Home, 23 Church St., Granville, N.Y., with the Rev. Alexander Stringer officiating. Burial will be in the Wells Cemetery in Wells, Vt. Friends may call from 6 to 9 p.m. on Monday, Feb. 6, 2012.
Memorial contributions may be made in his memory to Rutland Area Visiting Nurses Association & Hospice, P.O. Box 787, Rutland, VT 05701, or to the Granville Rescue Squad, P.O. Box 153, Granville, NY 12832.
[S807] Find A Grave, online http://www.findagrave.com, Find A Grave, database and images (https://www.findagrave.com : accessed 9 June 2019), memorial page for Richard Arnold Holcomb (18 May 1939–1 Feb 2012), Find A Grave Memorial no. 84405174, citing Wells Town Cemetery, Wells, Rutland County, Vermont, USA ; Maintained by Carol Bestick (contributor 46991759) .
Harry Clinton Holcombe1
b. 16 July 1810, d. 27 December 1883
Harry Clinton Holcombe was born on 16 July 1810 at Panton, Addison Co., VT.1 He was the son of Abner Green Holcombe and Orpha Chamberlain.1 Harry Clinton Holcombe married Lucy Little. Harry Clinton Holcombe died on 27 December 1883 at VT at age 73.1 He was buried at Kent Cemetery, Panton, Addison Co., VT.1
Child of Harry Clinton Holcombe and Lucy Little
Charles Holcombe+ b. 14 Sep 1849, d. 24 Oct 1925
[S807] Find A Grave, online http://www.findagrave.com, Find A Grave, database and images (https://www.findagrave.com : accessed 9 June 2019), memorial page for Harry Clinton Holcomb (16 Jul 1810–27 Dec 1883), Find A Grave Memorial no. 32035258, citing Kent Cemetery, Panton, Addison County, Vermont, USA ; Maintained by Barb Destromp (contributor 46785064) .
Daughter Holcombe
b. 7 April 1866
Daughter Holcombe was born on 7 April 1866 at East Granby, Hartford Co., CT. She was the daughter of Joel Byron Holcombe and Delia Jane Holcombe.
Probably died before the 1870 census of East Granby when there is no daughter in the household.
Itha Judd Shepard
Itha Judd Shepard was born in 1789. He married Lucy Little. Itha Judd Shepard died in 1846.


The Idean Tampere studio has partnered with local, national, and international clients for over a decade. Tampere is a city with a rich industrial heritage, and we try to reflect its values in our work: complex and mission-critical experiences made simple, approachable, and desirable.
Our studio is in the heart of the city, situated between two gorgeous lakes. We welcome visitors and are easily reachable by foot, bike, car, bus, train, or airplane. Coffee is on us!
We do not have any openings at our Tampere studio right now.


Last week we screened Gasland II, all about how 'Fracking' (hydraulic fracturing) has polluted water and politics in the USA, and it was pretty scary!
But here's the fantastic news, over the weekend, Central Greenough (south of Geraldton) just became the first 'Gasfield Free Community' in WA! Over 96% of the community said no to unconventional gas.
Great work Greenough, we support regional Australians protecting their land and water! Make sure you tell your MP that you support protecting our land and water via Clean Water, Healthy Land.
This entry was posted in Community, Energy, Environment, Movies, Take Action and tagged 7:30 WA, Central Greenough, Clean Water, Frackfree WA, Fracking, Gasfield Free Community WA, Geraldton Guardian, Greenough, Healthy Land, Lock the Gate WA. Bookmark the permalink.
Concludes Considering a 20 yr time horizon the GHG footprint is at least 20% greater and perhaps mor than twice as great as coal expressed per quantity of energy available during combustion. These results were based on samples from randomly chosen wells.
Recently CSIRO samples well designed by the industry in NSW and found that fugitive losses was only 0.21% but this was not a scientific planned monitory. We need the truth before one more well is drilled. How can we when the monitory has been handed of from an environmental agency to the Departments of Minerals and Energy????
Please downlaod the attached and spread the message so the future of our world can be saved.


text:
Springs LoUd Life Crew raises the volume on CO's Hip-Hop
Josh Cowden March 1, 2018
By Josh Cowden
The Colorado hop-hop scene is blossoming with more talent than ever and the spotlight of national attention is beginning to take notice. At the forefront of the local Colorado Springs scene is a growing movement under the name of LoUd Life Crew, an established and independently run label by fellow artist Justin Dejesus, better known as SwizZy B.
Breaking down the name a little further Dejesus said, "LoUd Life Crew is a music collective & record label I established in 2012. The word LoUd actually breaks down to an acronym spelling out 'Living Out Ur Dream.' L.o.U.d and the misspelling of the 'your' in that phrase to UR is why we capitalize the U when we spell out LoUd Life Crew."
As for the origins of Dejesus's music career, he began rapping as a hobby around 8 years ago and has been taking it as serious life career for the last three. Originally from Orlando, Florida, Dejesus began crafting his sound in the competitive Florida atmosphere and recently brought his skills to the local scene of Colorado Springs. Not only did he begin absorbing information on how to become an artist, he also looked into the business side of music. "I've spent thousands of hours within those developing years in creating my LoUd Life brand and group, learning a lot about the business side of the music industry which opened my eyes to the first legitimate steps to make this as a career," said Dejesus.
The core foundation of the label currently consists of seven artists and one DJ. The artists include SwizZy B, Marvylus, Noopey Na'mon, GrandMastaSkunk, King Vergo, dhino., and Mann LaGrand Flight. DJ NOMAD takes care of the DJ'ing duties and Desiree Fourquet takes care of both manger duties as well as photography. The goal of the group is to create a new wave of conscience music and diverse artists that not only the youth but older generations can relate to as well. Combining the powerful lyricism and storytelling of 90's style hip-hop with the raw energy and entertainment value of the newer generation.
Bringing up some of the inspiration and memorable moments from his career so far, Dejesus has quite a bit of memories to draw from. Getting advice from the legend himself, Raekwon from Wu-Tang clan might be the biggest highlight of all however. After opening up for him at the Summit Music Hall in Denver on January 27, 2018, Dejesus and the crew had the opportunity to chop it up with the legend himself and listen in on some great gems of knowledge about the industry. Another highlight from recent experiences was performing for a few out of state show dates with Snow The Product on her Vibe Higher Tour. Dejesus also cites people like Snow Tha Product and Tech N9ne as inspiration behind the reasons of why he wanted to create his own independent label.
Speaking on the groups upcoming plans Dejesus said, "We've been working in overdrive lately. We will be releasing our very first group Album titled 'LoUdNaTion.' We're working with a few booking agents and companies in Denver that are going to help us book more headlining events around Colorado and surrounding states, so a lot more headlining concerts in and outside of the city. Also, each individual artist on the roster will be releasing projects, like my 'OverWorked and Underpaid 2' album, 'Noopey Namon Girl Tape 2,' 'Marvylus A Marvylus Tape,' 'Vergo Warlord' and the list goes on. We will also be releasing a plethora of visuals for these projects all leading into the summer."
Looking forward to the months ahead, the LoUd Life Crew has a headlining show on March 2, 2018 in Colorado Spring at the Black Sheep. It looks to be a huge show for the label as a whole and a great opportunity to showcase Colorado's local hip-hop scene. A must see for anyone interested in learning just what Colorado hip-hop has to offer.
Head to loudlifecrew.com for tour dates, merch and much more on this burgeoning hip hop clique.
NewsColorado
Pueblo restaurants see anger and fewer customers after mask mandate
Skyler Stark-Ragsdale· July 24, 2020
NewsColoradoArts + Culture
PULP Colorado· July 1, 2020
After decades under a KKK, racist shadow, Colorado's Stapleton neighborhood finally renamed
James Bartolo· June 18, 2020
'We are not enemies. We are allies.' Rev. Yevette Christy on Black Lives Matter to Westcliffe, Colorado
PULP Colorado· June 16, 2020

redpajama_set_name: RedPajamaCommonCrawl


text:
White Lady Nonsense
The Myth of the "Women's Vote"
White feminists have long presumed there exists a monolithic "woman voter"—someone who votes for all women's best interests. But 50 percent of women voters tell a different story.
Jessie Daniels May 30, 2022
It is primary season for arguably the most important midterm elections of the American experiment, and white women voters have learned nothing from 2016, and, apparently, neither have the Democrats. There's this mythical belief in this all-encompassing "women's vote"—that all women, simply by virtue of their gender, will vote for the Democratic candidate because it's in their best interest to do so. But over and over again, half of white women voters have pulled the lever for the GOP, if they turn up to the polls at all. The most reliable Democratic voters are Black women. They show up to the polls and they pull the lever for Democrats: 94% Black women voters, for Hillary Clinton in 2016; 90%, for Joe Biden in 2020. But despite the performative pink pussy hats and the white pantsuits, white women have proven to be unreliable voters when it comes to issues widely regarded as "women's issues."
White women helped elect Trump's gubernatorial pick in Virginia, Glenn Youngkin. Nationally, the GOP is gaining with this core demographic. Yet, the punditry class is bewildered, asking "What's wrong with them?"; "Why do they vote against their own interests?"
But maybe it's not them; maybe it's us. That is, those of us who share a dream that women will vote as a bloc.
The longer we pretend there's a mythical "women's vote," the longer we will be dismayed that a majority of white women consistently vote to uphold white power.
To see this clearly, you only need to look at the battle for the governor's office in a handful of states. In Arkansas, Trump acolyte Sarah Huckabee Sanders easily won the Republican primary for governor, and in a recent poll, she's 10 points ahead of her Democratic opponents. In Alabama, an already very conservative Gov. Kay Ivey is facing a primary challenge, so is moving even further to the right. In Arizona, Republican (and Trump-endorsed) candidate Kari Lake is reportedly headed for a landslide victory there. In Wisconsin, Rebecca Kleefish is the GOP frontrunner in that state's gubernatorial race.
That we have these far-right, Trump-endorsed, female GOP gubernatorial candidates is not happenstance. It's part of a coordinated strategy by Right Direction Women, a new organization started by the GOP to help recruit and support Republican women seeking to run for governor in 2022 and beyond. The group is chaired by former New Mexico Gov. Susana Martinez, who was the first Latinx woman governor in U.S. history. Former South Carolina Gov. Nikki Haley offered her support for the group's goal to ""take on the good ole boys' club across the country," although she doesn't have a formal role in the organization. The dubious goal of achieving equality with the men in the Republican Party is a limited view of feminism, and one usually championed by white women. Still, women like Martinez and Haley and the Republican women they want to support for state office serve to remind us that the so-called "women's vote" has never materialized. We who wish it were otherwise persist in this fantasy.
We perpetuate this through our re-telling of the passage of the 19th Amendment, as if it were a children's fairy tale.
Historians have thoroughly documented both the obvious racism of the white women involved in the suffrage movement in the U.S. and in Britain, and the way that U.S.-born Black women like Ida B. Wells-Barnett and Mary Church Terrell were pushed out of the movement that cared little about issues like lynching, which was at the top of Black women's political agenda.
In the decades after the passage of the 19th Amendment, the (mostly) white women who had access to the vote failed to deliver on the kinds of promises made by the suffrage movement. The claim that white women touted that if given the vote, they would "clean up" the public sphere by pushing out corrupt politicians and advocating for social welfare never came to pass. In the 1920s, immediately following the passage of the 19th Amendment, some white women even retreated from the very idea of civic engagement through an embrace of consumerism and "flapper" culture. Several million white women traded suffrage banners for a hood and white robe, fully embracing the overt white supremacy of the second iteration of the Ku Klux Klan.
Yet, popular films whitewash this history. The 2015 film Suffragette, starring Carey Mulligan and a sea of other white actors, was heralded by some as "raw as the real history" and panned by Variety as a "flatly conventional snapshot" of the British movement for suffrage. The merits of the filmmaking aside, the story told is the "conventional" one in which white women are the sole protagonists for the vote, even though South Asian women were active in the suffrage movement in England. Similarly, the 2004 film Iron Jawed Angels was described by the New York Times as "determined women, finding their voice," which one reviewer said felt like "the fight for women's suffrage as a 1912 version of Sex and The City. Like the popular TV show that transforms New York City into a landscape populated (almost) exclusively by white people and centers the concerns of four wealthy, cisgender, excessively groomed white women, our retelling of the fight for suffrage tells a similar white woman-centered story. As one film scholar points out, Iron Jawed Angels unintentionally illustrates the way the suffrage movement was organized around exclusionary practices based on race, gender, class, and citizenship. In other words, the efforts of women of color to be included in voting rights gets excluded first in the actual historical events of the movement, then their exclusion gets erased in the films as white women take center stage to be applauded for their activism. This film gets recommended again and again as a useful vehicle for "teaching history," despite the partial truths it conveys. Retelling history in this way, with the very real white power these women exercised even as they fought for voting equality for themselves, engages in a kind of retrospective labeling that applies a contemporary white feminist lens backward through time. It may bring some of us comfort to tell these stories, but let's not confuse comforting fiction with actual history.
Lest you think these films are simply misguided efforts of the long-ago past (given how short our collective memory is), right now there is another version of this whitewashed story of feminism, SUFFS, at the Public Theater in New York, which advertises its commitment to an "anti-racism and cultural transformation plan," on its website. In this well-intentioned and fantastically deceptive musical, the use of "color-blind casting" means that the central love story between a white suffragist named Doris Stevens and Dudley Malone (performed by a Black woman), the white male attorney and one-time opponent of suffrage who Stevens eventually married, distorts the reality of Black love and survival, which was often sacrificed because of the "threadbare lie" of white women being attacked by Black men, and side-steps the reality that interracial relationships like this were illegal in most states. When white suffragists in the play welcome Ida B. Wells into their fold with open arms and the line, "We're so honored," this staging conveniently erases the very real racism she faced from the white women in the movement. The play has gotten puff pieces by the New York Times (which also reported on Hillary Clinton's visit to the play). Another writer called the play a "reminder that the fight for women's rights is not done." This kind of re-telling is, for some, a comforting fiction. I get it, sort of.
We who are women or femme-identified are desperate for stories where we can cheer on heroines who are kicking the capitalist, white-supremacist, cisgender, heterosexual patriarchy's ass and taking names, but this kind of fantasy in which white women rewrite history and remake ourselves into better versions of our ancestors is not what we need right now. And, it's certainly not the reckoning we said we needed after Central Park Karen and the murders of George Floyd and Breonna Taylor, among the other brutal acts of violence against Black people that had us rising up and marching at the height of the pandemic that summer of 2020.
Today, white women in the U.S. make up 39% of the electorate (a maddeningly difficult statistic to find—really pollsters, political scientists, and other data nerds break those numbers out by gender AND race). As such, we white women are one of the largest categories of voters. But, white women voters are consistently one of the most divided groups. This includes voting on issues that seem like they should be women's issues, like access to abortion. Not so. It's white women who have led the campaign to end access to abortion, a change that will disproportionately affect Black and brown women.
White women's greater numbers mean that when a majority of white women vote Republican (as they have since 1952), they are effectively nullifying the impact Black women's solidarity at the polls.
It's not that white women are voting against their own interests (please, I'm begging you, stop repeating this line). It's that many white women find more solidarity with whiteness and the idea of a white ethnostate than they do with other women who don't share those views. We who do not share those views must let go of the fantasy of a sisterhood of all women. It simply doesn't exist.
As we approach the midterms of 2022, and feckless Democrats dither about how to appeal to white women after Roe, the cancellation of student debt (a move that would improve the lives of many and Black women, especially), or to make meaningful change on immigration, or gun control, the stakes couldn't be higher.
James Baldwin, in his 1992 essay "On 'Being White' and Other Lies," tried to explain to white people what we didn't understand about ourselves: "Because they think they are white, they believe, as even no child believes, in the dream of safety." While we still have a democracy, we cannot continue to believe, as a child believes, in the fairy tale of the women's vote.
White Lady Nonsense Election 2022 Primary season
Jessie Daniels is Professor at the City University of New York (CUNY). She is the author or editor of six books, most recently, NICE WHITE LADIES (2021).
More by Jessie Daniels
Will Ginni Thomas Ever Be Held Accountable?
"Nice White Ladies" Helped Overturn Roe
Can White People Reckon With Their Racist Families?
Previous PostPrevious <The Left Needs Its Own Megaphone
Next PostNext Can the War in Ukraine Reinvigorate America's Fight for Democracy?>


Minutes away from history. At half time of the first ever match of AFL Women's at IKON Park on the night of Friday February 3, AFL photographer Michael Willson caught the Carlton Blues waiting on tenterhooks to hit the field. It is a shot over 100 years in the making and encapsulates that historical significance.
Centre of the picture and looking past our gaze towards the waiting ground is Carlton captain Lauren Arnell. And it's Arnell, more than any other character in this wonderful shot, who embodies the subtext of the night. Arnell is an eight-time Darebin Falcons' premiership player with a superb football brain and ice in her veins. Yet in the split second in which the champion's gaze locks with Willson's lens, there is a clear vulnerability in her eyes. Maybe even fear. What do you feel when a decades-awaited history is within arms' reach, when the dreams, hard work and ambition of so many forebears is falling on your shoulders?
The contrast between typical demeanour and the reaction to this historic moment is not just embodied in the Carlton captain. To Arnell's immediate left is Shae Audley, a pugnacious midfielder renowned for her grit and ratbag yap in equal measure. Not that the casual observer could see that in this shot as her eyes are downcast, her head is bowed in introspective preparation and that mouth is not saying anything any time soon. Furthest on the left is Bella Ayre, Carlton's youngest player. At 17, she has a career in AFL Women's ahead of her beginning on this night. She is caught in a moment of nervous energy, a scream that could be excitement and could be terror. Over the next hour, she will fall on either side of that divide.
The focus is on Arnell, Audley and Ayre because the lighting catches their faces most strikingly. Photographers can work for hours to set up the natural noir mood of this shot, which Willson transcended by opting for a black and white filter which enhances the scene's emotional gravitas. Lit by two everyday fluorescent tubes, the incredible intensity of the shades between shadow and light – the wide eyes, the unchecked emotional rawness and the cinematic shadows à la Frank Hurley's shots of Ernest Shackleton's Antarctic explorers in 1916. Equally important is the tight angle of the race from which the players are emerging. Not only does it increase a feeling of tension but it captures the unity and purpose of the Blues in the face of this brave new world.
At the rear of the shot is Carlton coach Damien Keeping. He is visibly still encouraging his troops but is – metaphorically and literally – out of focus. After four months of preparation, it is all up to his charges. He is surrounded by his trainers, bench staff and assistant coaches, who fill that claustrophobic race up right to the back. There's something poetic there as well. For the 22 players in Michael Willson's shot, there is no going backwards. The only way – metaphorically and literally – is forward.
This is a magnificent picture, and it is intense and tells a million stories. Well done Callum in bringing it to our attention. Well done Michael Wilson. Terrific capturing of moment.
Wow Michael and Callum. A superb image and a tremendous piece of explanatory analysis.
One to order a copy of!
Great stuff. A picture is worth a thousand words – but your words dissecting the emotions conveyed in the photo were really insightful and worth reading. Thanks Callum.


text:
#include "max.h"

#include "vrayinterface.h"
#include "vrender_unicode.h"

#include "vrayalmtl.h"
#include "pb2template_generator.h"

namespace VRayALMaterial {

#define CURRENT_VERSION 1

	struct ALMtlTexInfo {
		ParamID texID;
		ParamID texOnID;
		ParamID texMultID;
		ParamID texShortID;
		int shortCtrlID;
		const TCHAR *texName;
	};

	ALMtlTexInfo texInfo[NSUBTEX]={
		{ mtl_opacity_tex, mtl_opacity_tex_on, mtl_opacity_tex_mult, mtl_opacity_tex_shortmap, -1, _T("opacity_texture") },
		{ mtl_bump_tex, mtl_bump_tex_on, mtl_bump_tex_mult, -1, -1, _T("bump_texture") },
		{ mtl_displacement_tex, mtl_displacement_tex_on, mtl_displacement_tex_mult, -1, -1, _T("displacement_texture") },

		{ mtl_diffuse_tex, mtl_diffuse_tex_on, mtl_diffuse_tex_mult, mtl_diffuse_tex_shortmap, -1, _T("diffuse_texture") },
		{ mtl_diffuse_strength_tex, mtl_diffuse_strength_tex_on, mtl_diffuse_strength_tex_mult, mtl_diffuse_strength_tex_shortmap, -1, _T("diffuse_strength_texture") },

		{ mtl_reflect_color1_tex, mtl_reflect_color1_tex_on, mtl_reflect_color1_tex_mult, mtl_reflect_color1_tex_shortmap, -1, _T("reflection1_texture") },
		{ mtl_reflect_strength1_tex, mtl_reflect_strength1_tex_on, mtl_reflect_strength1_tex_mult, mtl_reflect_strength1_tex_shortmap, -1, _T("reflection1_strength_texture") },
		{ mtl_reflect_roughness1_tex, mtl_reflect_roughness1_tex_on, mtl_reflect_roughness1_tex_mult, mtl_reflect_roughness1_tex_shortmap, -1, _T("reflection1_roughness_texture") },
		{ mtl_reflect_ior1_tex, mtl_reflect_ior1_tex_on, mtl_reflect_ior1_tex_mult, mtl_reflect_ior1_tex_shortmap, -1, _T("reflection1_ior_texture") },

		{ mtl_reflect_color2_tex, mtl_reflect_color2_tex_on, mtl_reflect_color2_tex_mult, mtl_reflect_color2_tex_shortmap, -1, _T("reflecton2_texture") },
		{ mtl_reflect_strength2_tex, mtl_reflect_strength2_tex_on, mtl_reflect_strength2_tex_mult, mtl_reflect_strength2_tex_shortmap, -1, _T("reflection2_strength_texture") },
		{ mtl_reflect_roughness2_tex, mtl_reflect_roughness2_tex_on, mtl_reflect_roughness2_tex_mult, mtl_reflect_roughness2_tex_shortmap, -1, _T("reflection2_roughness_texture") },
		{ mtl_reflect_ior2_tex, mtl_reflect_ior2_tex_on, mtl_reflect_ior2_tex_mult, mtl_reflect_ior2_tex_shortmap, -1, _T("reflection2_ior_texture") },

		{ mtl_sss_mix_tex, mtl_sss_mix_tex_on, mtl_sss_mix_tex_mult, mtl_sss_mix_tex_shortmap, -1, _T("sss_mix_texture") },

		{ mtl_sss_color1_tex, mtl_sss_color1_tex_on, mtl_sss_color1_tex_mult, mtl_sss_color1_tex_shortmap, -1, _T("sss1_color_texture") },
		{ mtl_sss_weight1_tex, mtl_sss_weight1_tex_on, mtl_sss_weight1_tex_mult, mtl_sss_weight1_tex_shortmap, -1, _T("sss1_weight_texture") },
		{ mtl_sss_radius1_tex, mtl_sss_radius1_tex_on, mtl_sss_radius1_tex_mult, mtl_sss_radius1_tex_shortmap, -1, _T("sss1_radius_texture") },

		{ mtl_sss_color2_tex, mtl_sss_color2_tex_on, mtl_sss_color2_tex_mult, mtl_sss_color2_tex_shortmap, -1, _T("sss2_color_texture") },
		{ mtl_sss_weight2_tex, mtl_sss_weight2_tex_on, mtl_sss_weight2_tex_mult, mtl_sss_weight2_tex_shortmap, -1, _T("sss2_weight_texture") },
		{ mtl_sss_radius2_tex, mtl_sss_radius2_tex_on, mtl_sss_radius2_tex_mult, mtl_sss_radius2_tex_shortmap, -1, _T("sss2_radius_texture") },

		{ mtl_sss_color3_tex, mtl_sss_color3_tex_on, mtl_sss_color3_tex_mult, mtl_sss_color3_tex_shortmap, -1, _T("sss3_color_texture") },
		{ mtl_sss_weight3_tex, mtl_sss_weight3_tex_on, mtl_sss_weight3_tex_mult, mtl_sss_weight3_tex_shortmap, -1, _T("sss3_weight_texture") },
		{ mtl_sss_radius3_tex, mtl_sss_radius3_tex_on, mtl_sss_radius3_tex_mult, mtl_sss_radius3_tex_shortmap, -1, _T("sss3_radius_texture") },

		{ mtl_diffuse_bump_tex, mtl_diffuse_bump_tex_on, mtl_diffuse_bump_tex_mult, -1, -1, _T("diffuse_bump_texture") },
		{ mtl_reflect_bump1_tex, mtl_reflect_bump1_tex_on, mtl_reflect_bump1_tex_mult, -1, -1, _T("reflection1_bump_texture") },
		{ mtl_reflect_bump2_tex, mtl_reflect_bump2_tex_on, mtl_reflect_bump2_tex_mult, -1, -1, _T("reflection2_bump_texture") }
	};

/*===========================================================================*\
 |	Class Descriptor
\*===========================================================================*/

	class SkeletonMaterialClassDesc: public ClassDesc2
#if GET_MAX_RELEASE(VERSION_3DSMAX) >= 6000
		, public IMtlRender_Compatibility_MtlBase
#endif
#if GET_MAX_RELEASE(VERSION_3DSMAX) >= 13900
		, public IMaterialBrowserEntryInfo
#endif
	{
		HIMAGELIST imageList;
	public:
		int IsPublic() { return 1; }
		void* Create(BOOL loading) { return new SkeletonMaterial(loading); }
		const TCHAR *	ClassName() { return STR_CLASSNAME; }
		SClass_ID SuperClassID() { return MATERIAL_CLASS_ID; }
		Class_ID ClassID() { return VRAYALMTL_CLASSID; }
		const TCHAR* Category() { return _T(""); }

		// Hardwired name, used by MAX Script as unique identifier
		const TCHAR* InternalName() { return STR_CLASSNAME; }
		HINSTANCE HInstance() { return hInstance; }

		SkeletonMaterialClassDesc(void) {
			imageList=NULL;
#if GET_MAX_RELEASE(VERSION_3DSMAX) >= 6000
			IMtlRender_Compatibility_MtlBase::Init(*this);
#endif
		}

		~SkeletonMaterialClassDesc(void) {
			if (imageList) ImageList_Destroy(imageList);
			imageList=NULL;
		}

#if GET_MAX_RELEASE(VERSION_3DSMAX) >= 6000
		// From IMtlRender_Compatibility_MtlBase
		bool IsCompatibleWithRenderer(ClassDesc& rendererClassDesc) {
			if (rendererClassDesc.ClassID()!=VRENDER_CLASS_ID) return false;
			return true;
		}
		bool GetCustomMtlBrowserIcon(HIMAGELIST& hImageList, int& inactiveIndex, int& activeIndex, int& disabledIndex) {
			if (!imageList) {
				HBITMAP bmp=LoadBitmap(hInstance, MAKEINTRESOURCE(bm_MTL));
				HBITMAP mask=LoadBitmap(hInstance, MAKEINTRESOURCE(bm_MTLMASK));

				imageList=ImageList_Create(11, 11, ILC_COLOR24 | ILC_MASK, 5, 0);
				int index=ImageList_Add(imageList, bmp, mask);
				if (index==-1) return false;
			}

			if (!imageList) return false;

			hImageList=imageList;
			inactiveIndex=0;
			activeIndex=1;
			disabledIndex=2;
			return true;
		}
#endif

#if GET_MAX_RELEASE(VERSION_3DSMAX) >= 13900
		FPInterface* GetInterface(Interface_ID id) {
			if (IMATERIAL_BROWSER_ENTRY_INFO_INTERFACE==id) {
				return static_cast<IMaterialBrowserEntryInfo*>(this);
			}
			return ClassDesc2::GetInterface(id);
		}

		// From IMaterialBrowserEntryInfo
		const MCHAR* GetEntryName() const { return NULL; }
		const MCHAR* GetEntryCategory() const {
#if GET_MAX_RELEASE(VERSION_3DSMAX) >= 14900
			HINSTANCE hInst=GetModuleHandle(_T("sme.gup"));
			if (hInst) {
				static MSTR category(MaxSDK::GetResourceStringAsMSTR(hInst, IDS_3DSMAX_SME_MATERIALS_CATLABEL).Append(_T("\\V-Ray")));
				return category.data();
			}
#endif
			return _T("Materials\\V-Ray");
		}
		Bitmap* GetEntryThumbnail() const { return NULL; }
#endif
	};

	static SkeletonMaterialClassDesc SkelMtlCD;
	ClassDesc* GetSkeletonMtlDesc() {return &SkelMtlCD;}

/*===========================================================================*\
 |	Basic implimentation of a dialog handler
\*===========================================================================*/

/*===========================================================================*\
 |	Paramblock2 Descriptor
\*===========================================================================*/

	static int numID=100;
	int ctrlID(void) { return numID++; }

#include "default_values.h"

	#define DEFINE_SUBTEX(subtexIndex, texName, defMult, rangeMin, rangeMax, mapID) \
		texInfo[subtexIndex].texID, _T(texName), TYPE_TEXMAP, 0, 0,\
			p_subtexno, subtexIndex,\
			p_ui, mapID, TYPE_TEXMAPBUTTON, ctrlID(),\
		PB_END,\
		texInfo[subtexIndex].texOnID, _T(texName) _T("_on"), TYPE_BOOL, 0, 0,\
			p_default, TRUE,\
			p_ui, mapID, TYPE_SINGLECHEKBOX, ctrlID(),\
		PB_END,\
		texInfo[subtexIndex].texMultID, _T(texName) _T("_multiplier"), TYPE_FLOAT, P_ANIMATABLE, 0,\
			p_default, defMult,\
			p_range, rangeMin, rangeMax,\
			p_ui, mapID, TYPE_SPINNER, EDITTYPE_FLOAT, ctrlID(), ctrlID(), 1.0f,\
		PB_END

	#define DEFINE_SUBTEX_SHORTMAP(subtexIndex, texName, defMult, rangeMin, rangeMax, mapID) \
		texInfo[subtexIndex].texShortID, _T(texName) _T("_shortmap"), TYPE_TEXMAP, P_NO_AUTO_LABELS + P_INVISIBLE + P_TRANSIENT + P_OBSOLETE, 0,\
			p_subtexno, subtexIndex,\
			p_ui, mapID, TYPE_TEXMAPBUTTON, texInfo[subtexIndex].shortCtrlID = ctrlID(),\
		PB_END,\
		texInfo[subtexIndex].texID, _T(texName), TYPE_TEXMAP, 0, 0,\
			p_subtexno, subtexIndex,\
			p_ui, map_textures, TYPE_TEXMAPBUTTON, ctrlID(),\
		PB_END,\
		texInfo[subtexIndex].texOnID, _T(texName) _T("_on"), TYPE_BOOL, 0, 0,\
			p_default, TRUE,\
			p_ui, map_textures, TYPE_SINGLECHEKBOX, ctrlID(),\
		PB_END,\
		texInfo[subtexIndex].texMultID, _T(texName) _T("_multiplier"), TYPE_FLOAT, P_ANIMATABLE, 0,\
			p_default, defMult,\
			p_range, rangeMin, rangeMax,\
			p_ui, map_textures, TYPE_SPINNER, EDITTYPE_FLOAT, ctrlID(), ctrlID(), 1.0f,\
		PB_END

	static ParamBlockDesc2 smtl_param_blk(mtl_params, _T("VRayAL parameters"), 0, &SkelMtlCD, P_AUTO_CONSTRUCT + P_AUTO_UI + P_MULTIMAP, 0,
		//rollouts
		9,
		map_basic, 0, IDS_PARAMETERS, 0, 0, NULL,
		map_diffuse, 0, IDS_PARAMETERS, 0, 0, NULL,
		map_sss1, 0, IDS_PARAMETERS, 0, 0, NULL,
		map_sss2, 0, IDS_PARAMETERS, 0, 0, NULL,
		map_sss3, 0, IDS_PARAMETERS, 0, 0, NULL,
		map_reflect1, 0, IDS_PARAMETERS, 0, 0, NULL,
		map_reflect2, 0, IDS_PARAMETERS, 0, 0, NULL,
		map_options, 0, IDS_PARAMETERS, 0, 0, NULL,
		map_textures, 0, IDS_PARAMETERS, 0, 0, NULL,

		// params
		mtl_sss_density_scale, _T("sss_density_scale"), TYPE_FLOAT, P_ANIMATABLE, 0,
			p_default, defaultSSSScale,
			p_range, 1e-6f, 1e6f,
			p_ui, map_basic, TYPE_SPINNER, EDITTYPE_FLOAT, ctrlID(), ctrlID(), 0.01f,
		PB_END,
			mtl_opacity, _T("opacity"), TYPE_RGBA, P_ANIMATABLE, 0,
			p_default, Color(defaultOpacity, defaultOpacity, defaultOpacity),
			p_ui, map_basic, TYPE_COLORSWATCH, ctrlID(),
		PB_END,
		DEFINE_SUBTEX_SHORTMAP(SUBTEXNO_OPACITY, "opacity_texture", 100.0f, 0.0f, 100.0f, map_basic),
		DEFINE_SUBTEX(SUBTEXNO_BUMP, "bump_texture", 30.0f, -1000.0f, 1000.0f, map_basic),
		DEFINE_SUBTEX(SUBTEXNO_DISPLACEMENT, "displacement_texture", 100.0f, 0.0f, 100.0f, map_basic),

		mtl_diffuse, _T("diffuse_color"), TYPE_RGBA, P_ANIMATABLE, 0,
			p_default, defaultDiffuse,
			p_ui, map_diffuse, TYPE_COLORSWATCH, ctrlID(),
		PB_END,
		DEFINE_SUBTEX_SHORTMAP(SUBTEXNO_DIFFUSE, "diffuse_color_texture", 100.0f, 0.0f, 100.0f, map_diffuse),

		mtl_diffuse_strength, _T("diffuse_strength"), TYPE_FLOAT, P_ANIMATABLE, 0,
			p_default, defaultDiffuseStrength,
			p_range, 0.0f, 1.0f,
			p_ui, map_diffuse, TYPE_SPINNER, EDITTYPE_FLOAT, ctrlID(), ctrlID(), 0.01f,
		PB_END,
		DEFINE_SUBTEX_SHORTMAP(SUBTEXNO_DIFFUSE_STRENGTH, "diffuse_strength_texture", 100.0f, 0.0f, 100.0f, map_diffuse),

		mtl_sss_mix, _T("sss_mix"), TYPE_FLOAT, P_ANIMATABLE, 0,
			p_default, defaultSSSMix,
			p_range, 0.0f, 1.0f,
			p_ui, map_diffuse, TYPE_SPINNER, EDITTYPE_FLOAT, ctrlID(), ctrlID(), 0.1f,
		PB_END,
		DEFINE_SUBTEX_SHORTMAP(SUBTEXNO_SSS_MIX, "sss_mix_texture", 100.0f, 0.0f, 100.0f, map_diffuse),

		mtl_sss_mode, _T("sss_mode"), TYPE_INT, 0, 0,
			p_range, 0, 1,
			p_default, defaultSSSMode,
			p_ui, map_diffuse, TYPE_INTLISTBOX, ctrlID(), 2, ids_sss_mode_diffusion, ids_sss_mode_directional,
		PB_END,

		DEFINE_SUBTEX(SUBTEXNO_DIFFUSE_BUMP, "diffuse_bump_texture", 30.0f, -1000.0f, 1000.0f, map_diffuse),

		// Reflection 1
		mtl_reflect_color1, _T("reflect1_color"), TYPE_RGBA, P_ANIMATABLE, 0,
			p_default, defaultReflect1,
			p_ui, map_reflect1, TYPE_COLORSWATCH, ctrlID(),
		PB_END,
		DEFINE_SUBTEX_SHORTMAP(SUBTEXNO_REFLECT1_COLOR, "reflect1_color_texture", 100.0f, 0.0f, 100.0f, map_reflect1),

		mtl_reflect_strength1, _T("reflect1_strength"), TYPE_FLOAT, P_ANIMATABLE, 0,
			p_default, defaultReflect1Strength,
			p_range, 0.0f, 1.0f,
			p_ui, map_reflect1, TYPE_SPINNER, EDITTYPE_FLOAT, ctrlID(), ctrlID(), 0.01f,
		PB_END,
		DEFINE_SUBTEX_SHORTMAP(SUBTEXNO_REFLECT1_STRENGTH, "reflect1_strength_texture", 100.0f, 0.0f, 100.0f, map_reflect1),

		mtl_reflect_roughness1, _T("reflect1_roughness"), TYPE_FLOAT, P_ANIMATABLE, 0,
			p_default, defaultReflect1Roughness,
			p_range, 0.0f, 1.0f,
			p_ui, map_reflect1, TYPE_SPINNER, EDITTYPE_FLOAT, ctrlID(), ctrlID(), 0.01f,
		PB_END,
		DEFINE_SUBTEX_SHORTMAP(SUBTEXNO_REFLECT1_ROUGHNESS, "reflect1_roughness_texture", 100.0f, 0.0f, 100.0f, map_reflect1),

		mtl_reflect_ior1, _T("reflect1_ior"), TYPE_FLOAT, P_ANIMATABLE, 0,
			p_default, defaultReflect1IOR,
			p_range, 1.0f, 999.0f,
			p_ui, map_reflect1, TYPE_SPINNER, EDITTYPE_FLOAT, ctrlID(), ctrlID(), 0.01f,
		PB_END,
		DEFINE_SUBTEX_SHORTMAP(SUBTEXNO_REFLECT1_IOR, "reflect1_ior_texture", 100.0f, 0.0f, 100.0f, map_reflect1),

		mtl_reflect_distribution1, _T("reflect1_distribution"), TYPE_INT, 0, 0,
			p_range, 0, 1,
			p_default, defaultReflect1Distribution,
			p_ui, map_reflect1, TYPE_INTLISTBOX, ctrlID(), 2, ids_reflect_distribution_beckmann, ids_reflect_distribution_GGX,
		PB_END,

		DEFINE_SUBTEX(SUBTEXNO_REFLECT1_BUMP, "reflect1_bump_texture", 30.0f, -1000.0f, 1000.0f, map_reflect1),

		// Reflection 2
		mtl_reflect_color2, _T("reflect2_color"), TYPE_RGBA, P_ANIMATABLE, 0,
			p_default, defaultReflect2,
			p_ui, map_reflect2, TYPE_COLORSWATCH, ctrlID(),
		PB_END,
		DEFINE_SUBTEX_SHORTMAP(SUBTEXNO_REFLECT2_COLOR, "reflect2_color_texture", 100.0f, 0.0f, 100.0f, map_reflect2),

		mtl_reflect_strength2, _T("reflect2_strength"), TYPE_FLOAT, P_ANIMATABLE, 0,
			p_default, defaultReflect2Strength,
			p_range, 0.0f, 1.0f,
			p_ui, map_reflect2, TYPE_SPINNER, EDITTYPE_FLOAT, ctrlID(), ctrlID(), 0.01f,
		PB_END,
		DEFINE_SUBTEX_SHORTMAP(SUBTEXNO_REFLECT2_STRENGTH, "reflect2_strength_texture", 100.0f, 0.0f, 100.0f, map_reflect2),

		mtl_reflect_roughness2, _T("reflect2_roughness"), TYPE_FLOAT, P_ANIMATABLE, 0,
			p_default, defaultReflect2Roughness,
			p_range, 0.0f, 1.0f,
			p_ui, map_reflect2, TYPE_SPINNER, EDITTYPE_FLOAT, ctrlID(), ctrlID(), 0.01f,
		PB_END,
		DEFINE_SUBTEX_SHORTMAP(SUBTEXNO_REFLECT2_ROUGHNESS, "reflect2_roughness_texture", 100.0f, 0.0f, 100.0f, map_reflect2),

		mtl_reflect_ior2, _T("reflect2_ior"), TYPE_FLOAT, P_ANIMATABLE, 0,
			p_default, defaultReflect2IOR,
			p_range, 1.0f, 999.0f,
			p_ui, map_reflect2, TYPE_SPINNER, EDITTYPE_FLOAT, ctrlID(), ctrlID(), 0.01f,
		PB_END,
		DEFINE_SUBTEX_SHORTMAP(SUBTEXNO_REFLECT2_IOR, "reflect2_ior_texture", 100.0f, 0.0f, 100.0f, map_reflect2),

		mtl_reflect_distribution2, _T("reflect2_distribution"), TYPE_INT, 0, 0,
			p_range, 0, 1,
			p_default, defaultReflect2Distribution,
			p_ui, map_reflect2, TYPE_INTLISTBOX, ctrlID(), 2, ids_reflect_distribution_beckmann, ids_reflect_distribution_GGX,
		PB_END,

		DEFINE_SUBTEX(SUBTEXNO_REFLECT2_BUMP, "reflect2_bump_texture", 30.0f, -1000.0f, 1000.0f, map_reflect2),

		// SSS
		mtl_sss_color1, _T("sss1_color"), TYPE_RGBA, P_ANIMATABLE, 0,
			p_default, defaultSSSColor1,
			p_ui, map_sss1, TYPE_COLORSWATCH, ctrlID(),
		PB_END,
		DEFINE_SUBTEX_SHORTMAP(SUBTEXNO_SSS1_COLOR, "sss1_color_texture", 100.0f, 0.0f, 100.0f, map_sss1),

		mtl_sss_weight1, _T("sss1_weight"), TYPE_FLOAT, P_ANIMATABLE, 0,
			p_default, defaultSSSWeight1,
			p_range, 0.0f, 1.0f,
			p_ui, map_sss1, TYPE_SPINNER, EDITTYPE_FLOAT, ctrlID(), ctrlID(), 0.01f,
		PB_END,
		DEFINE_SUBTEX_SHORTMAP(SUBTEXNO_SSS1_WEIGHT, "sss1_weight_texture", 100.0f, 0.0f, 100.0f, map_sss1),

		mtl_sss_radius1, _T("sss1_radius"), TYPE_FLOAT, P_ANIMATABLE, 0,
			p_default, defaultSSSRadius1,
			p_range, 0.0f, 1e6f,
			p_ui, map_sss1, TYPE_SPINNER, EDITTYPE_FLOAT, ctrlID(), ctrlID(), 0.01f,
		PB_END,
		DEFINE_SUBTEX_SHORTMAP(SUBTEXNO_SSS1_RADIUS, "sss1_radius_texture", 100.0f, 0.0f, 100.0f, map_sss1),

		mtl_sss_color2, _T("sss2_color"), TYPE_RGBA, P_ANIMATABLE, 0,
			p_default, defaultSSSColor2,
			p_ui, map_sss2, TYPE_COLORSWATCH, ctrlID(),
		PB_END,
		DEFINE_SUBTEX_SHORTMAP(SUBTEXNO_SSS2_COLOR, "sss2_color_texture", 100.0f, 0.0f, 100.0f, map_sss2),

		mtl_sss_weight2, _T("sss2_weight"), TYPE_FLOAT, P_ANIMATABLE, 0,
			p_default, defaultSSSWeight2,
			p_range, 0.0f, 1.0f,
			p_ui, map_sss2, TYPE_SPINNER, EDITTYPE_FLOAT, ctrlID(), ctrlID(), 0.01f,
		PB_END,
		DEFINE_SUBTEX_SHORTMAP(SUBTEXNO_SSS2_WEIGHT, "sss2_weight_texture", 100.0f, 0.0f, 100.0f, map_sss2),

		mtl_sss_radius2, _T("sss2_radius"), TYPE_FLOAT, P_ANIMATABLE, 0,
			p_default, defaultSSSRadius2,
			p_range, 0.0f, 1e6f,
			p_ui, map_sss2, TYPE_SPINNER, EDITTYPE_FLOAT, ctrlID(), ctrlID(), 0.1f,
		PB_END,
		DEFINE_SUBTEX_SHORTMAP(SUBTEXNO_SSS2_RADIUS, "sss2_radius_texture", 100.0f, 0.0f, 100.0f, map_sss2),

		mtl_sss_color3, _T("sss3_color"), TYPE_RGBA, P_ANIMATABLE, 0,
			p_default, defaultSSSColor3,
			p_ui, map_sss3, TYPE_COLORSWATCH, ctrlID(),
		PB_END,
		DEFINE_SUBTEX_SHORTMAP(SUBTEXNO_SSS3_COLOR, "sss3_color_texture", 100.0f, 0.0f, 100.0f, map_sss3),

		mtl_sss_weight3, _T("sss3_weight"), TYPE_FLOAT, P_ANIMATABLE, 0,
			p_default, defaultSSSWeight3,
			p_range, 0.0f, 1.0f,
			p_ui, map_sss3, TYPE_SPINNER, EDITTYPE_FLOAT, ctrlID(), ctrlID(), 0.01f,
		PB_END,
		DEFINE_SUBTEX_SHORTMAP(SUBTEXNO_SSS3_WEIGHT, "sss3_weight_texture", 100.0f, 0.0f, 100.0f, map_sss3),

		mtl_sss_radius3, _T("sss3_radius"), TYPE_FLOAT, P_ANIMATABLE, 0,
			p_default, defaultSSSRadius3,
			p_range, 0.0f, 1e6f,
			p_ui, map_sss3, TYPE_SPINNER, EDITTYPE_FLOAT, ctrlID(), ctrlID(), 0.01f,
		PB_END,
		DEFINE_SUBTEX_SHORTMAP(SUBTEXNO_SSS3_RADIUS, "sss3_radius_texture", 100.0f, 0.0f, 100.0f, map_sss3),

		mtl_reflect_max_depth, _T("reflect_max_depth"), TYPE_INT, 0, 0,
			p_default, defaultReflectMaxDepth,
			p_range, 0, 100,
			p_ui, map_options, TYPE_SPINNER, EDITTYPE_INT, ctrlID(), ctrlID(), SPIN_AUTOSCALE,
		PB_END,
		mtl_reflect_subdivs, _T("reflect_subdivs"), TYPE_INT, 0, 0,
			p_default, defaultReflectSubdivs,
			p_range, 1, 1000,
			p_ui, map_options, TYPE_SPINNER, EDITTYPE_INT, ctrlID(), ctrlID(), SPIN_AUTOSCALE,
		PB_END,
		mtl_sss_subdivs, _T("sss_subdivs"), TYPE_INT, 0, 0,
			p_default, defaultSSSSubdivs,
			p_range, 1, 1000,
			p_ui, map_options, TYPE_SPINNER, EDITTYPE_INT, ctrlID(), ctrlID(), SPIN_AUTOSCALE,
		PB_END,
	PB_END
	);

/*===========================================================================*\
 |	UI stuff
\*===========================================================================*/

	class SkelMtlDlgProc : public ParamMap2UserDlgProc {
		void shortmapsInit(SkeletonMaterial* mtl, HWND hWnd, IParamMap2 *map) {
			if (!map) return;

			IParamBlock2 *pblock = map->GetParamBlock();
			if (!pblock) return;

			MapID mapid;
			int currRow;
			for (int iTexInfoRow=0; iTexInfoRow<NSUBTEX ; ++iTexInfoRow) {
				if (texInfo[iTexInfoRow].texShortID > -1) {
					ParamDef pDef = pblock->GetParamDef(texInfo[iTexInfoRow].texShortID);
					if (pDef.maps.Count() > 0) {
						mapid = pDef.maps[0];
						if (mapid==map->GetMapID()) {
							currRow = iTexInfoRow;
							mtl->updateTexmapButtons(mapid, currRow);
							ICustButton *btn=GetICustButton(GetDlgItem(hWnd, texInfo[currRow].shortCtrlID));
							if (btn) {
								btn->SetDADMgr(mtl);
								ReleaseICustButton(btn);
							}
						}
					}
				}
			}
		}

	public:
		SkeletonMaterial *sm;

		SkelMtlDlgProc(void) { sm=NULL; }
		INT_PTR DlgProc(TimeValue t, IParamMap2 *map, HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) {
			int id=LOWORD(wParam);
			switch (msg)
			{
				case WM_INITDIALOG: {
					SkeletonMaterial *mtl=static_cast<SkeletonMaterial*>(map->GetParamBlock()->GetOwner());
					if (mtl) {
						//mtl->greyDlgControls(map);
						shortmapsInit(mtl, hWnd, map);
					}
					break;
				}
				case WM_DESTROY:
					break;
				case WM_COMMAND: {
					break;
				}
			}
			return FALSE;
		}
		void DeleteThis() {}
		void SetThing(ReferenceTarget *m) { sm = (SkeletonMaterial*)m; }
	};

	static SkelMtlDlgProc dlgProc;
	static Pb2TemplateGenerator templateGenerator;

	struct ParamMapInfo {
		const TCHAR *title;
		int flags;
	};

	ParamMapInfo pmapInfo[NUM_PMAPS]={
		{ _T("General parameters"), 0 },
		{ _T("Diffuse"), 0 },
		{ _T("SSS 1"), 0 },
		{ _T("SSS 2"), 0 },
		{ _T("SSS 3"), 0 },
		{ _T("Reflection 1"), 0, },
		{ _T("Reflection 2"), 0, },
		{ _T("Options and sampling"), APPENDROLL_CLOSED },
		{ _T("Textures"), APPENDROLL_CLOSED }
	};

	class SkelMtlParamDlg: public ParamDlg {
	public:
		SkeletonMaterial *mtl;
		IMtlParams *ip;
		IParamMap2 *pmaps[NUM_PMAPS];

		SkelMtlParamDlg(SkeletonMaterial *m, HWND hWnd, IMtlParams *i) {
			mtl=m;
			ip=i;

			DLGTEMPLATE* tmp=NULL;

			for (int i=0; i<NUM_PMAPS; i++) {
				tmp=templateGenerator.GenerateTemplate(i, mtl->pblock, pmapInfo[i].title, 217);
				TCHAR *title=const_cast<TCHAR*>(pmapInfo[i].title); // Needed for 3ds Max 2012
				pmaps[i]=CreateMParamMap2(i, mtl->pblock, ip, hInstance, hWnd, NULL, NULL, tmp, title, pmapInfo[i].flags, &dlgProc);
				templateGenerator.ReleaseDlgTemplate(tmp);
			}
		}

		void DeleteThis(void) VRAY_OVERRIDE {
			for (int i=0; i<NUM_PMAPS; i++) {
				if (pmaps[i]) DestroyMParamMap2(pmaps[i]);
				pmaps[i]=NULL;
			}
			delete this;
		}

		Class_ID ClassID(void) VRAY_OVERRIDE { return VRAYALMTL_CLASSID; }

		void SetThing(ReferenceTarget *m) VRAY_OVERRIDE {
			mtl=(SkeletonMaterial*)m;
			for (int i=0; i<NUM_PMAPS; i++) {
				if (pmaps[i])
					pmaps[i]->SetParamBlock(mtl->pblock);
			}
		}

		ReferenceTarget* GetThing(void) VRAY_OVERRIDE { return mtl; }
		void SetTime(TimeValue t) VRAY_OVERRIDE {}
		void ReloadDialog(void) VRAY_OVERRIDE {}
		void ActivateDlg(BOOL onOff) VRAY_OVERRIDE {}
	};

/*===========================================================================*\
 |	Constructor and Reset systems
 |  Ask the ClassDesc2 to make the AUTO_CONSTRUCT paramblocks and wire them in
\*===========================================================================*/

	void SkeletonMaterial::Reset() {
		ivalid.SetEmpty();
		SkelMtlCD.Reset(this);
	}

	SkeletonMaterial::SkeletonMaterial(BOOL loading) {
		static int pblockDesc_inited=false;
		if (!pblockDesc_inited) {
			initPBlockDesc(smtl_param_blk);
			pblockDesc_inited=true;
		}

		for (int i=0; i<NSUBTEX; i++) subtex[i]=NULL;

		version=CURRENT_VERSION;

		pblock=NULL;
		ivalid.SetEmpty();
		SkelMtlCD.MakeAutoParamBlocks(this);	// make and intialize paramblock2
	}

	ParamDlg* SkeletonMaterial::CreateParamDlg(HWND hwMtlEdit, IMtlParams *imp) {
		return new SkelMtlParamDlg(this, hwMtlEdit, imp);
	}

	BOOL SkeletonMaterial::SetDlgThing(ParamDlg* dlg) {
		return FALSE;
	}

	Interval SkeletonMaterial::Validity(TimeValue t) {
		Interval temp=FOREVER;
		Update(t, temp);
		return ivalid;
	}

	int SkeletonMaterial::NumSubTexmaps() { return NSUBTEX; }

	Texmap* SkeletonMaterial::GetSubTexmap(int i) {
		if (i<0 || i>=NSUBTEX) return NULL;
		return pblock->GetTexmap(texInfo[i].texID);
	}

	void SkeletonMaterial::SetSubTexmap(int i, Texmap *m) {
		if (i<0 || i>=NSUBTEX) return;
		pblock->SetValue(texInfo[i].texID, 0, m);
	}

	TSTR SkeletonMaterial::GetSubTexmapSlotName(int i) {
		if (i<0 || i>=NSUBTEX) return _T("???");
		return texInfo[i].texName;
	}

/*===========================================================================*\
 |	Subanim & References support
\*===========================================================================*/

	RefTargetHandle SkeletonMaterial::GetReference(int i) {
		if (i==0) return pblock;
		return NULL;
	}

	void SkeletonMaterial::SetReference(int i, RefTargetHandle rtarg) {
		if (i==0) pblock=(IParamBlock2*)rtarg;
	}

	TSTR SkeletonMaterial::SubAnimName(int i) {
		if (i==0) return _T("Parameters");
		return _T("");
	}

	Animatable* SkeletonMaterial::SubAnim(int i) {
		if (i==0) return pblock;
		return NULL;
	}

	RefResult SkeletonMaterial::NotifyRefChanged(NOTIFY_REF_CHANGED_ARGS) {
		switch (message) {
			case REFMSG_CHANGE:
				ivalid.SetEmpty();
				if (hTarget==pblock) {
					ParamID paramID=pblock->LastNotifyParamID();

					// If changed parameter is map or map related parameter (as _tex, _tex_on)
					// we have to check if that param is presented in texInfo structure.
					// If it is true then by received MapID and TexInfoRow
					// corresponding shortmap button text is actualized.
					MapID inMapID=-1;
					int inTexIR=-1;
					findMapIDAndTexInfoRowByChangedParam(paramID, inMapID, inTexIR);
					if (inMapID>=0 && inTexIR>=0)
						updateTexmapButtons(inMapID, inTexIR);
					smtl_param_blk.InvalidateUI(paramID);
				}
				break;
		}
		return(REF_SUCCEED);
	}

/*===========================================================================*\
 |	Standard IO
\*===========================================================================*/

#define MTL_HDR_CHUNK 0x4000
#define MTL_VERSION_CHUNK 0x4001

	IOResult SkeletonMaterial::Save(ISave *isave) {
		IOResult res;
		isave->BeginChunk(MTL_HDR_CHUNK);
		res = MtlBase::Save(isave);
		if (res!=IO_OK) return res;
		isave->EndChunk();

		ULONG nwr=0;

		isave->BeginChunk(MTL_VERSION_CHUNK);
		res=isave->Write(&version, sizeof(version), &nwr);
		if (res!=IO_OK) return res;
		isave->EndChunk();

		return IO_OK;
	}

	IOResult SkeletonMaterial::Load(ILoad *iload) {
		// Set the version to be the oldest possible version
		version=0;
		iload->RegisterPostLoadCallback(this);

		IOResult res;
		int id;
		while (IO_OK==(res=iload->OpenChunk())) {
			switch(id = iload->CurChunkID()) {
				case MTL_HDR_CHUNK:
					res = MtlBase::Load(iload);
					break;
				case MTL_VERSION_CHUNK: {
					ULONG nr;
					res=iload->Read(&version, sizeof(version), &nr);
					break;
				}
			}
			iload->CloseChunk();
			if (res!=IO_OK)
				return res;
		}
		return IO_OK;
	}

	void SkeletonMaterial::proc(ILoad *iload) {
		if (version<1) {
			// In the initial version, "directional" was the default SSS mode, so change to that when
			// loading old materials.
			pblock->SetValue(mtl_sss_mode, 0, 1);

			// In the old version, the reflection distribution was always GGX, so change to that.
			pblock->SetValue(mtl_reflect_distribution1, 0, 1);
			pblock->SetValue(mtl_reflect_distribution2, 0, 1);
		}
		version=CURRENT_VERSION;
	}

/*===========================================================================*\
 |	FROM DADMgr
\*===========================================================================*/

	SClass_ID SkeletonMaterial::GetDragType(HWND hwnd, POINT p) {
		return TEXMAP_CLASS_ID;
	}

	BOOL SkeletonMaterial::IsNew(HWND hwnd, POINT p, SClass_ID type) {
		return FALSE;
	}

	ReferenceTarget* SkeletonMaterial::GetInstance(HWND hwnd, POINT p, SClass_ID type) {
		int iRow = getRowBySelectedShortCtrl(hwnd);
		if (iRow >= 0)
			return pblock->GetTexmap(texInfo[iRow].texID);

		return NULL;
	}

	BOOL SkeletonMaterial::OkToDrop(ReferenceTarget *dropThis, HWND hfrom, HWND hto, POINT p, SClass_ID type, BOOL isNew) {
		return (type==TEXMAP_CLASS_ID);
	}

	HCURSOR SkeletonMaterial::DropCursor(ReferenceTarget *dropThis, HWND hfrom, HWND hto, POINT p, SClass_ID type, BOOL isNew) {
		return NULL;
	}

	int SkeletonMaterial::SlotOwner() {
		return OWNER_MTL_TEX;
	}

#if GET_MAX_RELEASE(VERSION_3DSMAX) < 11900
	void SkeletonMaterial::Drop(ReferenceTarget *dropThis, HWND hwnd, POINT p, SClass_ID type) {
#else
	void SkeletonMaterial::Drop(ReferenceTarget *dropThis, HWND hwnd, POINT p, SClass_ID type, DADMgr* srcMgr, BOOL bSrcClone) {
#endif
		drop(dropThis, hwnd, p, type, pblock);
	}

	void SkeletonMaterial::drop(ReferenceTarget *dropThis, HWND hwnd, POINT p, SClass_ID type, IParamBlock2 *pblock) {
		int iRow = getRowBySelectedShortCtrl(hwnd);
		if (iRow >= 0) {
			IParamMap2 *mapTextures = pblock->GetMap(map_textures);
			theHold.Begin();
			pblock->SetValue(texInfo[iRow].texID, 0, (Texmap*)dropThis);
			mapTextures->Invalidate(texInfo[iRow].texID);
			theHold.Accept(_T("VRayALMtl set texture"));
		}
	}

	void SkeletonMaterial::findMapIDAndTexInfoRowByChangedParam(ParamID inChangedParam, MapID &mapid, int &texInfoRow) {
		for (int iTexInfoRow=0; iTexInfoRow<NSUBTEX; ++iTexInfoRow) {
			if ((texInfo[iTexInfoRow].texID == inChangedParam || texInfo[iTexInfoRow].texOnID == inChangedParam) &&
				texInfo[iTexInfoRow].texShortID > -1) {
				ParamDef pDef = pblock->GetParamDef(texInfo[iTexInfoRow].texShortID);
				if (pDef.maps.Count() > 0)
					mapid = pDef.maps[0];
				texInfoRow = iTexInfoRow;
				break;
			}
		}
	}

	int SkeletonMaterial::getRowBySelectedShortCtrl(HWND hwnd) {
		for (int iTexInfoRow=0; iTexInfoRow<NSUBTEX; ++iTexInfoRow) {
			if (texInfo[iTexInfoRow].texShortID > -1) {
				ParamDef pDef = pblock->GetParamDef(texInfo[iTexInfoRow].texShortID);
				if (pDef.maps.Count() > 0) {
					MapID mapid = pDef.maps[0];
					IParamMap2 *map = pblock->GetMap(mapid);
					if (map) {
						HWND mapWnd=map->GetHWnd();
						if (texInfo[iTexInfoRow].shortCtrlID && hwnd==GetDlgItem(mapWnd, texInfo[iTexInfoRow].shortCtrlID))
							return iTexInfoRow;
					}
				}
			}
		}

		return -1;
	}

	int SkeletonMaterial::getMapState(int subtexno) {
		Texmap* map = pblock->GetTexmap(texInfo[subtexno].texID);
		if(!map) return 0;

		int enabled;
		Interval ivalid=FOREVER;
		TimeValue t=GetCOREInterface()->GetTime();
		pblock->GetValue(texInfo[subtexno].texOnID, t, enabled, ivalid);
		if (!enabled) return 1;

		return 2;
	}

	void SkeletonMaterial::updateTexmapButtons(MapID mapid, int subtexno) {
		IParamMap2 *map;
		if (!pblock || !(map=pblock->GetMap(mapid))) return;

		HWND hWnd=map->GetHWnd();

		ICustButton *button=GetICustButton(GetDlgItem(hWnd, texInfo[subtexno].shortCtrlID));
		if (button) {
			button->SetText(externShortcutTexts[getMapState(subtexno)]);
			ReleaseICustButton(button);
		}
	}

/*===========================================================================*\
 |	Updating and cloning
\*===========================================================================*/

	RefTargetHandle SkeletonMaterial::Clone(RemapDir &remap) {
		SkeletonMaterial *mnew = new SkeletonMaterial(FALSE);
		*((MtlBase*)mnew) = *((MtlBase*)this);
		BaseClone(this, mnew, remap);
		mnew->ReplaceReference(0, remap.CloneRef(pblock));
		mnew->ivalid.SetEmpty();
		return (RefTargetHandle)mnew;
	}

	void SkeletonMaterial::NotifyChanged() {
		NotifyDependents(FOREVER, PART_ALL, REFMSG_CHANGE);
	}

	void SkeletonMaterial::Update(TimeValue t, Interval& valid) {
		if (!ivalid.InInterval(t)) {
			ivalid.SetInfinite();

			// Sub-textures
			for (int i=0; i<NSUBTEX; i++) {
				subtex[i]=NULL;

				pblock->GetValue(texInfo[i].texOnID, t, subtexOn[i], ivalid);
				pblock->GetValue(texInfo[i].texMultID, t, subtexMult[i], ivalid);
				if (fabsf(subtexMult[i])<1e-6f) subtexOn[i]=false;
				subtexMult[i]*=0.01f;

				if (subtexOn[i]) {
					subtex[i]=pblock->GetTexmap(texInfo[i].texID);
					if (subtex[i]) subtex[i]->Update(t, ivalid);
				}
			}

			pblock->GetValue(mtl_reflect_roughness1, t, reflectRoughness1, ivalid);
			pblock->GetValue(mtl_reflect_color1, t, reflectColor1, ivalid);
			pblock->GetValue(mtl_reflect_strength1, t, reflectStrength1, ivalid);
			pblock->GetValue(mtl_reflect_ior1, t, reflectIOR1, ivalid);
			pblock->GetValue(mtl_reflect_distribution1, t, reflectDistribution1, ivalid);

			pblock->GetValue(mtl_reflect_roughness2, t, reflectRoughness2, ivalid);
			pblock->GetValue(mtl_reflect_color2, t, reflectColor2, ivalid);
			pblock->GetValue(mtl_reflect_strength2, t, reflectStrength2, ivalid);
			pblock->GetValue(mtl_reflect_ior2, t, reflectIOR2, ivalid);
			pblock->GetValue(mtl_reflect_distribution2, t, reflectDistribution2, ivalid);

			pblock->GetValue(mtl_diffuse, t, diffuse, ivalid);
			pblock->GetValue(mtl_opacity, t, opacity, ivalid);

			pblock->GetValue(mtl_sss_mix, t, sssMix, ivalid);
			pblock->GetValue(mtl_sss_mode, t, sssMode, ivalid);

			pblock->GetValue(mtl_sss_weight1, t, sssWeight1, ivalid);
			pblock->GetValue(mtl_sss_radius1, t, sssRadius1, ivalid);
			pblock->GetValue(mtl_sss_color1, t, sssColor1, ivalid);

			pblock->GetValue(mtl_sss_weight2, t, sssWeight2, ivalid);
			pblock->GetValue(mtl_sss_radius2, t, sssRadius2, ivalid);
			pblock->GetValue(mtl_sss_color2, t, sssColor2, ivalid);

			pblock->GetValue(mtl_sss_weight3, t, sssWeight3, ivalid);
			pblock->GetValue(mtl_sss_radius3, t, sssRadius3, ivalid);
			pblock->GetValue(mtl_sss_color3, t, sssColor3, ivalid);

			pblock->GetValue(mtl_sss_density_scale, t, sssDensityScale, ivalid);
			pblock->GetValue(mtl_diffuse_strength, t, diffuseStrength, ivalid);

			pblock->GetValue(mtl_reflect_max_depth, t, reflectMaxDepth, ivalid);
			pblock->GetValue(mtl_reflect_subdivs, t, reflectSubdivs, ivalid);
			pblock->GetValue(mtl_sss_subdivs, t, sssSubdivs, ivalid);
		}

		valid &= ivalid;
	}

	Interval SkeletonMaterial::DisplacementValidity(TimeValue t) {
		Interval valid=FOREVER;

		int texOn=true;
		pblock->GetValue(texInfo[SUBTEXNO_DISPLACEMENT].texOnID, t, texOn, valid);
		if (!texOn) return valid;

		Texmap *texmap=NULL;
		float texMult=100.0f;

		pblock->GetValue(texInfo[SUBTEXNO_DISPLACEMENT].texID, t, texmap, valid);
		pblock->GetValue(texInfo[SUBTEXNO_DISPLACEMENT].texMultID, t, texMult, valid);

		if (texmap) {
			valid&=texmap->Validity(t);
		}

		return valid;
	}

	ULONG SkeletonMaterial::LocalRequirements(int subMtlNum) {
		ULONG res=0;
		if (subtex[SUBTEXNO_DISPLACEMENT] && subtexOn[SUBTEXNO_DISPLACEMENT] && subtexMult[SUBTEXNO_DISPLACEMENT]!=0.0f) res|=MTLREQ_DISPLACEMAP;

		int isOpaque=true;

		if (fabsf(Intens(opacity)-1.0f)>1e-6f || (subtexOn[SUBTEXNO_OPACITY] && subtex[SUBTEXNO_OPACITY]!=NULL && fabsf(subtexMult[SUBTEXNO_OPACITY])>1e-6f)) {
			isOpaque=false;
		}

		if (isOpaque) res|=VRAY_MTLREQ_OPAQUE_SHADOWS;
		else res|=MTLREQ_TRANSP;

		return res;
	}

	void SkeletonMaterial::renderBegin(TimeValue t, VR::VRayRenderer *vray) {
		const VR::VRaySequenceData &sdata=vray->getSequenceData();
		bsdfPool.init(sdata.maxRenderThreads);
	}

	void SkeletonMaterial::renderEnd(VR::VRayRenderer *vray) {
		bsdfPool.freeMem();
		renderChannels.freeMem();
	}

} // namespace VRayAlMaterial

redpajama_set_name: RedPajamaGithub


En el artículo se realiza una descripción de los avances y el estado actual en la proyección climática en la región de Centro América y el Caribe. Se describen brevemente las características de los modelos climáticos globales y regionales que reproducen la dinámica del clima, permitiendo simular su evolución futura en función de los forzamientos de escenarios de emisión y se presenta una reseña de los principales resultados obtenidos en cuanto a las proyecciones de los campos de precipitación, temperatura y de otros rasgos climáticos regionales, como la sequía intraestival, el chorro de bajo nivel del Caribe y los ciclones tropicales. Los resultados alcanzados hasta el presente permiten afirmar que, a pesar de las incertidumbres existentes, la mayor parte de las proyecciones concuerdan en el calentamiento regional y en la reducción de las cantidades de lluvia en la región, así como el incremento de algunos eventos extremos. El análisis del conjunto de resultados alcanzados hasta la fecha sugiere que la aplicación de métodos basados en conjuntos de modelos, permite obtener resultados más robustos en las proyecciones climáticas.
Amador, J. 1998. "A climatic feature of the tropical Americas: the trade wind easterly jet". Top Meteor Oceanogr 5:91-102.
Amador, J.; & Magaña, V. O. 1999. "Dynamics of the Low Level Jet over the Caribbean Sea". Preprints 20th Conference in Tropical Meteorology. 10-15 January 1999, Dallas, Texas, American Meteorological Society, 401 y 402.
Ángeles, M. E.; González, J. E.; Erickson, III D. J.; & Hernández, J. L. 2007. "Predictions of future climate change in the Caribbean region using global general circulation models". Int. J. Clim. 27, 555-569, doi:10.1002/joc.1416.
Campbell, J. D.; Taylor, M. A.; Stephenson, T. S.; Watson, R. A.; & Whyte, F. S. 2010. "Future climate of the Caribbean from a regional climate model". Int. J. Clim . 31, 1866-1878, doi:10.1002/joc.2200.
Centella-Artola, A.; Bezanilla, A.; & Leslie, K. 2008. "A study of the uncertainty in future Caribbean climate using the PRECIS regional climate model". Technical report. Belmopan, Belize: Caribbean Community Climate Change Centre (CCCCC).
Dai A.; Meehl GA.; Washington WM.; & Wigley TML. 2001. "Climate change in the 21st century over the Asia-pacific region simulated by the NCAR CSM and PCM". Advances in Atmospheric Sciences 18(5): 639-658.
Diro, G.; Giorgi, F.; Fuentes-Franco, R.; Walsh, KJE.; Giuliani, G.; & Coppola, E. 2014. "Tropical cyclones in a regional climate change projection with RegCM4 over the CORDEX Central America domain". Climate change 125 (1), 79-94.
Giorgi, F. 2006. "Climate change hot-spots". Geophys. Res. Lett., 33, L08707, doi:10.1029/2006GL025734.
Giorgi, F. 2012. "RegCM4: model description and preliminary tests over multiple CORDEX domains". Clim Res 52:7-29.
Gordon, C.; Cooper, C.; Senior, C. A.; Banks, H.T.; Gregory, J. M.; Johns, T. C.; Mitchell, J. F. B.; & Wood, R. A. 2000. "The simulation of SST, sea ice extents and ocean heat transports in a version of th Hadley Centre coupled model without flux adjustments". Clim. Dyn., 16, 147-168.
Huffman, G. J. 2007. "The TRMM multi-satellite precipitation analysis: quasi-global, multi-year, combined-sensor precipitation estimates at fine scale". J. Hydrometeor. 8(1), 38-55.
IPCC, 2000. "Special report on emissions scenarios". Cambridge University Press' Cambridge, UK.. ISBN: 92-9169-113-5.
IPCC, 2013: Annex I: Atlas of Global and Regional Climate Projections [van Oldenborgh, G.J., M. Collins, J. Arblaster, J.H. Christensen, J. Marotzke, S.B. Power, M. Rummukainen and T. Zhou (eds.)]. In: Climate Change 2013: The Physical Science Basis. Contribution of Working Group I to the Fifth Assessment Report of the Intergovernmental Panel on Climate Change [Stocker, T.F., D. Qin, G.-K. Plattner, M. Tignor, S.K. Allen, J. Boschung, A. Nauels, Y. Xia, V. Bex and P.M. Midgley (eds.)]. Cambridge University Press, Cambridge, United Kingdom and New York, NY, USA.
IPCC, 2014. "Climate Change 2014: Synthesis Report. Contribution of Working Groups I, II and III to the Fifth Assessment Report of the Intergovernmental Panel on Climate Change". [Core Writing Team, R.K. Pachauri and L.A. Meyer (eds.)]. IPCC, Geneva, Switzerland, 151 pp.
Jones, R. G.; Noguer, M.; Hassell, D.; Hudson, D.; Wilson, S.; Jenkins, G.; & Mitchell, J.; 2003. "Workbook on generating high resolution climate change scenarios using PRECIS". UNDP, GEF, and Met Office Hadley Centre Manual, 32 pp.
Jones, J. J.; Stephenson, T. S.; Taylor, M. A.; & Campbell, J. D. 2016. "Statistical downscaling of North Atlantic tropical cyclone frequency and the amplified role of the Caribbean low-level jet in a warmer climate". J. Geophys. Res. Atmos., 121, 3741-3758, doi:10.1002/2015JD024342.
Karmalkar, A. V.; Bradley, R. S.; & Diaz, H. F. 2011. "Climate change in Central America and Mexico: regional climate model validation and climate change projections". Clim Dyn, 37: 605. https://doi.org/10.1007/s00382-011-1099-9.
Karmalkar, A. V.; Taylor, M. A.; Campbell, J.; Stephenson, T.; New, M.; Centella, A.; Bezanilla, A.; & Charlery, J. 2013. "A review of observed and projected changes in climate for the islands in the Caribbean". Atmósfera 26(2), 283-309.
Martínez-Castro, D.; Borrajero, I.; Bezanilla-Morlot, A.; & Centella, A. 2011. "The occurrence of tropical cyclones in the Caribbean and Mexico and global warming. Application of a regional climate model". (In Spanish Abstract in English) Rev. Ciencias de la Tierra y el Espacio", 12, 2011. http://www.iga.cu/publicaciones/revista/cte_12/CTE12.html.
Meehl, G. A.; et al. 2007. "Global Climate Projections. In: Climate Change 2007: The Physical Science Basis. Contribution of Working Group I to the Fourth Assessment Report of the Intergovernmental Panel on Climate Change". Cambridge University Press, Cambridge.
McDonald, R. E.; Bleaken, D. G.; Cresswell, D. R.; Pope, V. D.; & Senior, C. A. 2005. "Tropical storms: representation and diagnosis in climate models and the impacts of climate change". Clim. Dyn . 25, 19-36.
Peterson, T. C.; & Vose, R. S. 1997. "An Overview of the Global Historical Climatology Network Temperature Database". Ame. Met. Soc.
Pope, V. D.; & Stratton, RA. 2002. "The processes governing horizontal resolution sensitivity in a climate model". Clim. Dyn . 19: 211-236.
Rudolf, B.; & Schneider, U.; 2005. "Calculation of gridded precipitation data for the global land-surface using insitu gauge observations" 2nd Workshop of the International Precipitation Working Group.
Reynolds, R. W.; & Smith T. M. 1994. "Improved global sea surface temperature analyses using optimum interpolation". J. Climate, 7, 929-948.
Solomon, S.; Qin D.; Manning M.; Chen Z.; Marquis M.; Averyt K.B.; Tignor M.; & Miller H.L. (eds), 2007. "The Physical Science Basis. Contribution of Working Group I to the Fourth Assessment Report of the Intergovernmental Panel on Climate Change. Cambridge University Press, Cambridge, United Kingdom and New York, NY, USA.
Stocker, T. F.; Qin, D.; Plattner, G. K.; Tignor, M.; Allen, S. K.; Boschung, J.; Nauels, A.; Xia, Y.; Bex, V.; & Midgley, P. M. (eds.) IPCC, 2013. "Climate Change 2013: The Physical Science Basis. Contribution of Working Group I to the Fifth Assessment Report of the Intergovernmental Panel on Climate Change". Cambridge University Press, Cambridge, United Kingdom and New York, NY, USA, 1535 pp.
Xie, P.; & Arkin, P. A. 1997. "Global precipitation: A 17-year monthly analysis based on gauge observations, satellite estimates and numerical model output". Bull. Amer. Meteor. Soc, 78, 2539-2558.