Compare commits
	
		
			2061 Commits
		
	
	
		
			mesa_3_4_2
			...
			embedded-1
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | f1f331ef4d | ||
|  | ca81dd07b7 | ||
|  | 8dbdb74d8a | ||
|  | 1b3edffdd1 | ||
|  | 12ee43bd7c | ||
|  | 1303475d38 | ||
|  | 56d99c8cdb | ||
|  | f29b41f2ed | ||
|  | 89d52a0de4 | ||
|  | b6fb04a81d | ||
|  | 7d55e9abf6 | ||
|  | 1ac609a7df | ||
|  | 00affe74c1 | ||
|  | f221b8df75 | ||
|  | 45bd335b1c | ||
|  | 6127672e26 | ||
|  | bb3752a434 | ||
|  | 56c896a2b8 | ||
|  | afc72872be | ||
|  | e511f40795 | ||
|  | a53f53ece3 | ||
|  | 24812b3eaa | ||
|  | 42e0f2ec95 | ||
|  | e4fcab7a35 | ||
|  | cd6d79a82c | ||
|  | a428744286 | ||
|  | ccc6ef28ca | ||
|  | 3100749dd0 | ||
|  | 980e98d324 | ||
|  | 2204d5bb46 | ||
|  | 67d3c57c46 | ||
|  | 9e24ff7a0a | ||
|  | e014d794f2 | ||
|  | a9bd5a6860 | ||
|  | 94643c4780 | ||
|  | 993502aebc | ||
|  | 932e26e8f4 | ||
|  | 54f4c8d1a3 | ||
|  | 277d7a2a85 | ||
|  | 0a98671051 | ||
|  | a47745e9fd | ||
|  | 69ce6b7db0 | ||
|  | 5d3ab07110 | ||
|  | 1613d48989 | ||
|  | 5a610a1974 | ||
|  | afb339bf75 | ||
|  | 16ca6f8e93 | ||
|  | 41b5963f8d | ||
|  | 99199c0ece | ||
|  | 368d95a7dc | ||
|  | 0218da1433 | ||
|  | 6cb2411250 | ||
|  | 0d3a504b94 | ||
|  | bde16645ca | ||
|  | 301f7e4408 | ||
|  | 173441d1a6 | ||
|  | 64b3e2fa16 | ||
|  | 6919c50029 | ||
|  | a8512f7dda | ||
|  | 70217c70be | ||
|  | 9d4857a816 | ||
|  | 3f00e34097 | ||
|  | 3e48e6fce4 | ||
|  | d1fa9af224 | ||
|  | c20d946424 | ||
|  | ff6068b217 | ||
|  | ed1b6e98e2 | ||
|  | b52901eb89 | ||
|  | cff70d16aa | ||
|  | bafbdcb703 | ||
|  | 50d1c2c921 | ||
|  | a1fd12ab84 | ||
|  | 360bec8a6f | ||
|  | 6440630d79 | ||
|  | 02a6f4b56a | ||
|  | f828410458 | ||
|  | 7b7af467dd | ||
|  | 3101d43a76 | ||
|  | d95443f030 | ||
|  | be49c0fef2 | ||
|  | 61d31cab97 | ||
|  | 7067815785 | ||
|  | ad79ba8208 | ||
|  | b8cdeaae3a | ||
|  | 4b930d3080 | ||
|  | 2b3cd85107 | ||
|  | 12acb24b60 | ||
|  | b4bc6375d1 | ||
|  | c91deeffc4 | ||
|  | 728dade650 | ||
|  | c3ded1b33d | ||
|  | 080ae6edb5 | ||
|  | b8bc33a6b1 | ||
|  | 1d7c610c2b | ||
|  | 70130333c2 | ||
|  | c608a0fb2a | ||
|  | 7f35ecd070 | ||
|  | ef9f2d4296 | ||
|  | 27b8f1d3ae | ||
|  | c35fb58c35 | ||
|  | eb998b80ea | ||
|  | b77ca3d2b7 | ||
|  | cdc64176f9 | ||
|  | da69c37f98 | ||
|  | 661a236d09 | ||
|  | b9f8f7f6a4 | ||
|  | 66f40571e1 | ||
|  | 6620693116 | ||
|  | 730cacfa01 | ||
|  | 2f05ae32c5 | ||
|  | d9ed9e1a9a | ||
|  | 6133ba36ec | ||
|  | 4b5f9479eb | ||
|  | 75019b24d1 | ||
|  | c9118dfaba | ||
|  | a140417be9 | ||
|  | ccf4e3e8f2 | ||
|  | 78e1fee39b | ||
|  | 75ccd62be8 | ||
|  | cd9df92c9d | ||
|  | cfe59bd3f9 | ||
|  | 62bc31dcae | ||
|  | 675f151c42 | ||
|  | 151cd27866 | ||
|  | c8facc28cc | ||
|  | 086e00e086 | ||
|  | 49116e9fd2 | ||
|  | 9d0eff73b5 | ||
|  | 81c7427ddc | ||
|  | 9e3c6f3b8e | ||
|  | 18a5321288 | ||
|  | 4c864746d6 | ||
|  | 19b1476515 | ||
|  | 2005348110 | ||
|  | 634a7b2f00 | ||
|  | d73e21620a | ||
|  | d5cfbef5ad | ||
|  | 1d08fddfe6 | ||
|  | 447ea351dd | ||
|  | 0ebc838481 | ||
|  | 14a7a05251 | ||
|  | c2edc07196 | ||
|  | 222a212569 | ||
|  | 78469e6e3d | ||
|  | 63d0a9055c | ||
|  | 27834f06b8 | ||
|  | c262531518 | ||
|  | 1b2c02ae98 | ||
|  | fb5f90d71b | ||
|  | 4fb1eb7be2 | ||
|  | cf119744c3 | ||
|  | b07ed0113a | ||
|  | d6d8d1dfce | ||
|  | f483ebddeb | ||
|  | 35fe61ce7b | ||
|  | c3b1d1e63c | ||
|  | 38bfead7d3 | ||
|  | 56f57500b9 | ||
|  | 2ce0615ef1 | ||
|  | 559af8ace4 | ||
|  | f73e37e154 | ||
|  | ec5b054b8f | ||
|  | 8a63d4bc99 | ||
|  | f58e67787f | ||
|  | deb4d4de47 | ||
|  | 1449a2f759 | ||
|  | f0b66442e8 | ||
|  | 8830b0a941 | ||
|  | deb5fe3b68 | ||
|  | 1e1e71e3a7 | ||
|  | 53362d8858 | ||
|  | af82796ed1 | ||
|  | 6ded963ac6 | ||
|  | b4f35d5191 | ||
|  | 0b9434aafd | ||
|  | fb02d9f4eb | ||
|  | 2b83583994 | ||
|  | 76415ea859 | ||
|  | 10d05983ef | ||
|  | 7c35ac6e82 | ||
|  | ca9cccd81c | ||
|  | ea9f98b04b | ||
|  | 8b4a34dcdb | ||
|  | 267bc32309 | ||
|  | 8618425250 | ||
|  | 24259ec2d0 | ||
|  | 97aa6f3734 | ||
|  | 6b723c7720 | ||
|  | 211f26ca95 | ||
|  | df7cbe873e | ||
|  | da8a7e15a6 | ||
|  | f6546f8384 | ||
|  | cd22e4b78c | ||
|  | 5ff65a62df | ||
|  | fd55975710 | ||
|  | c83b869ed2 | ||
|  | 592250e9fc | ||
|  | cdb267a918 | ||
|  | 2c2bcf8268 | ||
|  | 695b197cb2 | ||
|  | e17d611067 | ||
|  | 9df9883a7a | ||
|  | 22477c050e | ||
|  | 39afeb7cf0 | ||
|  | 9363bd862f | ||
|  | 83b936adb3 | ||
|  | 5134d4a98b | ||
|  | 2481eda853 | ||
|  | 6b31afc236 | ||
|  | 8fd39b4e8c | ||
|  | 094eed79c2 | ||
|  | d20f1768a6 | ||
|  | 3e06eed70a | ||
|  | 3e13551969 | ||
|  | 3af2be61fd | ||
|  | eb7eb6e171 | ||
|  | e931e819f9 | ||
|  | 95936ee9ba | ||
|  | 157d9a5ac6 | ||
|  | 134930b627 | ||
|  | a97ce86232 | ||
|  | 5ca95653c4 | ||
|  | 1f01a4b3b6 | ||
|  | 8645472e00 | ||
|  | 1929cacdbf | ||
|  | 65e30ac06a | ||
|  | 941efe8eda | ||
|  | ea4b887ef7 | ||
|  | ba8e63f05b | ||
|  | 117a2d76b6 | ||
|  | ce75913702 | ||
|  | cbc41d4332 | ||
|  | 40af4d7662 | ||
|  | 702b2802a0 | ||
|  | 44e4e437a0 | ||
|  | 366ca58ea6 | ||
|  | 90925c9777 | ||
|  | f6b40da9a7 | ||
|  | 80798c8eab | ||
|  | 65a7a3852d | ||
|  | cf8aede714 | ||
|  | 1e27ca69f8 | ||
|  | 9fcd566e60 | ||
|  | 78b5f5f44f | ||
|  | 8a82d9db15 | ||
|  | fa747cdb0a | ||
|  | fa50fae202 | ||
|  | 0fb48dba7c | ||
|  | 2f3585d4f1 | ||
|  | 7c7789c029 | ||
|  | 56ad63958b | ||
|  | aa0109bf96 | ||
|  | 0201db5a22 | ||
|  | 1a1069c7e9 | ||
|  | fc88680a39 | ||
|  | ff89f4b639 | ||
|  | 7d5b5c0438 | ||
|  | 6ccaeaaa16 | ||
|  | e4e72da501 | ||
|  | 67f87d2463 | ||
|  | 431c1740d5 | ||
|  | fa3f447234 | ||
|  | 3a08052714 | ||
|  | 424096d581 | ||
|  | 2e5a88ab6a | ||
|  | d520ff08d0 | ||
|  | ef0e1dcc2e | ||
|  | 6412641b19 | ||
|  | 3ee066b48f | ||
|  | 33c0b3e233 | ||
|  | 658145bd82 | ||
|  | 1b260aee24 | ||
|  | 9c799cdc49 | ||
|  | b4497c5843 | ||
|  | cdf2da368d | ||
|  | 36723b6538 | ||
|  | e21a79bfdd | ||
|  | 4d7a1289ed | ||
|  | 9d88c7d8f4 | ||
|  | 21709b354b | ||
|  | 62d821786c | ||
|  | 101b16cf41 | ||
|  | 069ad023b5 | ||
|  | 43cb96cbf6 | ||
|  | 1e9d43f56c | ||
|  | 7069a7e3d6 | ||
|  | d5cbe1e924 | ||
|  | d8c6273cf6 | ||
|  | 68b1d5c315 | ||
|  | f104619b8f | ||
|  | 04cf6f4958 | ||
|  | ad8cd6111e | ||
|  | e307931314 | ||
|  | 2dee6187e4 | ||
|  | b6d90e50ea | ||
|  | aa80f05484 | ||
|  | af76b4280c | ||
|  | 456bc69ac4 | ||
|  | 872c9baf00 | ||
|  | 0b0245c160 | ||
|  | 2c9e7ae38b | ||
|  | 7a4a6a3c4c | ||
|  | d1efbf0456 | ||
|  | 6e40539490 | ||
|  | 7348df5937 | ||
|  | c542351085 | ||
|  | 1cfae1adb2 | ||
|  | 42ace1c150 | ||
|  | cf1c860a34 | ||
|  | 8bfc9d71aa | ||
|  | 36b9b0e9d1 | ||
|  | f48216ad0f | ||
|  | 0d88328c7e | ||
|  | 66ab727101 | ||
|  | 25af66a67f | ||
|  | aca31cf6de | ||
|  | c4b40cc404 | ||
|  | aa3029bce1 | ||
|  | 8a738db519 | ||
|  | 4b01eb6e08 | ||
|  | 7d4d41a984 | ||
|  | 8115e29ddc | ||
|  | df45a985ed | ||
|  | d2e39bb050 | ||
|  | 969e1ac233 | ||
|  | 772752449d | ||
|  | a85fae9cb0 | ||
|  | 034e8641bb | ||
|  | 026b40f416 | ||
|  | 561e6723cf | ||
|  | e89f0792eb | ||
|  | e0e6bd7ae1 | ||
|  | 36481524ba | ||
|  | 07624e347b | ||
|  | 9627ed0631 | ||
|  | 8d43976858 | ||
|  | 9167d04dea | ||
|  | 2ad5921cf3 | ||
|  | e1e867c3b2 | ||
|  | 4663bd50f1 | ||
|  | 68a7ee5cbb | ||
|  | 36b518a7ca | ||
|  | f16a66e97d | ||
|  | 6ec6b845fd | ||
|  | 9dc11a3e38 | ||
|  | c5934054f3 | ||
|  | 3160edec33 | ||
|  | b2289a944e | ||
|  | 42649700e2 | ||
|  | ebe0b30c3e | ||
|  | 9bd8f97ea4 | ||
|  | 46b3f97654 | ||
|  | 05a4b37707 | ||
|  | fd062077c6 | ||
|  | 153f15497c | ||
|  | dec2a4d4b7 | ||
|  | d3975341e7 | ||
|  | 5f1651ddc5 | ||
|  | 367d308b82 | ||
|  | e781aec85d | ||
|  | a4f0b6884c | ||
|  | 92c195211a | ||
|  | c2836e9ac6 | ||
|  | 46458ba213 | ||
|  | 3c63452e64 | ||
|  | d0add7cf1a | ||
|  | cca4dedbfd | ||
|  | 4fbdedc0d5 | ||
|  | 47fe2fc105 | ||
|  | 8e6926f7c3 | ||
|  | e9283774dc | ||
|  | cf46208624 | ||
|  | e6962b183d | ||
|  | 60b003e197 | ||
|  | c7a219ec6f | ||
|  | ac9a65b1dd | ||
|  | ef31f60b12 | ||
|  | 53d30c56eb | ||
|  | 2ce0654eba | ||
|  | 8eaa290216 | ||
|  | 6ac04f2fc6 | ||
|  | 6e1ceff48b | ||
|  | e716549618 | ||
|  | 8c2a1f0e4d | ||
|  | 798d83cf67 | ||
|  | 6afdc0bec2 | ||
|  | 3e2fa3fd5c | ||
|  | bc36ee25d8 | ||
|  | 944ea204a8 | ||
|  | 10d343f407 | ||
|  | 673077c613 | ||
|  | 8dfc5b9863 | ||
|  | e32b909054 | ||
|  | 2efb3029f0 | ||
|  | 10882b17c9 | ||
|  | 0977fa67b8 | ||
|  | f7657d037e | ||
|  | d2ec14c4aa | ||
|  | d4ffbe4cca | ||
|  | dfedb8b78e | ||
|  | 9d00b68482 | ||
|  | 7c5282d2a8 | ||
|  | f2e21e1026 | ||
|  | 11fd2d7558 | ||
|  | 60b6e4fd7e | ||
|  | 795ae30787 | ||
|  | 45c569860c | ||
|  | cb4253a546 | ||
|  | 2871f57bcf | ||
|  | 32d0d5aec4 | ||
|  | f58826db57 | ||
|  | 8ad1076dc2 | ||
|  | 9e84910749 | ||
|  | b110ca34f0 | ||
|  | d54d4633fd | ||
|  | 813c96f458 | ||
|  | fbc236b401 | ||
|  | 23cdcede5d | ||
|  | 71072be182 | ||
|  | 0670eb259d | ||
|  | 433a084130 | ||
|  | 008a5dd7bb | ||
|  | 85678e0399 | ||
|  | c20579d651 | ||
|  | f2c5296dd7 | ||
|  | 59c5cf35c9 | ||
|  | 614301faca | ||
|  | ece3e63c98 | ||
|  | 5fd1cc2e0e | ||
|  | d3f6b0559f | ||
|  | b5974db277 | ||
|  | 8455203bc7 | ||
|  | f72a3da697 | ||
|  | cf69eeb1aa | ||
|  | 73029c5d75 | ||
|  | 5687740762 | ||
|  | 21666e3db4 | ||
|  | e4656003ca | ||
|  | fa647e8336 | ||
|  | 3265fe5f8e | ||
|  | f42d366bb6 | ||
|  | 4b334b2db6 | ||
|  | 6640bc3bfa | ||
|  | 248b3cf727 | ||
|  | 072edaf126 | ||
|  | fc80ad6e62 | ||
|  | f782b8189e | ||
|  | f8acbed50d | ||
|  | a42e7c9172 | ||
|  | be99e845bd | ||
|  | 0adce5d0ed | ||
|  | 641b2307ec | ||
|  | 8420ad94f2 | ||
|  | d8419c730e | ||
|  | 54f3aab0c7 | ||
|  | a329d68903 | ||
|  | 89fb06fcc1 | ||
|  | 1a0bfdc8c1 | ||
|  | 681b8c9d1b | ||
|  | b7808884bb | ||
|  | 551b65f137 | ||
|  | c5b9950660 | ||
|  | c62aeed003 | ||
|  | f022463aa6 | ||
|  | 5b18bb6a60 | ||
|  | ca6647b307 | ||
|  | 473e51f2fb | ||
|  | cbc1fb0a9a | ||
|  | b6e04ee7c8 | ||
|  | a9be374f82 | ||
|  | e1cb2fb571 | ||
|  | d5bbbd41c4 | ||
|  | 8cd2d0e782 | ||
|  | c84e84a734 | ||
|  | 57aca2bf6e | ||
|  | 99683bd830 | ||
|  | 4991d0f9f3 | ||
|  | 3ce6dc7f1d | ||
|  | 6c25e3a111 | ||
|  | 3f25b1a358 | ||
|  | 57df24a86c | ||
|  | 28bc6cb479 | ||
|  | 2f7ef5fae8 | ||
|  | e41c57758d | ||
|  | 7d7ec0ea91 | ||
|  | 6a1e1623fd | ||
|  | fdaa72bc43 | ||
|  | 5f60a0b50a | ||
|  | a2ae6faf1a | ||
|  | e14c151f0a | ||
|  | 530d4611eb | ||
|  | 3a03211aee | ||
|  | e7abc078ab | ||
|  | 0a7fc572a7 | ||
|  | 7e35cc53ce | ||
|  | 528afb5ff4 | ||
|  | 05ed911aca | ||
|  | b9f75444e6 | ||
|  | ba88dd0d92 | ||
|  | ed00b2ef33 | ||
|  | 391876e5e6 | ||
|  | 53880a85b6 | ||
|  | 41771982c4 | ||
|  | fb657ef91d | ||
|  | 8fefafa220 | ||
|  | 2188d002df | ||
|  | 62166908a9 | ||
|  | 1e0241d3c6 | ||
|  | 713800a495 | ||
|  | 2b930072b3 | ||
|  | b79e99ad60 | ||
|  | 3ac01f5e47 | ||
|  | 34713c1a3c | ||
|  | 5117a8214d | ||
|  | f569dc447a | ||
|  | 9f7011b88b | ||
|  | af3265fabd | ||
|  | 6bf6cd3418 | ||
|  | 7ae671446a | ||
|  | 46a035f76d | ||
|  | 10730663a1 | ||
|  | 1972ac661c | ||
|  | 3efe5beefc | ||
|  | 352c13f783 | ||
|  | ebe671cfad | ||
|  | ea53a5b5ab | ||
|  | 946ad2720a | ||
|  | 2a1abe3b46 | ||
|  | fb8ca95dff | ||
|  | a4ac844979 | ||
|  | e968686133 | ||
|  | 77df88727c | ||
|  | 2353e96c32 | ||
|  | 971df9b389 | ||
|  | c2656d588b | ||
|  | f1dee4fe8f | ||
|  | 54572c1b93 | ||
|  | c712425d0d | ||
|  | 5c711e3671 | ||
|  | e237491493 | ||
|  | f02a5f6cc5 | ||
|  | 902d2faadf | ||
|  | 8eaffa2a1c | ||
|  | 55c82c596e | ||
|  | 3b4fbbc129 | ||
|  | b4338e5887 | ||
|  | 89f9cf8add | ||
|  | c2fa38d5ae | ||
|  | 4336c28c84 | ||
|  | e201bef913 | ||
|  | 3c342ebd78 | ||
|  | e8ed14d0c2 | ||
|  | 2525bc7d30 | ||
|  | 1074d8c361 | ||
|  | 487047c060 | ||
|  | 4e9676fb13 | ||
|  | f1ad551604 | ||
|  | 058f319f60 | ||
|  | 7082420653 | ||
|  | 07bb9884a5 | ||
|  | 82d9f3c034 | ||
|  | 0c3f820bf0 | ||
|  | 4db3c48a13 | ||
|  | 581cc2025f | ||
|  | 8e7bd03760 | ||
|  | 2abbb660a2 | ||
|  | d65e0beb68 | ||
|  | 455d262c55 | ||
|  | 837bf6e2df | ||
|  | 775669f6ef | ||
|  | 02c03ef6b4 | ||
|  | f922986238 | ||
|  | 10d7f540ff | ||
|  | 85d816028a | ||
|  | d373819b8c | ||
|  | 83b820aa98 | ||
|  | 1043a6498a | ||
|  | d834e8da88 | ||
|  | 8816c70a61 | ||
|  | d66ca10c53 | ||
|  | e514cfea74 | ||
|  | 4e99da15eb | ||
|  | 9c0babf24f | ||
|  | e769cda1eb | ||
|  | bfa168e3fc | ||
|  | 8afe7de8de | ||
|  | 8bdd0dc8d0 | ||
|  | 9d47f3d6b8 | ||
|  | 4753d60dd0 | ||
|  | 5e54ddc3a6 | ||
|  | f8035450bb | ||
|  | 4c4663747c | ||
|  | d09a1d8b29 | ||
|  | 2f35d5e9d5 | ||
|  | 9a33a11d71 | ||
|  | 1013e46504 | ||
|  | 35883ceb93 | ||
|  | 4fe2f3f1a0 | ||
|  | b58c5ad7b0 | ||
|  | dd41748f63 | ||
|  | 3f058cd2c5 | ||
|  | 9800adaed2 | ||
|  | 112f7cdeab | ||
|  | f21a4872e8 | ||
|  | e0107e87a7 | ||
|  | 241afd837c | ||
|  | af2a1c1d67 | ||
|  | 28b03c6acb | ||
|  | f5a0781975 | ||
|  | 91d6f12b4a | ||
|  | 60f1a3c288 | ||
|  | 1d155c1dd8 | ||
|  | 4290dbac4d | ||
|  | a078d75a27 | ||
|  | 1c40d50014 | ||
|  | f105bc4095 | ||
|  | 6c408b4667 | ||
|  | 23d8ef3937 | ||
|  | 22538b23b4 | ||
|  | ee29d3b42a | ||
|  | 02e0de263e | ||
|  | 002483e009 | ||
|  | 9228a9362c | ||
|  | 79cfdebbe0 | ||
|  | 30ec9dbaed | ||
|  | a5cdf99951 | ||
|  | 056b35874b | ||
|  | f595212336 | ||
|  | c450d57991 | ||
|  | 18385b0f4e | ||
|  | 57c35b162e | ||
|  | df7bd4bf11 | ||
|  | fb68919362 | ||
|  | dc2270b461 | ||
|  | e694a8765a | ||
|  | 62c36a2ff3 | ||
|  | dec0131a29 | ||
|  | fdd631a941 | ||
|  | 62954c8c30 | ||
|  | bcc5d46b08 | ||
|  | f55b303fc2 | ||
|  | 61bac6014a | ||
|  | 28c61d5b49 | ||
|  | 12bab63f09 | ||
|  | f3781eaafa | ||
|  | b7752724d9 | ||
|  | 1113e3266f | ||
|  | 04df3bbe8e | ||
|  | 3fe2bb8933 | ||
|  | 4fa66fa85c | ||
|  | bf80e1ed62 | ||
|  | 05be7ae125 | ||
|  | 0c527ab054 | ||
|  | 533e88824a | ||
|  | 68c48df2bf | ||
|  | 26e2fb062a | ||
|  | 4c5f8a8207 | ||
|  | 7322cccfb9 | ||
|  | 6c5b7029b3 | ||
|  | a670c1280b | ||
|  | db07de057f | ||
|  | 36c3df78f4 | ||
|  | 55d9ee83b4 | ||
|  | 9ff3e9d992 | ||
|  | ef65c60d88 | ||
|  | 4c1f79264e | ||
|  | 620735af45 | ||
|  | d60bb2fbc8 | ||
|  | cffb351a62 | ||
|  | 8c598cfd82 | ||
|  | cb445412fc | ||
|  | d23de4d334 | ||
|  | b7f5e92f17 | ||
|  | 9add9a21d8 | ||
|  | 0cd8a1ea13 | ||
|  | 306d3fcdba | ||
|  | e503d8b56f | ||
|  | 0a79baf1bf | ||
|  | 851de7ded1 | ||
|  | c030a18ea6 | ||
|  | 17642eddf4 | ||
|  | ebe4e3237c | ||
|  | 14209028b6 | ||
|  | 4d030ba651 | ||
|  | db0944b08a | ||
|  | 42f916de5c | ||
|  | 01dc182ee8 | ||
|  | 486734a5d5 | ||
|  | 09784e1e15 | ||
|  | d5c94ef40d | ||
|  | 543381510d | ||
|  | 1d84421b7e | ||
|  | 6b50a004ff | ||
|  | 02ee456248 | ||
|  | db30cc8d00 | ||
|  | 99aab34199 | ||
|  | b63e8556fa | ||
|  | 31fe0ade35 | ||
|  | 9de4782e49 | ||
|  | f9e75c31e8 | ||
|  | 17b7cc4cae | ||
|  | 01bcd83def | ||
|  | 1537b63fce | ||
|  | 86a7cc6f2c | ||
|  | 6c921af034 | ||
|  | a97d216adb | ||
|  | 103bc0f75c | ||
|  | 23d319fc7d | ||
|  | a68b8dfd76 | ||
|  | f66de79365 | ||
|  | 934bee04f2 | ||
|  | 7c8b5399f0 | ||
|  | c028617784 | ||
|  | e6f2b4174b | ||
|  | 2161b8cf03 | ||
|  | 3c70f6f2ac | ||
|  | 636b2801d9 | ||
|  | 25b85bf02a | ||
|  | 4544bd22fd | ||
|  | 252250ae64 | ||
|  | e69bfe74d7 | ||
|  | 6211144e05 | ||
|  | 7de02fef5b | ||
|  | 819505ad2a | ||
|  | 8334c89e70 | ||
|  | e3af5354a6 | ||
|  | 491e573c38 | ||
|  | 80ac8d171c | ||
|  | aeb4434563 | ||
|  | d0570646bd | ||
|  | f7c830e35c | ||
|  | ac5bbe4c4a | ||
|  | 31f12f504e | ||
|  | bc6b60c4ff | ||
|  | 93c132a058 | ||
|  | 18a285a5e2 | ||
|  | 8d687e7e58 | ||
|  | 1d822ea8cf | ||
|  | a72edf01ba | ||
|  | 8843d52af1 | ||
|  | 612fc01293 | ||
|  | d488af5b34 | ||
|  | 9a888bdc2a | ||
|  | f9708e45ac | ||
|  | 1d01794e6e | ||
|  | 5033f21d05 | ||
|  | 1c91fe2e3f | ||
|  | a3e44f4531 | ||
|  | b43a828ad4 | ||
|  | 7fd50afbbf | ||
|  | 2b9ba3f84f | ||
|  | 5104b4d9df | ||
|  | 0b2fa873c6 | ||
|  | c5a76cbed4 | ||
|  | 09a0cb464d | ||
|  | aa24e9171a | ||
|  | e0193a9425 | ||
|  | c7a3356746 | ||
|  | d0271502f8 | ||
|  | ad7306b23c | ||
|  | 9ff74a0f15 | ||
|  | 711e27fda2 | ||
|  | 983bc3e018 | ||
|  | 4f252bd980 | ||
|  | c14a5a6c62 | ||
|  | 8baae48fb7 | ||
|  | f204c9d2bb | ||
|  | 9ac7182ec4 | ||
|  | 026c036be0 | ||
|  | 78a21f96b5 | ||
|  | 2e47ff7b9c | ||
|  | 9a3061715c | ||
|  | 4182cf60d9 | ||
|  | c9ceef41fe | ||
|  | a8f2efd147 | ||
|  | 70b8d304bb | ||
|  | 4ba35633d6 | ||
|  | c4c4213b69 | ||
|  | ce57201825 | ||
|  | 09700ee358 | ||
|  | a048da0767 | ||
|  | 3ff07d2062 | ||
|  | ca7596e834 | ||
|  | 95e2c72fd5 | ||
|  | d4e02d6026 | ||
|  | cbd9a0254e | ||
|  | 0cb28418d0 | ||
|  | 12a1024d9d | ||
|  | 38d042a4ad | ||
|  | 69d4ae7bb3 | ||
|  | db41d2ea8c | ||
|  | cc27365d77 | ||
|  | bcb148de92 | ||
|  | 2784dadafc | ||
|  | c4afba36c3 | ||
|  | 79c2f53491 | ||
|  | ac8c241e64 | ||
|  | b37a084357 | ||
|  | 733a4b602b | ||
|  | ceb39f4f8d | ||
|  | e79de014c5 | ||
|  | e0bafefd7a | ||
|  | 1cefc83a88 | ||
|  | eae38ca1b2 | ||
|  | 6e1666437e | ||
|  | 7956292a76 | ||
|  | f1e2369878 | ||
|  | 2a182a9897 | ||
|  | 6a731f343e | ||
|  | ad7e727024 | ||
|  | 6ee7a02852 | ||
|  | 8bd13de4cc | ||
|  | 4c8fadc6d9 | ||
|  | 9b681dcc17 | ||
|  | 2bc668d092 | ||
|  | ac9aa22174 | ||
|  | 2ef866d1fc | ||
|  | 674012f083 | ||
|  | 9958ace401 | ||
|  | 658702df97 | ||
|  | 028fe46fc5 | ||
|  | 72574b959c | ||
|  | 78940758e9 | ||
|  | b311950dde | ||
|  | 4197c0ea9b | ||
|  | 43df32e438 | ||
|  | 40fac75370 | ||
|  | 3d587f6432 | ||
|  | 164ce12202 | ||
|  | 83356781e1 | ||
|  | 858b694b64 | ||
|  | 25c5f1b448 | ||
|  | 2ff30b21bc | ||
|  | e19f5d7cb7 | ||
|  | 47507f4464 | ||
|  | f2e5c19a2f | ||
|  | 807aea838b | ||
|  | 24f7c0c944 | ||
|  | 03c0c2e8aa | ||
|  | fe9f62ff18 | ||
|  | 7fc487d38b | ||
|  | 1bb17ed0f2 | ||
|  | 21cb88911a | ||
|  | 3e276d43a2 | ||
|  | 166718f749 | ||
|  | c6755aa6d5 | ||
|  | 8e6d305c89 | ||
|  | 2edd1807f8 | ||
|  | 9927f1978d | ||
|  | 2e99cbd953 | ||
|  | 26c878ac16 | ||
|  | 0c5c1392ab | ||
|  | a701a1445c | ||
|  | 35e5e89f56 | ||
|  | 8927fbe9c5 | ||
|  | fd1727bd10 | ||
|  | d599190575 | ||
|  | 97291208cb | ||
|  | 571a1ac6ee | ||
|  | 363049160d | ||
|  | e2053d1690 | ||
|  | bc42c19f22 | ||
|  | bd1a9dacf6 | ||
|  | ca209ae1f9 | ||
|  | cab83b8aa9 | ||
|  | f48bfd66da | ||
|  | 714cdd88a4 | ||
|  | 5e1a4fdc3c | ||
|  | 8d0499b75e | ||
|  | 735d92029c | ||
|  | 78c2aa0b51 | ||
|  | efe2baadb8 | ||
|  | a0f923d286 | ||
|  | 1fb0a43c16 | ||
|  | 1a6f488908 | ||
|  | 2391f4cec6 | ||
|  | fc00cbe8d1 | ||
|  | 1643203a93 | ||
|  | a359d3488a | ||
|  | 3f9be68dc4 | ||
|  | fa6b2fba7a | ||
|  | f47efb5ab3 | ||
|  | c6a14906c6 | ||
|  | 530da27edb | ||
|  | 30f51ae067 | ||
|  | 645ced2955 | ||
|  | aea09490f5 | ||
|  | 3ade8af7ff | ||
|  | 10f30eb438 | ||
|  | 57d6e1aebf | ||
|  | c843a1a039 | ||
|  | 54772892bd | ||
|  | c11120270c | ||
|  | 9cb3947c56 | ||
|  | e3a0f39824 | ||
|  | 56790ced1a | ||
|  | b15a3b4d13 | ||
|  | d2237d48ec | ||
|  | c3d90f3211 | ||
|  | 36c77a81ad | ||
|  | 9745d47991 | ||
|  | 5cbd179121 | ||
|  | 92512085d5 | ||
|  | 16e2d94cc7 | ||
|  | c589af2fe2 | ||
|  | 7c8db694cc | ||
|  | 1668d4bab8 | ||
|  | eaf0eac7d3 | ||
|  | b70f5c21e7 | ||
|  | 15d4a2327d | ||
|  | a19d7c35cd | ||
|  | 1d1635d27b | ||
|  | b638c34381 | ||
|  | 797ea81d63 | ||
|  | 86b842790b | ||
|  | 680522f74c | ||
|  | faaa88fc48 | ||
|  | d313068dc8 | ||
|  | d9331ae71e | ||
|  | 59235bd5da | ||
|  | c3209d45ad | ||
|  | 5246b6c9d1 | ||
|  | 59e5b90452 | ||
|  | 09fc9324f6 | ||
|  | 74df2ef732 | ||
|  | ef4f5b391e | ||
|  | aecfb51c30 | ||
|  | 014ec1ac5e | ||
|  | 471a774f43 | ||
|  | c34cb25bdd | ||
|  | aa46094ca6 | ||
|  | 4ea18fc2dc | ||
|  | a8b25ada45 | ||
|  | 3a825a85f1 | ||
|  | bfd2ae6e99 | ||
|  | e6373ba6d7 | ||
|  | 3ac348c17a | ||
|  | fcc0abe6cf | ||
|  | bce1689d5b | ||
|  | 7b2a146d3a | ||
|  | 209e1348bd | ||
|  | 8ff271548a | ||
|  | 9c8cbe6950 | ||
|  | 4e6c835210 | ||
|  | d8af040f5e | ||
|  | e4eba73060 | ||
|  | 253270dfcc | ||
|  | 2f3d620398 | ||
|  | 70c05e6781 | ||
|  | 20517ce040 | ||
|  | 1b2976f79b | ||
|  | f660ec6ff8 | ||
|  | 358ed73e1d | ||
|  | 3183af39d0 | ||
|  | cbf9731119 | ||
|  | d4ece7b2f4 | ||
|  | d3be982783 | ||
|  | 3f766b7a89 | ||
|  | 71340e861e | ||
|  | 71515b9175 | ||
|  | 6d9b899342 | ||
|  | 50c31d6861 | ||
|  | 5b7dab2e4c | ||
|  | 17fe22d3bf | ||
|  | a6fdefa322 | ||
|  | 94dd6b8927 | ||
|  | a6a997c234 | ||
|  | b5fd886ee1 | ||
|  | 4fe0f9d2a9 | ||
|  | 6c0d72f9c0 | ||
|  | 199b931c07 | ||
|  | 0ee6a5604d | ||
|  | 1b37d6c305 | ||
|  | cd060fc3b4 | ||
|  | c32fe22168 | ||
|  | 853a4abab2 | ||
|  | fe9b705a2c | ||
|  | 4b7ccad682 | ||
|  | 87c964d388 | ||
|  | 85e7d7c1d8 | ||
|  | dc31d67c0e | ||
|  | acf0c0a1e1 | ||
|  | 52ef4cc59a | ||
|  | 9baad8e1ff | ||
|  | b10f995edf | ||
|  | a4b42200e9 | ||
|  | 0878456b46 | ||
|  | 3de5462ab1 | ||
|  | a7f8117153 | ||
|  | 45d21ca587 | ||
|  | 52d4c6ebb5 | ||
|  | 12e875ce4d | ||
|  | 5d26219288 | ||
|  | 40ba618a6f | ||
|  | e8245c1409 | ||
|  | ebc8b0aa5a | ||
|  | 7d63ac1e6b | ||
|  | fca1ce3a26 | ||
|  | e715c91000 | ||
|  | e11f089f82 | ||
|  | 470d3cd4a2 | ||
|  | 3d16c369d9 | ||
|  | b5bfe2f6ae | ||
|  | 439ded4e2a | ||
|  | b66103971c | ||
|  | bffae58175 | ||
|  | 3978d026ea | ||
|  | 8f47563559 | ||
|  | 47bcda78e2 | ||
|  | d3788b60ae | ||
|  | 31c40f0905 | ||
|  | 954f511473 | ||
|  | 968e557dcd | ||
|  | b1ee387ab5 | ||
|  | 220e77a3f7 | ||
|  | 0e94067d0d | ||
|  | 001f826f71 | ||
|  | 2427575c21 | ||
|  | 7bb6fcc19d | ||
|  | 5734421078 | ||
|  | 97856fd98a | ||
|  | 5ac8282a22 | ||
|  | a573803ed3 | ||
|  | 78a03d3c45 | ||
|  | 497d6eab66 | ||
|  | 05ba9becc3 | ||
|  | 445e3cbd0d | ||
|  | 38112f5b60 | ||
|  | 80d5855692 | ||
|  | 448b88bb80 | ||
|  | cfe52d8ae0 | ||
|  | f2a50b141e | ||
|  | 8674e709ee | ||
|  | 62eb2e5909 | ||
|  | fffc27015b | ||
|  | 7152305e0a | ||
|  | 7c4268176e | ||
|  | 2fc06af470 | ||
|  | b6bcfc1f6a | ||
|  | 37f2d5e696 | ||
|  | 7b9fe820a3 | ||
|  | c98541f54b | ||
|  | e9479f24ab | ||
|  | 573dd2206b | ||
|  | 4742735a5c | ||
|  | b14dcea418 | ||
|  | 94a6ec8f0c | ||
|  | 57c946096e | ||
|  | fde5e2c5f1 | ||
|  | 1f20952a92 | ||
|  | 04120f6cce | ||
|  | 7c276329e8 | ||
|  | edf8c06270 | ||
|  | 7cc49c2dc8 | ||
|  | 5ce1f374da | ||
|  | 675343c517 | ||
|  | 94666c4b55 | ||
|  | ba57e5297d | ||
|  | dcbe4d6d2f | ||
|  | d22554d2ce | ||
|  | 097d2a025e | ||
|  | e79f4b08d5 | ||
|  | 517903edcd | ||
|  | 306933046c | ||
|  | 30230a9cd1 | ||
|  | 9348cfc6e8 | ||
|  | 190d34874c | ||
|  | 62f75054cb | ||
|  | 7d5656bee7 | ||
|  | 7e975ba3aa | ||
|  | 9bed64cbf1 | ||
|  | 04ec0fd71e | ||
|  | a0037ad8b3 | ||
|  | a07e02fd01 | ||
|  | 0d6fd15840 | ||
|  | a8b07a539b | ||
|  | 2a88946f9a | ||
|  | afe4f5e6c1 | ||
|  | e7df7cd6ad | ||
|  | c123a9b2ed | ||
|  | 9babb73789 | ||
|  | d9fc8e20e3 | ||
|  | ac6daf97e1 | ||
|  | df631a866d | ||
|  | 233aafbb30 | ||
|  | fc1eadefeb | ||
|  | 976c26ca34 | ||
|  | 60174c1aef | ||
|  | 76a52525c7 | ||
|  | bd9b4056d7 | ||
|  | 3d1df5554e | ||
|  | 9a90775010 | ||
|  | b1a2393bb7 | ||
|  | c8a27838a0 | ||
|  | d922109eb3 | ||
|  | 978a2a0a43 | ||
|  | 2e5a20ae21 | ||
|  | b22fe91cdb | ||
|  | 8b59b52297 | ||
|  | 58cfa0fd90 | ||
|  | c6182ab54c | ||
|  | 94f494e780 | ||
|  | ebc9f221b2 | ||
|  | b5797a5085 | ||
|  | 696cd3d2b6 | ||
|  | bb40d07830 | ||
|  | 5e1680ce1d | ||
|  | 636fb6cae7 | ||
|  | 84170351db | ||
|  | 76ca0f5232 | ||
|  | 554ceab8ec | ||
|  | 51184566fb | ||
|  | c618005dcf | ||
|  | 3670e206a7 | ||
|  | 46af1f87c8 | ||
|  | 616f470629 | ||
|  | 2f65b316ff | ||
|  | 8a8d474068 | ||
|  | dae1774e20 | ||
|  | 086f1b8428 | ||
|  | 24d9350897 | ||
|  | 73fc243420 | ||
|  | 172281dad8 | ||
|  | e2df5de01c | ||
|  | d4cff4f2fa | ||
|  | bbf6a41d2f | ||
|  | 62c734f499 | ||
|  | ae40b2281d | ||
|  | 3c03f3232d | ||
|  | 4fa5c1966a | ||
|  | 55180f4b92 | ||
|  | f3b85c983f | ||
|  | 89480f7382 | ||
|  | 46e6c7ad54 | ||
|  | 48f3bdaeb3 | ||
|  | fd28445e10 | ||
|  | 2a9eca0ed4 | ||
|  | 3b925120a6 | ||
|  | 277fd2e66e | ||
|  | 5356031129 | ||
|  | 4ae22b9721 | ||
|  | 461b990508 | ||
|  | a1503b00f8 | ||
|  | fba5e95468 | ||
|  | 96385fa155 | ||
|  | 274fc30d31 | ||
|  | ac3958ea1b | ||
|  | ee6cf4c6b0 | ||
|  | 601ce1d624 | ||
|  | 5b22aa1e33 | ||
|  | f431a3fb4d | ||
|  | bc07a99cc3 | ||
|  | cff1cfd90d | ||
|  | 5c749d9e3c | ||
|  | b23f5b5a5c | ||
|  | 77a4754d73 | ||
|  | 0cab1db776 | ||
|  | 1182ffeec3 | ||
|  | fae7b778b8 | ||
|  | 571c8ecc8f | ||
|  | ac54173414 | ||
|  | 5233ca8d30 | ||
|  | 8564f0536b | ||
|  | 47a28c0b4d | ||
|  | 206eda8b69 | ||
|  | 9c38ae35eb | ||
|  | acc722d4b8 | ||
|  | 33170eeb18 | ||
|  | 4f76d0e215 | ||
|  | 8c2f6c5059 | ||
|  | 657323bf03 | ||
|  | 5e7591f94c | ||
|  | 9e5e5e35a0 | ||
|  | 4d99e5b2e7 | ||
|  | f6df34ecbe | ||
|  | d491f7bc14 | ||
|  | 1fb583c50d | ||
|  | 6738d2ac78 | ||
|  | 293b786cee | ||
|  | af197f5f8f | ||
|  | aba535e765 | ||
|  | 76f8274daf | ||
|  | 1b25898946 | ||
|  | 24ae7c4c1f | ||
|  | e4276667da | ||
|  | 65c6ca9179 | ||
|  | 03d6c4c2db | ||
|  | 2db44ffe9d | ||
|  | e9ba8e9214 | ||
|  | cd1cefae91 | ||
|  | cc22179cd8 | ||
|  | 1178ed817f | ||
|  | 688601911c | ||
|  | ae47121fa3 | ||
|  | 1676268eab | ||
|  | baace9ffca | ||
|  | 5ed63e0895 | ||
|  | d3778fc129 | ||
|  | a2162e4228 | ||
|  | 57b46ee6ea | ||
|  | e67d632d99 | ||
|  | 5891a5dd55 | ||
|  | 0ce9f39d23 | ||
|  | 5fd13173a1 | ||
|  | fabc30cfdd | ||
|  | 36822c50ad | ||
|  | 4a497e649b | ||
|  | a5455bb374 | ||
|  | 6f365c21d7 | ||
|  | 775355a88a | ||
|  | 0fab0702b0 | ||
|  | 470a7b4874 | ||
|  | a1164746e7 | ||
|  | ae14499101 | ||
|  | e4f84b4936 | ||
|  | b20cea3902 | ||
|  | 51b36396ae | ||
|  | abd5134965 | ||
|  | bd58a63fe8 | ||
|  | 2c2a956a3a | ||
|  | 4b7d6f216b | ||
|  | a7de8b6776 | ||
|  | 8a039ffe0a | ||
|  | 741c2e6434 | ||
|  | 4097590bc6 | ||
|  | 21f80baa35 | ||
|  | e715c4a62d | ||
|  | 987caacbeb | ||
|  | b5d3f2c521 | ||
|  | 529e48bb0f | ||
|  | 47a3c67fa6 | ||
|  | 71f2c401c5 | ||
|  | 84cac8441f | ||
|  | e4a01fd7e1 | ||
|  | 655ba5d992 | ||
|  | ffa10b1c3b | ||
|  | 645c1cef13 | ||
|  | 736fcbec47 | ||
|  | 5ff1c613ea | ||
|  | b0bb4f6226 | ||
|  | b95884c53d | ||
|  | 2a3cc7d907 | ||
|  | c98da4d99a | ||
|  | 12c1bee87f | ||
|  | e203c9cdd8 | ||
|  | 7cf50e137d | ||
|  | bcebfe647f | ||
|  | 9228e17bb5 | ||
|  | 55ed11bac5 | ||
|  | 874ae72495 | ||
|  | f6e0e92beb | ||
|  | 6f0ab1d868 | ||
|  | e34d63f087 | ||
|  | 04a6c35819 | ||
|  | 7943b349d6 | ||
|  | 8bd0693101 | ||
|  | 6b1e4ea5a5 | ||
|  | 300e1056f5 | ||
|  | 3893e638e6 | ||
|  | e7e38a47a8 | ||
|  | e9482d004f | ||
|  | d577248b89 | ||
|  | ca78774fc7 | ||
|  | 569b5f32b9 | ||
|  | 758a21f104 | ||
|  | 1341f40dfe | ||
|  | 5439ab0683 | ||
|  | 89dae684aa | ||
|  | 47cf442c11 | ||
|  | 441a4af435 | ||
|  | dbd0dad580 | ||
|  | c47a5327d3 | ||
|  | 5071b0812f | ||
|  | a51f07d5a1 | ||
|  | 9e48553ccc | ||
|  | 80532da3bf | ||
|  | d57bcbed46 | ||
|  | 0ab16e0134 | ||
|  | 649971518c | ||
|  | f89035b8c4 | ||
|  | 9bf68ad963 | ||
|  | 9cf779e7ac | ||
|  | b8d091d350 | ||
|  | 53e4ebd4e3 | ||
|  | d29e9dfe93 | ||
|  | c6083e1dc4 | ||
|  | b8f9980999 | ||
|  | 5759f53934 | ||
|  | 6d1055c967 | ||
|  | 1a3e034b12 | ||
|  | a5cc6155d4 | ||
|  | dbed202744 | ||
|  | bd3d9b9d04 | ||
|  | 8b6a91a93f | ||
|  | e296d7f0e4 | ||
|  | ad51be1ad4 | ||
|  | 72deb502d7 | ||
|  | bc69de5f21 | ||
|  | 7954a0cafd | ||
|  | f2bcadec7c | ||
|  | f50bbbf855 | ||
|  | 8acb7e9ea2 | ||
|  | 20dc7e6945 | ||
|  | b9f2494bfc | ||
|  | 91979127ec | ||
|  | 7884aa151f | ||
|  | a41edc31ce | ||
|  | 61cb081a35 | ||
|  | 78023e9808 | ||
|  | 7b9ff48d02 | ||
|  | f2bfc66c5d | ||
|  | cd487af90b | ||
|  | 5f2230c7bf | ||
|  | bcf749e83a | ||
|  | 335634b807 | ||
|  | e809379caf | ||
|  | 0a716cdff8 | ||
|  | 0ff31445f2 | ||
|  | bc920f08f5 | ||
|  | dae62174c5 | ||
|  | c5e907e501 | ||
|  | 95d0fe9c11 | ||
|  | c329f0824c | ||
|  | 43caa5c09a | ||
|  | a2519c8aed | ||
|  | 1b3528fe63 | ||
|  | 652a14a215 | ||
|  | a03463303d | ||
|  | 9e351d52ae | ||
|  | 5028216c81 | ||
|  | 531ac77263 | ||
|  | fe5cb830b1 | ||
|  | 104c9fde4e | ||
|  | 70bb907286 | ||
|  | adcc2ce92b | ||
|  | 7448e33768 | ||
|  | 5b976943ee | ||
|  | f4a003c3ca | ||
|  | 0e14d6d68e | ||
|  | 16837e4219 | ||
|  | ac4a41d198 | ||
|  | 3d49061bfc | ||
|  | d92f615fe5 | ||
|  | 1018a16f39 | ||
|  | f358988f2e | ||
|  | 04a374bd05 | ||
|  | 51c0c71811 | ||
|  | 27b0758a94 | ||
|  | 1832f1cc86 | ||
|  | 75978bd85e | ||
|  | 4dbd625eaf | ||
|  | 785c3469f4 | ||
|  | f20ea88f88 | ||
|  | 11785d441d | ||
|  | 908be619fd | ||
|  | 8bce6a217a | ||
|  | 5a2f32b102 | ||
|  | 830bf65275 | ||
|  | 73ccfa0e9a | ||
|  | 3bfd0e6f9f | ||
|  | 31acab88f2 | ||
|  | 08b3ff10d3 | ||
|  | df4fd765d5 | ||
|  | 8753bd8900 | ||
|  | 691f58930b | ||
|  | 29acfe5bd4 | ||
|  | ad608fe44d | ||
|  | cb6ae7b16b | ||
|  | b570a180da | ||
|  | 0a31a67269 | ||
|  | 1c85aa3332 | ||
|  | 3518a7950f | ||
|  | e3a7cc1f9e | ||
|  | 5ff4075a69 | ||
|  | 4c00e30ef0 | ||
|  | 54207dfde6 | ||
|  | 18acf6e6f1 | ||
|  | 3004bf8fd7 | ||
|  | 2b7c042525 | ||
|  | 72fc93302c | ||
|  | bcfe3936a8 | ||
|  | 15eddf38fb | ||
|  | a6c6fce7e8 | ||
|  | 0d47d26a68 | ||
|  | 62c24f315b | ||
|  | a2ade36eb1 | ||
|  | bf478280eb | ||
|  | 77ff5e038a | ||
|  | 608889d18f | ||
|  | 93de8d3d86 | ||
|  | 6ac852d45b | ||
|  | 33143303fe | ||
|  | 148bd34079 | ||
|  | 8a09c3a34b | ||
|  | c818d6cce5 | ||
|  | 30c75badd1 | ||
|  | d3abe14a3a | ||
|  | 2aacac9a5d | ||
|  | 01429fa46a | ||
|  | 36f3712e85 | ||
|  | 7d58f44f73 | ||
|  | bb0830da9e | ||
|  | bb95cf8934 | ||
|  | bc80faa7d9 | ||
|  | a9e2abdcfb | ||
|  | 2e1ed6447a | ||
|  | 9d205e3542 | ||
|  | 373aea11c8 | ||
|  | 67f7554232 | ||
|  | 347b3f0daf | ||
|  | e116d3b3e5 | ||
|  | 7b0b2ec73a | ||
|  | 5e23af22f7 | ||
|  | afc5699b08 | ||
|  | ed39a43b8c | ||
|  | 2780ed4b97 | ||
|  | 3d5815f463 | ||
|  | ee403ff0ba | ||
|  | 1b2fef5c28 | ||
|  | 8e48a232fe | ||
|  | c41edfb7c4 | ||
|  | 3d9168025c | ||
|  | f1f288182e | ||
|  | 16a8e986ce | ||
|  | d082417dae | ||
|  | 5bfaa2f12e | ||
|  | 38e3675d7d | ||
|  | 0a59ca6cae | ||
|  | 38f28665bf | ||
|  | 53933fe9db | ||
|  | 29cded2654 | ||
|  | c7aeb8bf1f | ||
|  | 46560b94ae | ||
|  | 3c257e187b | ||
|  | fb8af6fc97 | ||
|  | 81e3955acf | ||
|  | 197c526d63 | ||
|  | 19d1e43261 | ||
|  | a767bff929 | ||
|  | 5479e93031 | ||
|  | 8afa9e593b | ||
|  | 0a355dc010 | ||
|  | 25a5dc2ea7 | ||
|  | 06ed3f0a0a | ||
|  | 6dbb39025c | ||
|  | 5535aca5df | ||
|  | 0bc933a460 | ||
|  | 2bb04cad14 | ||
|  | 425fea1c34 | ||
|  | 577f318e0e | ||
|  | 63fae71713 | ||
|  | 355da23785 | ||
|  | 39557c3921 | ||
|  | 6d62d7f321 | ||
|  | 4672b2d88c | ||
|  | b3678f1080 | ||
|  | 8b7dfa8526 | ||
|  | 7387394e59 | ||
|  | 19bf744556 | ||
|  | 3427e3547e | ||
|  | df1e73af7a | ||
|  | ea1bfcc80a | ||
|  | 2f177e2906 | ||
|  | 7acad72a1a | ||
|  | 8806915c3a | ||
|  | a13df148df | ||
|  | 1a59875367 | ||
|  | e9313a64c1 | ||
|  | d2733fa196 | ||
|  | 8ac1f97e9e | ||
|  | 6f3178a3be | ||
|  | 1639518b64 | ||
|  | 935d5e5daa | ||
|  | 0299ad7532 | ||
|  | c8cfbf7c19 | ||
|  | 2743def830 | ||
|  | fa6be6e77a | ||
|  | f5328c534d | ||
|  | 16cdc6ab12 | ||
|  | 56671022f9 | ||
|  | b5f0de18b9 | ||
|  | 23f48064b8 | ||
|  | 815ad714b4 | ||
|  | f3e3178751 | ||
|  | 68af9a0773 | ||
|  | 4e856077b7 | ||
|  | 6507d9249d | ||
|  | e18599a6c3 | ||
|  | 92eac1c765 | ||
|  | b048d8e084 | ||
|  | 7098924599 | ||
|  | d9bf6ccce9 | ||
|  | 371ef9c058 | ||
|  | ad7ce73609 | ||
|  | 264c6fd177 | ||
|  | 3fa4bd008c | ||
|  | 7ea33579e7 | ||
|  | 6b406bf09d | ||
|  | 2f9757f344 | ||
|  | 2c3d34c905 | ||
|  | 6e550baa0a | ||
|  | bcc513ebf5 | ||
|  | 47489c0721 | ||
|  | c6e2d29cde | ||
|  | eb11fa73ec | ||
|  | 47cbbcc1b6 | ||
|  | 1bb327ebdb | ||
|  | 84c8964116 | ||
|  | 77cc447b96 | ||
|  | 24fab8e250 | ||
|  | b082abc28f | ||
|  | c6742cedee | ||
|  | 3709db0e17 | ||
|  | 3df1e04b10 | ||
|  | 2a938d3ab7 | ||
|  | 79b2d13ae2 | ||
|  | d4eb665c60 | ||
|  | 467037de22 | ||
|  | 22144ab755 | ||
|  | 57ffddba98 | ||
|  | de6a2e0d19 | ||
|  | d8aa0269cd | ||
|  | b1b4036656 | ||
|  | 53e4bf9afd | ||
|  | ca8c6a0337 | ||
|  | 95e02a210e | ||
|  | 896e8bd2d7 | ||
|  | 417ed16a88 | ||
|  | a28fa45ab7 | ||
|  | 01915e90e6 | ||
|  | eac57f009e | ||
|  | 9cb9401e87 | ||
|  | 4da75f6d91 | ||
|  | b51b0a847d | ||
|  | 249aebdd35 | ||
|  | 90ea526114 | ||
|  | be3d539dac | ||
|  | ac859a4cbd | ||
|  | 75280a2c74 | ||
|  | 89700a4abd | ||
|  | 0ceb82b838 | ||
|  | 3db5374e66 | ||
|  | d395251b35 | ||
|  | d49081302a | ||
|  | 3c646597cf | ||
|  | a11c0bcf97 | ||
|  | 865322f931 | ||
|  | d62269757b | ||
|  | 188f2949ea | ||
|  | 0883634178 | ||
|  | 19bbfc6263 | ||
|  | 85312e6db1 | ||
|  | eb2b63877a | ||
|  | 6a2d72ecff | ||
|  | 6da33b1249 | ||
|  | 0fe593a71e | ||
|  | d89c87ac40 | ||
|  | b4203c1c49 | ||
|  | 0221e4d6c8 | ||
|  | feb555af03 | ||
|  | be3602da41 | ||
|  | 6a9851d72d | ||
|  | bf8b5f99a1 | ||
|  | 2eb801cda2 | ||
|  | 8753b1c397 | ||
|  | bed4c5bf58 | ||
|  | 18c516655f | ||
|  | 01a5dd879b | ||
|  | 6975540db2 | ||
|  | 806e20f463 | ||
|  | 511378b05d | ||
|  | eb198d2702 | ||
|  | 1f57563b9d | ||
|  | 30038ecaa2 | ||
|  | feca368c29 | ||
|  | 0d04827f6d | ||
|  | 74b775e14d | ||
|  | dab76b4dc5 | ||
|  | ea83bacf9c | ||
|  | 69c283e061 | ||
|  | abe094e4a1 | ||
|  | 4eebc90a17 | ||
|  | 8bbc71f2eb | ||
|  | 0a0595f2d3 | ||
|  | 03ca5eb58f | ||
|  | d6c3f73fb4 | ||
|  | 1399d7650d | ||
|  | c499ce31ba | ||
|  | 0c75c4c417 | ||
|  | 2aadbf41df | ||
|  | aaf5a9bb08 | ||
|  | e75d2424e5 | ||
|  | 8f9a594ac8 | ||
|  | f7e1dfeaef | ||
|  | 23e8d46e07 | ||
|  | 8a42f6b359 | ||
|  | 4539e9195d | ||
|  | 46b0988c67 | ||
|  | 2448fc7dee | ||
|  | 86ca15ece7 | ||
|  | c6b2a92613 | ||
|  | 4e52e192b2 | ||
|  | 4de3ded28a | ||
|  | 4e492363f0 | ||
|  | b5fb4fd55b | ||
|  | 88c5ceb650 | ||
|  | c3a4dbfbd6 | ||
|  | 45323646bd | ||
|  | 10686f42c9 | ||
|  | dc866313af | ||
|  | 8f28f4850b | ||
|  | 479fa1db1d | ||
|  | a81b3532f7 | ||
|  | 3c84ab90f2 | ||
|  | 15bf1cd129 | ||
|  | ccc8b9239c | ||
|  | 18ce0f1254 | ||
|  | 9db3f95ace | ||
|  | 1f12a07380 | ||
|  | 1ceda0f84f | ||
|  | 9a0b12ab00 | ||
|  | b4736f5e17 | ||
|  | 5c55aa4e61 | ||
|  | a1f1586bcb | ||
|  | b8e1c70ec1 | ||
|  | fb1565bcdd | ||
|  | 6830123a4c | ||
|  | 43bc364af4 | ||
|  | 03d967abb5 | ||
|  | 6628bc9cff | ||
|  | dde2da64b5 | ||
|  | 78ad878b66 | ||
|  | f378ab825c | ||
|  | 8e39ad2cd6 | ||
|  | 16461f7c53 | ||
|  | d1baa05439 | ||
|  | 8fd9f1748d | ||
|  | 228748bc49 | ||
|  | d8bc5a9eba | ||
|  | db7a3318aa | ||
|  | 71270195d5 | ||
|  | 6e9f8b7cdb | ||
|  | fe69cb4b9b | ||
|  | 6d689e8a69 | ||
|  | eeb861df0b | ||
|  | d68b699291 | ||
|  | e56cc3970f | ||
|  | f2515fa83e | ||
|  | 426628c374 | ||
|  | 326f9ddd8a | ||
|  | ba70e59e82 | ||
|  | 961b7cad05 | ||
|  | 184a575a00 | ||
|  | 407b487017 | ||
|  | d98fdad3bf | ||
|  | 5c1e7fa6ee | ||
|  | 4b90e68ac6 | ||
|  | e5dfe384ad | ||
|  | d6dd0fceb1 | ||
|  | f3da389ae0 | ||
|  | ab36c9aa1c | ||
|  | 9533fd1842 | ||
|  | 74b493a5e6 | ||
|  | 125fddc31d | ||
|  | 6140a8c65f | ||
|  | 4e3e9ac8fb | ||
|  | 2b2e62154d | ||
|  | b6bcae5698 | ||
|  | ab0c886a6c | ||
|  | f2718b0966 | ||
|  | 39927e60ea | ||
|  | c0bcd2ca99 | ||
|  | 547bbcabff | ||
|  | d292b83d1a | ||
|  | d43a5943d8 | ||
|  | 230928ad5f | ||
|  | 3fd01320f1 | ||
|  | ab8b047ae5 | ||
|  | 8415686ea2 | ||
|  | 321f67c472 | ||
|  | a087c7421b | ||
|  | 3f9ee180a8 | ||
|  | e448d6cf0c | ||
|  | ce656b6a0a | ||
|  | bfa023921c | ||
|  | d7fc376de8 | ||
|  | 7a1f3a37a1 | ||
|  | b980b2eeb6 | ||
|  | 44d8de433e | ||
|  | e9bf776711 | ||
|  | 78477947de | ||
|  | ba8f6172bd | ||
|  | c851646050 | ||
|  | 8cbc573eae | ||
|  | 2d7e25c9ff | ||
|  | f4b02d1a26 | ||
|  | 58e9917053 | ||
|  | f22c04cdae | ||
|  | 6517211e12 | ||
|  | 2fd9c8690f | ||
|  | 63cca75e63 | ||
|  | 1c768645c5 | ||
|  | d14fce03f0 | ||
|  | 08dfacd425 | ||
|  | 6532db9868 | ||
|  | 3b399df638 | ||
|  | c1d89d4391 | ||
|  | a580e1adb7 | ||
|  | 3041d05bbc | ||
|  | 8446d1bab1 | ||
|  | 6f89984fed | ||
|  | ef68e7bf71 | ||
|  | 88f3b89a2c | ||
|  | e5d6fb20a5 | ||
|  | 123ff6549b | ||
|  | bc28306f4a | ||
|  | 4e96ac080a | ||
|  | a884b4b811 | ||
|  | 4292e9c06b | ||
|  | 20911cb17c | ||
|  | 1b686cedf4 | ||
|  | 376d022e4a | ||
|  | ae8ec0b30d | ||
|  | 93259cdfa1 | ||
|  | 719344b23e | ||
|  | 770169f230 | ||
|  | 9ef50d5826 | ||
|  | cab974cf6c | ||
|  | d1ff1f6798 | ||
|  | 05ecec6f49 | ||
|  | 9da422c639 | ||
|  | f1d6b38441 | ||
|  | 74e2dd38ed | ||
|  | 783d7dfcbf | ||
|  | 083e466f88 | ||
|  | daabce72db | ||
|  | 4536021a62 | ||
|  | a2003c2895 | ||
|  | b0dbd3ed13 | ||
|  | ac522d4756 | ||
|  | 813882526d | ||
|  | 3cbbef53bc | ||
|  | 062bc07bde | ||
|  | 75639547e7 | ||
|  | b38ad54c41 | ||
|  | 3afb7a0f70 | ||
|  | b04bcd14ee | ||
|  | 14586916b9 | ||
|  | 90f042ae8d | ||
|  | 8aa019d2ef | ||
|  | ab6e78f3a0 | ||
|  | 89c9a4cbf2 | ||
|  | 2f911cdf17 | ||
|  | 67adba15a2 | ||
|  | 90f8ebfd8f | ||
|  | 2e5819270b | ||
|  | ec15398681 | ||
|  | 23b1503d79 | ||
|  | fed386cdc0 | ||
|  | 536ede7e00 | ||
|  | 1c6701e1e1 | ||
|  | cba2ca94f1 | ||
|  | 06d05afdd6 | ||
|  | fb7899bfec | ||
|  | c1b97d91c7 | ||
|  | 83886a5a7f | ||
|  | ab9e273c75 | ||
|  | 2ac44e2509 | ||
|  | fac5fd258c | ||
|  | 7853901372 | ||
|  | 28861b192f | ||
|  | 7f55eb2b14 | ||
|  | 86ca491ade | ||
|  | bfea97321c | ||
|  | 45015e4d79 | ||
|  | 4304790e3e | ||
|  | 6a35de3cc3 | ||
|  | 72ef753d5c | ||
|  | 297dfa0fbf | ||
|  | a864432fb4 | ||
|  | 50478ded80 | ||
|  | 33b2dcf0da | ||
|  | 68656667b2 | ||
|  | 9aff6cfdc3 | ||
|  | 65dcc30599 | ||
|  | b014986fdb | ||
|  | ad2ac216fa | ||
|  | 00608a79dc | ||
|  | cdfba5d375 | ||
|  | 30e5ef86a0 | ||
|  | dbd1e2b599 | ||
|  | 22f5dc74c7 | ||
|  | 5e3bc0c2a2 | ||
|  | fbe3726050 | ||
|  | e3048be8ba | ||
|  | 0c000ec90c | ||
|  | c34cea7de5 | ||
|  | 26d729581f | ||
|  | 5c0dccc896 | ||
|  | baf3e77ee2 | ||
|  | 3c2e1022ed | ||
|  | 189476f265 | ||
|  | ce2733b7cc | ||
|  | 2ac294e67f | ||
|  | 1487b3ea3e | ||
|  | a852378a62 | ||
|  | b12d8e3b0d | ||
|  | 54d7a74532 | ||
|  | a13fab59ae | ||
|  | ede37839ae | ||
|  | 9b5bb5939b | ||
|  | 6b2eab1869 | ||
|  | 912d3a04c1 | ||
|  | 5a9026c65d | ||
|  | 9e83e8c790 | ||
|  | 23caf20169 | ||
|  | 1795166732 | ||
|  | 0a82c75eab | ||
|  | 24a32627d9 | ||
|  | 30971cd098 | ||
|  | 4fae0260a6 | ||
|  | f930330d5f | ||
|  | c19d783e07 | ||
|  | 1e1aac034c | ||
|  | 6b8ae62d6b | ||
|  | a2c4c98023 | ||
|  | d45fdeae35 | ||
|  | dd11e7664d | ||
|  | 7351049dba | ||
|  | e7f55e76db | ||
|  | bc58b7b409 | ||
|  | b5012e1ee1 | ||
|  | df37d5f2db | ||
|  | 8a9507442a | ||
|  | 78bb78d1c3 | ||
|  | ba41b8afb1 | ||
|  | 6c4268204b | ||
|  | db6aa58267 | ||
|  | 8e3366fda7 | ||
|  | 3d960a0d84 | ||
|  | 71be653edc | ||
|  | 5605385194 | ||
|  | 14425aeca1 | ||
|  | 7298e71360 | ||
|  | 2d595d7020 | ||
|  | 8d915cb6fb | ||
|  | 4f3e7cd3cf | ||
|  | 8fa6b363db | ||
|  | 790ea3dc7f | ||
|  | 861ca519ab | ||
|  | b2ad0754b0 | ||
|  | 0070d398d1 | ||
|  | 7798374e47 | ||
|  | 14940c4ffe | ||
|  | 1e885f6e6c | ||
|  | ec0585883a | ||
|  | cd03ed4f54 | ||
|  | 7c20642b10 | ||
|  | c6f348cbc9 | ||
|  | a190221f70 | ||
|  | 8e4fa8c3e6 | ||
|  | 44bd53f259 | ||
|  | fcb23bbd6e | ||
|  | 75d7425061 | ||
|  | 5f5632c424 | ||
|  | 861eb8eb16 | ||
|  | 563d26b247 | ||
|  | b35ec1ca05 | ||
|  | 9f568e512f | ||
|  | acdb6db846 | ||
|  | fda3b1a4b1 | ||
|  | 724abeb058 | ||
|  | e3a051e053 | ||
|  | 6e0f0f51e0 | ||
|  | 039bf534aa | ||
|  | efeddebe81 | ||
|  | 365dc68c39 | ||
|  | 9499e017b7 | ||
|  | caef4a35d6 | ||
|  | 6ad2c5b59a | ||
|  | 69676ac379 | ||
|  | a96308c37d | ||
|  | a457549967 | ||
|  | 193005393d | ||
|  | ebb248aa5c | ||
|  | 699bc7b73d | ||
|  | c893a015d8 | ||
|  | ba643a2094 | ||
|  | a897b335be | ||
|  | 1aa958bc9c | ||
|  | 1c4b3f4dfb | ||
|  | 7dd57a48e1 | ||
|  | a14cbff8e5 | ||
|  | fe5d67d95f | ||
|  | ba58a6665f | ||
|  | b4df56fcd9 | ||
|  | 7460cfabbc | ||
|  | 66202b75d5 | ||
|  | 7ceffd0e0d | ||
|  | 27a26bfc4b | ||
|  | 21d073d55a | ||
|  | 9a4a958a5c | ||
|  | 6cdf09749c | ||
|  | 0448488e11 | ||
|  | 5a501fbd09 | ||
|  | 5bb27edac0 | ||
|  | edda9ae9fb | ||
|  | ac018f5494 | ||
|  | fc2427e81b | ||
|  | e188b6e1f1 | ||
|  | eb326f5f01 | ||
|  | d0d7d62120 | ||
|  | d475730357 | ||
|  | a2d2aed64a | ||
|  | 9c7ca850fd | ||
|  | a5b66333fb | ||
|  | 9f0bb59c53 | ||
|  | cc50ed60b3 | ||
|  | 6aafd2491c | ||
|  | ce938b307e | ||
|  | d367216678 | ||
|  | 1873b567b2 | ||
|  | 1100b4daa3 | ||
|  | 35324a6c60 | ||
|  | 1791901468 | ||
|  | fdf2033bda | ||
|  | 2c7e6334ec | ||
|  | fa849a0e16 | ||
|  | 55590ee810 | ||
|  | 476609c539 | ||
|  | 16eb23a0cb | ||
|  | 22f1ca0131 | ||
|  | 9c05c0494d | ||
|  | 4f66498304 | ||
|  | e92dd16605 | ||
|  | eb6c6439ae | ||
|  | 37a6211795 | ||
|  | 574c456a5a | ||
|  | f142a0830a | ||
|  | 643be95416 | ||
|  | 6542324cb0 | ||
|  | b1394fa92a | ||
|  | 3b18a36f21 | ||
|  | 63c113a31b | ||
|  | 423f2b2884 | ||
|  | b9b329d1e5 | ||
|  | 5e0bb98abd | ||
|  | 5aa1c1cd5f | ||
|  | 1c56fdc707 | ||
|  | f3c399ec11 | ||
|  | 345a71a9cb | ||
|  | 4ed1d0b2c0 | ||
|  | 1ff933b452 | ||
|  | 98b3dd40f7 | ||
|  | 771b975528 | ||
|  | 4360bd7c76 | ||
|  | cefc42f1ba | ||
|  | 008e4e7e39 | ||
|  | 0e52184c48 | ||
|  | f7a4bcaf79 | ||
|  | 64a23a0f9c | ||
|  | 23316033db | ||
|  | ae18872bc7 | ||
|  | a94ee16534 | ||
|  | 881ec9ee67 | ||
|  | 8d4bd87c1a | ||
|  | e4b684ce49 | ||
|  | d49b34a233 | ||
|  | b8cc150836 | ||
|  | 4df1f7c7ba | ||
|  | 82cfcfa63a | ||
|  | b9466fca3e | ||
|  | 8f39dd1e62 | ||
|  | 038573aae7 | ||
|  | b506d8753d | ||
|  | 9a2da667f3 | ||
|  | 399ae35ac6 | ||
|  | 9d3e5db9fc | ||
|  | 7f7b205259 | ||
|  | 48c6a6ecd2 | ||
|  | e18e0e98fe | ||
|  | 46dbaec56a | ||
|  | 2bf5d9470d | ||
|  | 8ad306baf6 | ||
|  | c4c639c9a4 | ||
|  | 18f73b622f | ||
|  | 16c3ea9459 | ||
|  | 693f81be4c | ||
|  | 38d3f3d660 | ||
|  | 724f2939f4 | ||
|  | afa61173a8 | ||
|  | 37cfb3b5c2 | ||
|  | f96ce6a707 | ||
|  | c52fc9b49c | ||
|  | 9c27278acf | ||
|  | f75d697c03 | ||
|  | 45f3634ce3 | ||
|  | 3a71d05e53 | ||
|  | dca39e8911 | ||
|  | 01e54753ff | ||
|  | bc6f07856f | ||
|  | 513d486e75 | ||
|  | a805bb9691 | ||
|  | bfc6ee1b13 | ||
|  | e8a84a93aa | ||
|  | bed573586e | ||
|  | 328cb0b512 | ||
|  | b3fdfa1246 | ||
|  | 15915b03d0 | ||
|  | 5a0d3dc7b3 | ||
|  | b92d64e150 | ||
|  | f93b3dd69e | ||
|  | 116970154d | ||
|  | 8e053916c8 | ||
|  | 289d47eee5 | ||
|  | 148fb313c5 | ||
|  | e8e20ae598 | ||
|  | 8aee2a3326 | ||
|  | ef9025a641 | ||
|  | 5d3a95714c | ||
|  | cf8eebee07 | ||
|  | 732dd6f417 | ||
|  | 147b08328a | ||
|  | 7e70874420 | ||
|  | b5b5c52034 | ||
|  | f4f4dab25a | ||
|  | 043654bbfb | ||
|  | 9b61162d43 | ||
|  | 3f8a70e5dd | ||
|  | a6d46f6b99 | ||
|  | d4b799b60c | ||
|  | 46e8a51383 | ||
|  | 6339e621f5 | ||
|  | fa4525e289 | ||
|  | b1097f24a8 | ||
|  | e716184cae | ||
|  | 6f0294ca47 | ||
|  | e98276c859 | ||
|  | dff7924e25 | ||
|  | 094e2f1a67 | ||
|  | 7aac6d6b8e | ||
|  | 8deec7bf5f | ||
|  | 963946d3d7 | ||
|  | d4f6695a3e | ||
|  | 042066887b | ||
|  | 507d83e4cc | ||
|  | ddf69f247f | ||
|  | 585d191ae7 | ||
|  | bd0f7f42d6 | ||
|  | 6f173cafbd | ||
|  | b8d907a9bb | ||
|  | ee2ef90b7f | ||
|  | 769439a23d | ||
|  | 00277e836d | ||
|  | 6d04725282 | ||
|  | 390488d12e | ||
|  | 85dc4e7a77 | ||
|  | 974e468e6d | ||
|  | 6998c71458 | ||
|  | 5c8de84f5f | ||
|  | 1357249aa9 | 
							
								
								
									
										725
									
								
								Make-config
									
									
									
									
									
								
							
							
						
						
									
										725
									
								
								Make-config
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										573
									
								
								Makefile.X11
									
									
									
									
									
								
							
							
						
						
									
										573
									
								
								Makefile.X11
									
									
									
									
									
								
							| @@ -1,9 +1,9 @@ | ||||
| # $Id: Makefile.X11,v 1.32 2000/07/21 16:36:35 brianp Exp $ | ||||
| # $Id: Makefile.X11,v 1.69 2002/11/13 15:33:51 brianp Exp $ | ||||
|  | ||||
| # Mesa 3-D graphics library | ||||
| # Version:  3.3 | ||||
| # Version:  5.0 | ||||
| #  | ||||
| # Copyright (C) 1999-2000  Brian Paul   All Rights Reserved. | ||||
| # Copyright (C) 1999-2002  Brian Paul   All Rights Reserved. | ||||
| #  | ||||
| # Permission is hereby granted, free of charge, to any person obtaining a | ||||
| # copy of this software and associated documentation files (the "Software"), | ||||
| @@ -42,6 +42,7 @@ default: | ||||
| 	@echo "  make bsdos4               for BSD/OS 4.x, dynamic libraries" | ||||
| 	@echo "  make cygnus               for Win95/NT using Cygnus-Win32" | ||||
| 	@echo "  make cygnus-linux         for Win95/NT using Cygnus-Win32 under Linux" | ||||
| 	@echo "  make darwin               for Darwin - Mac OS X" | ||||
| 	@echo "  make dgux                 for Data General" | ||||
| 	@echo "  make freebsd              for FreeBSD systems with GCC" | ||||
| 	@echo "  make freebsd-386          for FreeBSD systems with GCC, w/ Intel assembly" | ||||
| @@ -50,8 +51,8 @@ default: | ||||
| 	@echo "  make hpux9-sl             for HP systems with HPUX 9.x, make shared libs" | ||||
| 	@echo "  make hpux9-gcc            for HP systems with HPUX 9.x using GCC" | ||||
| 	@echo "  make hpux9-gcc-sl         for HP systems with HPUX 9.x, GCC, make shared libs" | ||||
| 	@echo "  make hpux10               for HP systems with HPUX 10.x" | ||||
| 	@echo "  make hpux10-sl            for HP systems with HPUX 10.x, shared libs" | ||||
| 	@echo "  make hpux10               for HP systems with HPUX 10.x and 11.x" | ||||
| 	@echo "  make hpux10-sl            for HP systems with HPUX 10.x and 11.x, shared libs" | ||||
| 	@echo "  make hpux10-gcc           for HP systems with HPUX 10.x w/ GCC" | ||||
| 	@echo "  make hpux10-gcc-sl        for HP systems with HPUX 10.x w/ GCC, shared libs" | ||||
| 	@echo "  make irix4                for SGI systems with IRIX 4.x" | ||||
| @@ -68,18 +69,15 @@ default: | ||||
|  | ||||
| 	@echo "  make linux                for Linux systems, make shared .so libs" | ||||
| 	@echo "  make linux-static         for Linux systems, make static .a libs" | ||||
| 	@echo "  make linux-386            for Linux on Intel, make shared .so libs" | ||||
| 	@echo "  make linux-386-static     for Linux on Intel, make static .a libs" | ||||
| 	@echo "  make linux-trace          for Linux systems, with API trace extension" | ||||
| 	@echo "  make linux-x86            for Linux on Intel, make shared .so libs" | ||||
| 	@echo "  make linux-x86-static     for Linux on Intel, make static .a libs" | ||||
| 	@echo "  make linux-ggi            for Linux systems with libggi" | ||||
| 	@echo "  make linux-386-ggi        for Linux systems with libggi w/ Intel assembly" | ||||
| 	@echo "  make linux-glide          for Linux w/ 3Dfx Glide driver" | ||||
| 	@echo "  make linux-386-glide      for Linux w/ 3Dfx Glide driver, Intel assembly" | ||||
| 	@echo "  make linux-386-opt-glide  for Linux with 3Dfx Voodoo1 for GLQuake" | ||||
| 	@echo "  make linux-386-opt-V2-glide  for Linux with 3Dfx Voodoo2 for GLQuake" | ||||
| 	@echo "  make linux-3dnow          for Linux on AMD w/ 3DNow!" | ||||
| 	@echo "  make linux-3dnow-glide    for Linux on AMD w/ 3DNow! for Glide" | ||||
| 	@echo "  make linux-katmai         for Linux on PentiumIII w/ SSE" | ||||
| 	@echo "  make linux-katmai-glide   for Linux on PentiumIII w/ SSE for Glide" | ||||
| 	@echo "  make linux-x86-glide      for Linux w/ all x86 asm for Glide" | ||||
| 	@echo "  make linux-alpha          for Linux on Alpha systems" | ||||
| 	@echo "  make linux-alpha-static   for Linux on Alpha systems, static libs" | ||||
| 	@echo "  make linux-ppc            for Linux on PowerPC systems" | ||||
| @@ -87,6 +85,9 @@ default: | ||||
| 	@echo "  make linux-sparc          for Linux on Sparc systems" | ||||
| 	@echo "  make linux-sparc5-elf     for Sparc5 systems, make ELF shared libs" | ||||
| 	@echo "  make linux-sparc-ultra    for UltraSparc systems, make ELF shared libs" | ||||
| 	@echo "  make linux-osmesa16       for 16-bit/channel OSMesa" | ||||
| 	@echo "  make linux-osmesa32       for 32-bit/channel OSMesa" | ||||
| 	@echo "  make linux-icc            for Linux with the Intel C/C++ compiler" | ||||
| 	@echo "  make lynxos               for LynxOS systems with GCC" | ||||
| 	@echo "  make macintosh            for Macintosh" | ||||
| 	@echo "  make machten-2.2          for Macs w/ MachTen 2.2 (68k w/ FPU)" | ||||
| @@ -135,17 +136,17 @@ default: | ||||
|  | ||||
|  | ||||
|  | ||||
| aix aix-sl amix bsdos bsdos4 dgux freebsd freebsd-386 gcc \ | ||||
| # XXX we may have to split up this group of targets into those that | ||||
| # have a C++ compiler and those that don't for the SI-GLU library. | ||||
|  | ||||
| aix aix-sl amix bsdos bsdos4 darwin dgux freebsd freebsd-386 gcc \ | ||||
| hpux9 hpux9-sl hpux9-gcc hpux9-gcc-sl \ | ||||
| hpux10 hpux10-sl hpux10-gcc hpux10-gcc-sl \ | ||||
| irix4 irix5 irix5-gcc irix5-dso irix6-o32 irix6-o32-dso \ | ||||
| linux-static-debug linux-elf-debug linux-prof linux-glide-debug \ | ||||
| linux linux-static \ | ||||
| linux-386 linux-386-static \ | ||||
| irix4 irix5 irix5-gcc irix5-dso \ | ||||
| linux linux-static linux-debug linux-static-debug linux-prof \ | ||||
| linux-x86 linux-icc linux-x86-static linux-x86-debug \ | ||||
| linux-glide linux-386-glide linux-386-opt-glide \ | ||||
| linux-386-opt-V2-glide \ | ||||
| linux-3dnow linux-3dnow-glide \ | ||||
| linux-katmai linux-katmai-glide \ | ||||
| linux-x86-glide linux-glide-debug linux-glide-prof \ | ||||
| linux-alpha-static linux-alpha \ | ||||
| linux-ppc-static linux-ppc \ | ||||
| linux-sparc \ | ||||
| @@ -160,11 +161,11 @@ sunos5-thread sunos5-pthread sunos5-gcc-thread sunos5-gcc-pthread \ | ||||
| sunos5-x11r6-gcc-sl ultrix-gcc unicos unixware uwin vistra: | ||||
| 	-mkdir lib | ||||
| 	if [ -d src      ] ; then touch src/depend      ; fi | ||||
| 	if [ -d src-glu  ] ; then touch src-glu/depend  ; fi | ||||
| 	if [ -d si-glu   ] ; then touch si-glu/depend  ; fi | ||||
| 	if [ -d src-glut ] ; then touch src-glut/depend ; fi | ||||
| 	if [ -d widgets-sgi ] ; then touch widgets-sgi/depend ; fi | ||||
| 	if [ -d src      ] ; then cd src      ; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
| 	if [ -d src-glu  ] ; then cd src-glu  ; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
| 	if [ -d si-glu   ] ; then cd si-glu   ; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
| 	if [ -d src-glut ] ; then cd src-glut ; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
| 	if [ -d demos    ] ; then cd demos    ; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
| 	if [ -d xdemos   ] ; then cd xdemos   ; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
| @@ -172,12 +173,11 @@ sunos5-x11r6-gcc-sl ultrix-gcc unicos unixware uwin vistra: | ||||
| 	if [ -d book     ] ; then cd book     ; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
| 	if [ -d widgets-sgi ] ; then cd widgets-sgi; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
|  | ||||
| irix6-n32 irix6-n32-dso irix6-gcc-n32-sl irix-debug: | ||||
| irix6-o32 irix6-o32-dso irix6-n32 irix6-n32-dso irix6-gcc-n32-sl irix-debug: | ||||
| 	-mkdir lib32 | ||||
| 	if [ -d src      ] ; then touch src/depend      ; fi | ||||
| 	if [ -d src-glu  ] ; then touch src-glu/depend  ; fi | ||||
| 	if [ -d src-glut ] ; then touch src-glut/depend ; fi | ||||
| 	if [ -d src-glut ] ; then touch src-glut/depend ; fi | ||||
| 	if [ -d widgets-sgi ] ; then touch widgets-sgi/depend ; fi | ||||
| 	if [ -d src      ] ; then cd src      ; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
| 	if [ -d src-glu  ] ; then cd src-glu  ; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
| @@ -266,14 +266,14 @@ os2-x11: | ||||
| linux-ggi linux-386-ggi: | ||||
| 	-mkdir lib | ||||
| 	touch src/depend | ||||
| 	touch src-glu/depend | ||||
| 	touch si-glu/depend | ||||
| 	if [ -d src-glut        ] ; then touch src-glut/depend ; fi | ||||
| 	if [ -d widgets-sgi     ] ; then touch widgets-sgi/depend ; fi | ||||
| 	if [ -d ggi             ] ; then touch ggi/depend      ; fi | ||||
| 	if [ -d src             ] ; then cd src ; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
| 	if [ -d src/GGI/default ] ; then cd src/GGI/default ; $(MAKE)      ; fi | ||||
| 	if [ -d src/GGI/display ] ; then cd src/GGI/display ; $(MAKE)      ; fi | ||||
| 	if [ -d src-glut ] ; then cd src-glu  ; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
| 	if [ -d si-glu ]   ; then cd si-glu   ; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
| #	if [ -d src-glut ] ; then cd src-glut ; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
| 	if [ -d ggi ]      ; then cd ggi      ; $(MAKE) -f Makefile.X11 $@ ; fi | ||||
| 	if [ -d ggi ]      ; then cd ggi/demos; $(MAKE)                    ; fi | ||||
| @@ -296,6 +296,12 @@ linux-ggi-install linux-386-ggi-install: | ||||
| #	echo ".include $(DESTDIR)/etc/ggi/ggimesa.conf" >> $(DESTDIR)/etc/ggi/libggi.conf ; \ | ||||
| #	fi | ||||
|  | ||||
| linux-osmesa16 linux-osmesa32: | ||||
| 	-mkdir lib | ||||
| 	if [ -d src ] ; then touch src/depend ; fi | ||||
| 	if [ -d src ] ; then cd src ; $(MAKE) -f Makefile.OSMesa16 $@ ; fi | ||||
| 	 | ||||
|  | ||||
| # Remove .o files, emacs backup files, etc. | ||||
| clean: | ||||
| 	-rm -f ggi/*~ *.o | ||||
| @@ -305,6 +311,7 @@ clean: | ||||
| 	-rm -f include/GL/*~ | ||||
| 	-rm -f src/*.o src/*~ src/*.a src/*/*.o src/*/*~ | ||||
| 	-rm -f src-glu/*.o src-glu/*~ src-glu/*.a | ||||
| 	-rm -f si-glu/*/*.o si-glu/*/*/*.o | ||||
| 	-rm -f src-glut/*.o | ||||
| 	-rm -f demos/*.o | ||||
| 	-rm -f book/*.o book/*~ | ||||
| @@ -316,234 +323,296 @@ clean: | ||||
|  | ||||
| # Remove everything that can be remade | ||||
| realclean: clean | ||||
| 	-rm -f lib/* | ||||
| 	-rm -fr lib lib32 lib64 | ||||
| 	cd demos       && $(MAKE) -f Makefile.X11 realclean || true | ||||
| 	cd xdemos      && $(MAKE) -f Makefile.X11 realclean || true | ||||
| 	cd book        && $(MAKE) -f Makefile.X11 realclean || true | ||||
| 	cd samples     && $(MAKE) -f Makefile.X11 realclean || true | ||||
| 	cd ggi/demos   && $(MAKE) -f Makefile.X11 realclean || true | ||||
| 	cd src/GGI/default && $(MAKE) -f Makefile.X11 realclean || true | ||||
|  | ||||
|  | ||||
|  | ||||
| DIRECTORY = Mesa-3.3 | ||||
| LIB_NAME = MesaLib-3.3 | ||||
| DEMO_NAME = MesaDemos-3.3 | ||||
| GLU_NAME = MesaGLU-3.3 | ||||
| DIRECTORY = Mesa-5.0 | ||||
| LIB_NAME = MesaLib-5.0 | ||||
| DEMO_NAME = MesaDemos-5.0 | ||||
| GLU_NAME = MesaGLU-5.0 | ||||
| GLUT_NAME = GLUT-3.7 | ||||
|  | ||||
|  | ||||
| LIB_FILES =	\ | ||||
| 	$(DIRECTORY)/Makefile*			\ | ||||
| 	$(DIRECTORY)/Make-config		\ | ||||
| 	$(DIRECTORY)/acconfig.h			\ | ||||
| 	$(DIRECTORY)/acinclude.m4		\ | ||||
| 	$(DIRECTORY)/aclocal.m4			\ | ||||
| 	$(DIRECTORY)/conf.h.in			\ | ||||
| 	$(DIRECTORY)/config.guess		\ | ||||
| 	$(DIRECTORY)/config.sub			\ | ||||
| 	$(DIRECTORY)/configure			\ | ||||
| 	$(DIRECTORY)/configure.in		\ | ||||
| 	$(DIRECTORY)/install-sh			\ | ||||
| 	$(DIRECTORY)/ltconfig			\ | ||||
| 	$(DIRECTORY)/ltmain.sh			\ | ||||
| 	$(DIRECTORY)/missing			\ | ||||
| 	$(DIRECTORY)/mkinstalldirs		\ | ||||
| 	$(DIRECTORY)/stamp-h.in			\ | ||||
| 	$(DIRECTORY)/docs/CONFIG		\ | ||||
| 	$(DIRECTORY)/docs/CONFORM		\ | ||||
| 	$(DIRECTORY)/docs/COPYING		\ | ||||
| 	$(DIRECTORY)/docs/COPYRIGHT		\ | ||||
| 	$(DIRECTORY)/docs/DEVINFO		\ | ||||
| 	$(DIRECTORY)/docs/IAFA-PACKAGE		\ | ||||
| 	$(DIRECTORY)/docs/INSTALL		\ | ||||
| 	$(DIRECTORY)/docs/INSTALL.GNU		\ | ||||
| 	$(DIRECTORY)/docs/README		\ | ||||
| 	$(DIRECTORY)/docs/README.*		\ | ||||
| 	$(DIRECTORY)/docs/RELNOTES*		\ | ||||
| 	$(DIRECTORY)/docs/VERSIONS		\ | ||||
| 	$(DIRECTORY)/docs/*.spec		\ | ||||
| 	$(DIRECTORY)/bin/README			\ | ||||
| 	$(DIRECTORY)/bin/mklib*			\ | ||||
| 	$(DIRECTORY)/*.BAT			\ | ||||
| 	$(DIRECTORY)/*.bat			\ | ||||
| 	$(DIRECTORY)/descrip.mms		\ | ||||
| 	$(DIRECTORY)/mms-config			\ | ||||
| 	$(DIRECTORY)/xlib.opt			\ | ||||
| 	$(DIRECTORY)/STARTUP.MK			\ | ||||
| 	$(DIRECTORY)/mesawin32.mak		\ | ||||
| 	$(DIRECTORY)/Names.win			\ | ||||
| 	$(DIRECTORY)/win32-openstep.sh		\ | ||||
| 	$(DIRECTORY)/common.dja			\ | ||||
| 	$(DIRECTORY)/include/GL/Makefile.in	\ | ||||
| 	$(DIRECTORY)/include/GL/Makefile.am	\ | ||||
| 	$(DIRECTORY)/include/GL/dosmesa.h	\ | ||||
| 	$(DIRECTORY)/include/GL/amesa.h		\ | ||||
| 	$(DIRECTORY)/include/GL/fxmesa.h	\ | ||||
| 	$(DIRECTORY)/include/GL/ggimesa.h	\ | ||||
| 	$(DIRECTORY)/include/GL/gl.h		\ | ||||
| 	$(DIRECTORY)/include/GL/glext.h		\ | ||||
| 	$(DIRECTORY)/include/GL/gl_mangle.h	\ | ||||
| 	$(DIRECTORY)/include/GL/glu.h		\ | ||||
| 	$(DIRECTORY)/include/GL/glu_mangle.h	\ | ||||
| 	$(DIRECTORY)/include/GL/glx.h		\ | ||||
| 	$(DIRECTORY)/include/GL/glx_mangle.h	\ | ||||
| 	$(DIRECTORY)/include/GL/mglmesa.h	\ | ||||
| 	$(DIRECTORY)/include/GL/osmesa.h	\ | ||||
| 	$(DIRECTORY)/include/GL/svgamesa.h	\ | ||||
| 	$(DIRECTORY)/include/GL/wmesa.h		\ | ||||
| 	$(DIRECTORY)/include/GL/xmesa.h		\ | ||||
| 	$(DIRECTORY)/include/GL/xmesa_x.h	\ | ||||
| 	$(DIRECTORY)/include/GL/xmesa_xf86.h	\ | ||||
| 	$(DIRECTORY)/include/GLView.h		\ | ||||
| 	$(DIRECTORY)/include/Makefile.in	\ | ||||
| 	$(DIRECTORY)/include/Makefile.am	\ | ||||
| 	$(DIRECTORY)/src/Makefile*		\ | ||||
| 	$(DIRECTORY)/src/descrip.mms		\ | ||||
| 	$(DIRECTORY)/src/mms_depend		\ | ||||
| 	$(DIRECTORY)/src/mesa.conf		\ | ||||
| 	$(DIRECTORY)/src/*.def			\ | ||||
| 	$(DIRECTORY)/src/depend			\ | ||||
| 	$(DIRECTORY)/src/*.[chS]		\ | ||||
| 	$(DIRECTORY)/src/Allegro/*.[ch]		\ | ||||
| 	$(DIRECTORY)/src/BeOS/*.cpp		\ | ||||
| 	$(DIRECTORY)/src/D3D/*.cpp		\ | ||||
| 	$(DIRECTORY)/src/D3D/*.CPP		\ | ||||
| 	$(DIRECTORY)/src/D3D/*.h		\ | ||||
| 	$(DIRECTORY)/src/D3D/*.H		\ | ||||
| 	$(DIRECTORY)/src/D3D/*.c		\ | ||||
| 	$(DIRECTORY)/src/D3D/*.C		\ | ||||
| 	$(DIRECTORY)/src/D3D/MAKEFILE		\ | ||||
| 	$(DIRECTORY)/src/D3D/*bat		\ | ||||
| 	$(DIRECTORY)/src/D3D/*DEF		\ | ||||
| 	$(DIRECTORY)/src/DOS/DEPEND.DOS		\ | ||||
| 	$(DIRECTORY)/src/DOS/*.c		\ | ||||
| 	$(DIRECTORY)/src/FX/Makefile.am		\ | ||||
| 	$(DIRECTORY)/src/FX/Makefile.in		\ | ||||
| 	$(DIRECTORY)/src/FX/*.[ch]		\ | ||||
| 	$(DIRECTORY)/src/FX/*.def		\ | ||||
| 	$(DIRECTORY)/src/FX/X86/Makefile.am	\ | ||||
| 	$(DIRECTORY)/src/FX/X86/Makefile.in	\ | ||||
| 	$(DIRECTORY)/src/FX/X86/*.[Shc]		\ | ||||
| 	$(DIRECTORY)/src/GGI/Makefile.am			\ | ||||
| 	$(DIRECTORY)/src/GGI/Makefile.in			\ | ||||
| 	$(DIRECTORY)/src/GGI/*.[ch]				\ | ||||
| 	$(DIRECTORY)/src/GGI/ggimesa.conf.in			\ | ||||
| 	$(DIRECTORY)/src/GGI/default/*.c			\ | ||||
| 	$(DIRECTORY)/src/GGI/default/Makefile.am		\ | ||||
| 	$(DIRECTORY)/src/GGI/default/Makefile.in		\ | ||||
| 	$(DIRECTORY)/src/GGI/default/genkgi.conf.in		\ | ||||
| 	$(DIRECTORY)/src/GGI/display/*.c			\ | ||||
| 	$(DIRECTORY)/src/GGI/display/Makefile.am		\ | ||||
| 	$(DIRECTORY)/src/GGI/display/Makefile.in		\ | ||||
| 	$(DIRECTORY)/src/GGI/display/fbdev.conf.in		\ | ||||
| 	$(DIRECTORY)/src/GGI/include/Makefile.am		\ | ||||
| 	$(DIRECTORY)/src/GGI/include/Makefile.in		\ | ||||
| 	$(DIRECTORY)/src/GGI/include/ggi/Makefile.am		\ | ||||
| 	$(DIRECTORY)/src/GGI/include/ggi/Makefile.in		\ | ||||
| 	$(DIRECTORY)/src/GGI/include/ggi/mesa/Makefile.am	\ | ||||
| 	$(DIRECTORY)/src/GGI/include/ggi/mesa/Makefile.in	\ | ||||
| 	$(DIRECTORY)/src/GGI/include/ggi/mesa/*.h		\ | ||||
| 	$(DIRECTORY)/src/KNOWN_BUGS				\ | ||||
| 	$(DIRECTORY)/src/OSmesa/Makefile.am			\ | ||||
| 	$(DIRECTORY)/src/OSmesa/Makefile.in			\ | ||||
| 	$(DIRECTORY)/src/OSmesa/*.[ch]				\ | ||||
| 	$(DIRECTORY)/src/S3/*.[ch]				\ | ||||
| 	$(DIRECTORY)/src/S3/*.def				\ | ||||
| 	$(DIRECTORY)/src/S3/*.mak				\ | ||||
| 	$(DIRECTORY)/src/S3/*.rc				\ | ||||
| 	$(DIRECTORY)/src/SVGA/Makefile.am			\ | ||||
| 	$(DIRECTORY)/src/SVGA/Makefile.in			\ | ||||
| 	$(DIRECTORY)/src/SVGA/*.[ch]				\ | ||||
| 	$(DIRECTORY)/src/Windows/*.[ch]				\ | ||||
| 	$(DIRECTORY)/src/Windows/*.def				\ | ||||
| 	$(DIRECTORY)/src/X/Makefile.am				\ | ||||
| 	$(DIRECTORY)/src/X/Makefile.in				\ | ||||
| 	$(DIRECTORY)/src/X/*.[ch]				\ | ||||
| 	$(DIRECTORY)/src/X86/*.[ch]				\ | ||||
| 	$(DIRECTORY)/src/X86/Makefile.am			\ | ||||
| 	$(DIRECTORY)/src/X86/Makefile.in			\ | ||||
| 	$(DIRECTORY)/src/X86/*.m4				\ | ||||
| 	$(DIRECTORY)/src/X86/*.S				\ | ||||
| 	$(DIRECTORY)/src-glu/README[12]				\ | ||||
| 	$(DIRECTORY)/src-glu/Makefile*				\ | ||||
| 	$(DIRECTORY)/src-glu/descrip.mms			\ | ||||
| 	$(DIRECTORY)/src-glu/mms_depend				\ | ||||
| 	$(DIRECTORY)/src-glu/*.def				\ | ||||
| 	$(DIRECTORY)/src-glu/depend				\ | ||||
| 	$(DIRECTORY)/src-glu/*.[ch]				\ | ||||
| 	$(DIRECTORY)/widgets-mesa/ChangeLog			\ | ||||
| 	$(DIRECTORY)/widgets-mesa/INSTALL			\ | ||||
| 	$(DIRECTORY)/widgets-mesa/Makefile.in			\ | ||||
| 	$(DIRECTORY)/widgets-mesa/README			\ | ||||
| 	$(DIRECTORY)/widgets-mesa/TODO				\ | ||||
| 	$(DIRECTORY)/widgets-mesa/configure			\ | ||||
| 	$(DIRECTORY)/widgets-mesa/demos/ChangeLog		\ | ||||
| 	$(DIRECTORY)/widgets-mesa/demos/Cube			\ | ||||
| 	$(DIRECTORY)/widgets-mesa/demos/Ed			\ | ||||
| 	$(DIRECTORY)/widgets-mesa/demos/Makefile.in		\ | ||||
| 	$(DIRECTORY)/widgets-mesa/demos/Mcube			\ | ||||
| 	$(DIRECTORY)/widgets-mesa/demos/Tea			\ | ||||
| 	$(DIRECTORY)/widgets-mesa/demos/*.[ch]			\ | ||||
| 	$(DIRECTORY)/widgets-mesa/demos/events			\ | ||||
| 	$(DIRECTORY)/widgets-mesa/include/GL/ChangeLog		\ | ||||
| 	$(DIRECTORY)/widgets-mesa/include/GL/*.h		\ | ||||
| 	$(DIRECTORY)/widgets-mesa/include/GL/Makefile.in	\ | ||||
| 	$(DIRECTORY)/widgets-mesa/man/ChangeLog			\ | ||||
| 	$(DIRECTORY)/widgets-mesa/man/GL*			\ | ||||
| 	$(DIRECTORY)/widgets-mesa/man/Makefile.in		\ | ||||
| 	$(DIRECTORY)/widgets-mesa/man/Mesa*			\ | ||||
| 	$(DIRECTORY)/widgets-mesa/src/ChangeLog			\ | ||||
| 	$(DIRECTORY)/widgets-sgi/*.[ch]				\ | ||||
| 	$(DIRECTORY)/widgets-sgi/Makefile*			\ | ||||
| 	$(DIRECTORY)/widgets-sgi/README				\ | ||||
| 	$(DIRECTORY)/util/README				\ | ||||
| 	$(DIRECTORY)/util/Makefile.am				\ | ||||
| 	$(DIRECTORY)/util/Makefile.in				\ | ||||
| 	$(DIRECTORY)/util/*.[ch]				\ | ||||
| 	$(DIRECTORY)/util/sampleMakefile			\ | ||||
| 	$(DIRECTORY)/vms/analyze_map.com			\ | ||||
| 	$(DIRECTORY)/vms/xlib.opt				\ | ||||
| 	$(DIRECTORY)/vms/xlib_share.opt				\ | ||||
| 	$(DIRECTORY)/BeOS/Makefile				\ | ||||
| 	$(DIRECTORY)/BeOS/*.cpp					\ | ||||
| 	$(DIRECTORY)/WIN32/NMAKE.MAK				\ | ||||
| 	$(DIRECTORY)/WIN32/NMAKE.MIF				\ | ||||
| 	$(DIRECTORY)/WIN32/RES/*rc				\ | ||||
| 	$(DIRECTORY)/WIN32/RES/*def				\ | ||||
| 	$(DIRECTORY)/WIN32/RULES/lib.*				\ | ||||
| 	$(DIRECTORY)/WIN32/RULES/progs.*			\ | ||||
| 	$(DIRECTORY)/macos/README				\ | ||||
| 	$(DIRECTORY)/macos/gli_api/*.h				\ | ||||
| 	$(DIRECTORY)/macos/cglpane/CGLPane.*			\ | ||||
| 	$(DIRECTORY)/macos/include-mac/*.h			\ | ||||
| 	$(DIRECTORY)/macos/libraries/*.stub			\ | ||||
| 	$(DIRECTORY)/macos/libraries/*Stub			\ | ||||
| 	$(DIRECTORY)/macos/projects/*.mcp			\ | ||||
| 	$(DIRECTORY)/macos/projects/*.exp			\ | ||||
| 	$(DIRECTORY)/macos/projects/*.h				\ | ||||
| 	$(DIRECTORY)/macos/resources/*.c			\ | ||||
| 	$(DIRECTORY)/macos/resources/*.r			\ | ||||
| 	$(DIRECTORY)/macos/resources/*.rsrc			\ | ||||
| 	$(DIRECTORY)/macos/src-agl/*.exp			\ | ||||
| 	$(DIRECTORY)/macos/src-agl/*.[ch]			\ | ||||
| 	$(DIRECTORY)/macos/src-gli/*.[ch]			\ | ||||
| 	$(DIRECTORY)/Makefile*						\ | ||||
| 	$(DIRECTORY)/Make-config					\ | ||||
| 	$(DIRECTORY)/acconfig.h						\ | ||||
| 	$(DIRECTORY)/acinclude.m4					\ | ||||
| 	$(DIRECTORY)/aclocal.m4						\ | ||||
| 	$(DIRECTORY)/common_rules.make					\ | ||||
| 	$(DIRECTORY)/conf.h.in						\ | ||||
| 	$(DIRECTORY)/config.guess					\ | ||||
| 	$(DIRECTORY)/config.sub						\ | ||||
| 	$(DIRECTORY)/configure						\ | ||||
| 	$(DIRECTORY)/configure.in					\ | ||||
| 	$(DIRECTORY)/install-sh						\ | ||||
| 	$(DIRECTORY)/ltmain.sh						\ | ||||
| 	$(DIRECTORY)/missing						\ | ||||
| 	$(DIRECTORY)/mkinstalldirs					\ | ||||
| 	$(DIRECTORY)/stamp-h.in						\ | ||||
| 	$(DIRECTORY)/docs/CONFORM					\ | ||||
| 	$(DIRECTORY)/docs/COPYING					\ | ||||
| 	$(DIRECTORY)/docs/COPYRIGHT					\ | ||||
| 	$(DIRECTORY)/docs/DEVINFO					\ | ||||
| 	$(DIRECTORY)/docs/INSTALL					\ | ||||
| 	$(DIRECTORY)/docs/INSTALL.GNU					\ | ||||
| 	$(DIRECTORY)/docs/README					\ | ||||
| 	$(DIRECTORY)/docs/README.*					\ | ||||
| 	$(DIRECTORY)/docs/RELNOTES*					\ | ||||
| 	$(DIRECTORY)/docs/VERSIONS					\ | ||||
| 	$(DIRECTORY)/docs/*.spec					\ | ||||
| 	$(DIRECTORY)/bin/README						\ | ||||
| 	$(DIRECTORY)/bin/mklib*						\ | ||||
| 	$(DIRECTORY)/descrip.mms					\ | ||||
| 	$(DIRECTORY)/mms-config						\ | ||||
| 	$(DIRECTORY)/m4/*.m4						\ | ||||
| 	$(DIRECTORY)/xlib.opt						\ | ||||
| 	$(DIRECTORY)/mesawin32.mak					\ | ||||
| 	$(DIRECTORY)/include/GL/internal/glcore.h			\ | ||||
| 	$(DIRECTORY)/include/GL/Makefile.in				\ | ||||
| 	$(DIRECTORY)/include/GL/Makefile.am				\ | ||||
| 	$(DIRECTORY)/include/GL/dmesa.h					\ | ||||
| 	$(DIRECTORY)/include/GL/amesa.h					\ | ||||
| 	$(DIRECTORY)/include/GL/fxmesa.h				\ | ||||
| 	$(DIRECTORY)/include/GL/ggimesa.h				\ | ||||
| 	$(DIRECTORY)/include/GL/gl.h					\ | ||||
| 	$(DIRECTORY)/include/GL/glext.h					\ | ||||
| 	$(DIRECTORY)/include/GL/gl_mangle.h				\ | ||||
| 	$(DIRECTORY)/include/GL/glu.h					\ | ||||
| 	$(DIRECTORY)/include/GL/glu_mangle.h				\ | ||||
| 	$(DIRECTORY)/include/GL/glx.h					\ | ||||
| 	$(DIRECTORY)/include/GL/glxext.h				\ | ||||
| 	$(DIRECTORY)/include/GL/glx_mangle.h				\ | ||||
| 	$(DIRECTORY)/include/GL/mesa_wgl.h				\ | ||||
| 	$(DIRECTORY)/include/GL/mglmesa.h				\ | ||||
| 	$(DIRECTORY)/include/GL/osmesa.h				\ | ||||
| 	$(DIRECTORY)/include/GL/svgamesa.h				\ | ||||
| 	$(DIRECTORY)/include/GL/ugl*.h					\ | ||||
| 	$(DIRECTORY)/include/GL/vms_x_fix.h				\ | ||||
| 	$(DIRECTORY)/include/GL/wmesa.h					\ | ||||
| 	$(DIRECTORY)/include/GL/xmesa.h					\ | ||||
| 	$(DIRECTORY)/include/GL/xmesa_x.h				\ | ||||
| 	$(DIRECTORY)/include/GL/xmesa_xf86.h				\ | ||||
| 	$(DIRECTORY)/include/GLView.h					\ | ||||
| 	$(DIRECTORY)/include/Makefile.in				\ | ||||
| 	$(DIRECTORY)/include/Makefile.am				\ | ||||
| 	$(DIRECTORY)/src/Makefile*					\ | ||||
| 	$(DIRECTORY)/src/libGL_la_SOURCES				\ | ||||
| 	$(DIRECTORY)/src/descrip.mms					\ | ||||
| 	$(DIRECTORY)/src/mesa.conf					\ | ||||
| 	$(DIRECTORY)/src/*.def						\ | ||||
| 	$(DIRECTORY)/src/depend						\ | ||||
| 	$(DIRECTORY)/src/*.[chS]					\ | ||||
| 	$(DIRECTORY)/src/array_cache/*.[ch]				\ | ||||
| 	$(DIRECTORY)/src/array_cache/Makefile*				\ | ||||
| 	$(DIRECTORY)/src/array_cache/libMesaAC_la_SOURCES		\ | ||||
| 	$(DIRECTORY)/src/math/*.[ch]					\ | ||||
| 	$(DIRECTORY)/src/math/Makefile*					\ | ||||
| 	$(DIRECTORY)/src/swrast/*.[ch]					\ | ||||
| 	$(DIRECTORY)/src/swrast/Makefile*				\ | ||||
| 	$(DIRECTORY)/src/swrast/libMesaSwrast_la_SOURCES		\ | ||||
| 	$(DIRECTORY)/src/swrast_setup/*.[ch]				\ | ||||
| 	$(DIRECTORY)/src/swrast_setup/Makefile*				\ | ||||
| 	$(DIRECTORY)/src/tnl/*.[ch]					\ | ||||
| 	$(DIRECTORY)/src/tnl/Makefile*					\ | ||||
| 	$(DIRECTORY)/src/tnl/libMesaTnl_la_SOURCES			\ | ||||
| 	$(DIRECTORY)/src/tnl_dd/*.[ch]					\ | ||||
| 	$(DIRECTORY)/src/tnl_dd/imm/*.[ch]				\ | ||||
| 	$(DIRECTORY)/src/tnl_dd/imm/NOTES.imm				\ | ||||
| 	$(DIRECTORY)/src/windml/*.[ch]					\ | ||||
| 	$(DIRECTORY)/src/windml/tornado/*.c				\ | ||||
| 	$(DIRECTORY)/src/windml/tornado/*.cdf				\ | ||||
| 	$(DIRECTORY)/src/windml/man3/*.3				\ | ||||
| 	$(DIRECTORY)/src/windml/man3/*.html				\ | ||||
| 	$(DIRECTORY)/src/DOS/*.[chS]					\ | ||||
| 	$(DIRECTORY)/src/DOS/vesa/*.[ch]				\ | ||||
| 	$(DIRECTORY)/src/BeOS/*.cpp					\ | ||||
| 	$(DIRECTORY)/src/FX/Makefile.am					\ | ||||
| 	$(DIRECTORY)/src/FX/Makefile.in					\ | ||||
| 	$(DIRECTORY)/src/FX/libMesaFX_la_SOURCES			\ | ||||
| 	$(DIRECTORY)/src/FX/*.[ch]					\ | ||||
| 	$(DIRECTORY)/src/FX/*.def					\ | ||||
| 	$(DIRECTORY)/src/FX/X86/Makefile.am				\ | ||||
| 	$(DIRECTORY)/src/FX/X86/Makefile.in				\ | ||||
| 	$(DIRECTORY)/src/FX/X86/*.[Shc]					\ | ||||
| 	$(DIRECTORY)/src/GGI/Makefile.am				\ | ||||
| 	$(DIRECTORY)/src/GGI/Makefile.in				\ | ||||
| 	$(DIRECTORY)/src/GGI/*.[ch]					\ | ||||
| 	$(DIRECTORY)/src/GGI/ggimesa.conf.in				\ | ||||
| 	$(DIRECTORY)/src/GGI/default/*.c				\ | ||||
| 	$(DIRECTORY)/src/GGI/default/Makefile.am			\ | ||||
| 	$(DIRECTORY)/src/GGI/default/Makefile.in			\ | ||||
| 	$(DIRECTORY)/src/GGI/default/genkgi.conf.in			\ | ||||
| 	$(DIRECTORY)/src/GGI/display/*.c				\ | ||||
| 	$(DIRECTORY)/src/GGI/display/Makefile.am			\ | ||||
| 	$(DIRECTORY)/src/GGI/display/Makefile.in			\ | ||||
| 	$(DIRECTORY)/src/GGI/display/fbdev.conf.in			\ | ||||
| 	$(DIRECTORY)/src/GGI/include/Makefile.am			\ | ||||
| 	$(DIRECTORY)/src/GGI/include/Makefile.in			\ | ||||
| 	$(DIRECTORY)/src/GGI/include/ggi/Makefile.am			\ | ||||
| 	$(DIRECTORY)/src/GGI/include/ggi/Makefile.in			\ | ||||
| 	$(DIRECTORY)/src/GGI/include/ggi/mesa/Makefile.am		\ | ||||
| 	$(DIRECTORY)/src/GGI/include/ggi/mesa/Makefile.in		\ | ||||
| 	$(DIRECTORY)/src/GGI/include/ggi/mesa/*.h			\ | ||||
| 	$(DIRECTORY)/src/KNOWN_BUGS					\ | ||||
| 	$(DIRECTORY)/src/OSmesa/Makefile.am				\ | ||||
| 	$(DIRECTORY)/src/OSmesa/Makefile.in				\ | ||||
| 	$(DIRECTORY)/src/OSmesa/Makefile.win				\ | ||||
| 	$(DIRECTORY)/src/OSmesa/osmesa.def				\ | ||||
| 	$(DIRECTORY)/src/OSmesa/*.[ch]					\ | ||||
| 	$(DIRECTORY)/src/SPARC/*.[chS]					\ | ||||
| 	$(DIRECTORY)/src/SPARC/Makefile.am				\ | ||||
| 	$(DIRECTORY)/src/SPARC/Makefile.in				\ | ||||
| 	$(DIRECTORY)/src/SVGA/Makefile.am				\ | ||||
| 	$(DIRECTORY)/src/SVGA/Makefile.in				\ | ||||
| 	$(DIRECTORY)/src/SVGA/*.[ch]					\ | ||||
| 	$(DIRECTORY)/src/Trace/*.[ch]					\ | ||||
| 	$(DIRECTORY)/src/Trace/Makefile.am				\ | ||||
| 	$(DIRECTORY)/src/Trace/Makefile.in				\ | ||||
| 	$(DIRECTORY)/src/Windows/*.[ch]					\ | ||||
| 	$(DIRECTORY)/src/Windows/*.def					\ | ||||
| 	$(DIRECTORY)/src/X/Makefile.am					\ | ||||
| 	$(DIRECTORY)/src/X/Makefile.in					\ | ||||
| 	$(DIRECTORY)/src/X/*.[ch]					\ | ||||
| 	$(DIRECTORY)/src/X86/*.[ch]					\ | ||||
| 	$(DIRECTORY)/src/X86/Makefile.am				\ | ||||
| 	$(DIRECTORY)/src/X86/Makefile.in				\ | ||||
| 	$(DIRECTORY)/src/X86/*.S					\ | ||||
| 	$(DIRECTORY)/si-glu/Makefile.am					\ | ||||
| 	$(DIRECTORY)/si-glu/Makefile.in					\ | ||||
| 	$(DIRECTORY)/si-glu/Makefile.X11				\ | ||||
| 	$(DIRECTORY)/si-glu/Makefile.win				\ | ||||
| 	$(DIRECTORY)/si-glu/glu.def					\ | ||||
| 	$(DIRECTORY)/si-glu/dummy.cc					\ | ||||
| 	$(DIRECTORY)/si-glu/descrip.mms					\ | ||||
| 	$(DIRECTORY)/si-glu/mesaglu.opt					\ | ||||
| 	$(DIRECTORY)/si-glu/include/gluos.h				\ | ||||
| 	$(DIRECTORY)/si-glu/include/Makefile.am				\ | ||||
| 	$(DIRECTORY)/si-glu/include/Makefile.in				\ | ||||
| 	$(DIRECTORY)/si-glu/libnurbs/Makefile.am			\ | ||||
| 	$(DIRECTORY)/si-glu/libnurbs/Makefile.in			\ | ||||
| 	$(DIRECTORY)/si-glu/libnurbs/interface/*.h			\ | ||||
| 	$(DIRECTORY)/si-glu/libnurbs/interface/*.cc			\ | ||||
| 	$(DIRECTORY)/si-glu/libnurbs/interface/libNIFac_la_SOURCES	\ | ||||
| 	$(DIRECTORY)/si-glu/libnurbs/interface/Makefile.am		\ | ||||
| 	$(DIRECTORY)/si-glu/libnurbs/interface/Makefile.in		\ | ||||
| 	$(DIRECTORY)/si-glu/libnurbs/internals/*.h			\ | ||||
| 	$(DIRECTORY)/si-glu/libnurbs/internals/*.cc			\ | ||||
| 	$(DIRECTORY)/si-glu/libnurbs/internals/libNInt_la_SOURCES	\ | ||||
| 	$(DIRECTORY)/si-glu/libnurbs/internals/Makefile.am		\ | ||||
| 	$(DIRECTORY)/si-glu/libnurbs/internals/Makefile.in		\ | ||||
| 	$(DIRECTORY)/si-glu/libnurbs/nurbtess/*.h			\ | ||||
| 	$(DIRECTORY)/si-glu/libnurbs/nurbtess/*.cc			\ | ||||
| 	$(DIRECTORY)/si-glu/libnurbs/nurbtess/libNTess_la_SOURCES	\ | ||||
| 	$(DIRECTORY)/si-glu/libnurbs/nurbtess/Makefile.am		\ | ||||
| 	$(DIRECTORY)/si-glu/libnurbs/nurbtess/Makefile.in		\ | ||||
| 	$(DIRECTORY)/si-glu/libtess/README				\ | ||||
| 	$(DIRECTORY)/si-glu/libtess/alg-outline				\ | ||||
| 	$(DIRECTORY)/si-glu/libtess/*.[ch]				\ | ||||
| 	$(DIRECTORY)/si-glu/libtess/libtess_la_SOURCES			\ | ||||
| 	$(DIRECTORY)/si-glu/libtess/Makefile.am				\ | ||||
| 	$(DIRECTORY)/si-glu/libtess/Makefile.in				\ | ||||
| 	$(DIRECTORY)/si-glu/libutil/*.[ch]				\ | ||||
| 	$(DIRECTORY)/si-glu/libutil/libutil_la_SOURCES			\ | ||||
| 	$(DIRECTORY)/si-glu/libutil/Makefile.am				\ | ||||
| 	$(DIRECTORY)/si-glu/libutil/Makefile.in				\ | ||||
| 	$(DIRECTORY)/src-glu/README[12]					\ | ||||
| 	$(DIRECTORY)/src-glu/Makefile*					\ | ||||
| 	$(DIRECTORY)/src-glu/descrip.mms				\ | ||||
| 	$(DIRECTORY)/src-glu/mms_depend					\ | ||||
| 	$(DIRECTORY)/src-glu/*.def					\ | ||||
| 	$(DIRECTORY)/src-glu/depend					\ | ||||
| 	$(DIRECTORY)/src-glu/*.[ch]					\ | ||||
| 	$(DIRECTORY)/widgets-mesa/ChangeLog				\ | ||||
| 	$(DIRECTORY)/widgets-mesa/INSTALL				\ | ||||
| 	$(DIRECTORY)/widgets-mesa/Makefile.in				\ | ||||
| 	$(DIRECTORY)/widgets-mesa/README				\ | ||||
| 	$(DIRECTORY)/widgets-mesa/TODO					\ | ||||
| 	$(DIRECTORY)/widgets-mesa/configure				\ | ||||
| 	$(DIRECTORY)/widgets-mesa/configure.in				\ | ||||
| 	$(DIRECTORY)/widgets-mesa/demos/ChangeLog			\ | ||||
| 	$(DIRECTORY)/widgets-mesa/demos/Cube				\ | ||||
| 	$(DIRECTORY)/widgets-mesa/demos/Ed				\ | ||||
| 	$(DIRECTORY)/widgets-mesa/demos/Makefile.in			\ | ||||
| 	$(DIRECTORY)/widgets-mesa/demos/Mcube				\ | ||||
| 	$(DIRECTORY)/widgets-mesa/demos/Tea				\ | ||||
| 	$(DIRECTORY)/widgets-mesa/demos/*.[ch]				\ | ||||
| 	$(DIRECTORY)/widgets-mesa/demos/events				\ | ||||
| 	$(DIRECTORY)/widgets-mesa/include/GL/ChangeLog			\ | ||||
| 	$(DIRECTORY)/widgets-mesa/include/GL/*.h			\ | ||||
| 	$(DIRECTORY)/widgets-mesa/include/GL/Makefile.in		\ | ||||
| 	$(DIRECTORY)/widgets-mesa/man/ChangeLog				\ | ||||
| 	$(DIRECTORY)/widgets-mesa/man/GL*				\ | ||||
| 	$(DIRECTORY)/widgets-mesa/man/Makefile.in			\ | ||||
| 	$(DIRECTORY)/widgets-mesa/man/Mesa*				\ | ||||
| 	$(DIRECTORY)/widgets-mesa/src/ChangeLog				\ | ||||
| 	$(DIRECTORY)/widgets-mesa/src/*.c				\ | ||||
| 	$(DIRECTORY)/widgets-mesa/src/Makefile.in			\ | ||||
| 	$(DIRECTORY)/widgets-sgi/*.[ch]					\ | ||||
| 	$(DIRECTORY)/widgets-sgi/Makefile*				\ | ||||
| 	$(DIRECTORY)/widgets-sgi/README					\ | ||||
| 	$(DIRECTORY)/util/README					\ | ||||
| 	$(DIRECTORY)/util/Makefile.am					\ | ||||
| 	$(DIRECTORY)/util/Makefile.in					\ | ||||
| 	$(DIRECTORY)/util/*.[ch]					\ | ||||
| 	$(DIRECTORY)/util/sampleMakefile				\ | ||||
| 	$(DIRECTORY)/vms/analyze_map.com				\ | ||||
| 	$(DIRECTORY)/vms/xlib.opt					\ | ||||
| 	$(DIRECTORY)/vms/xlib_share.opt					\ | ||||
| 	$(DIRECTORY)/BeOS/Makefile					\ | ||||
| 	$(DIRECTORY)/BeOS/*.cpp | ||||
|  | ||||
| OBSOLETE_LIB_FILES = \ | ||||
| 	$(DIRECTORY)/src/Allegro/*.[ch]					\ | ||||
| 	$(DIRECTORY)/src/D3D/*.cpp					\ | ||||
| 	$(DIRECTORY)/src/D3D/*.CPP					\ | ||||
| 	$(DIRECTORY)/src/D3D/*.h					\ | ||||
| 	$(DIRECTORY)/src/D3D/*.H					\ | ||||
| 	$(DIRECTORY)/src/D3D/*.c					\ | ||||
| 	$(DIRECTORY)/src/D3D/*.C					\ | ||||
| 	$(DIRECTORY)/src/D3D/MAKEFILE					\ | ||||
| 	$(DIRECTORY)/src/D3D/*bat					\ | ||||
| 	$(DIRECTORY)/src/D3D/*DEF					\ | ||||
| 	$(DIRECTORY)/src/DOS/DEPEND.DOS					\ | ||||
| 	$(DIRECTORY)/src/S3/*.[ch]					\ | ||||
| 	$(DIRECTORY)/src/S3/*.def					\ | ||||
| 	$(DIRECTORY)/src/S3/*.mak					\ | ||||
| 	$(DIRECTORY)/src/S3/*.rc					\ | ||||
| 	$(DIRECTORY)/macos/README					\ | ||||
| 	$(DIRECTORY)/macos/gli_api/*.h					\ | ||||
| 	$(DIRECTORY)/macos/cglpane/CGLPane.*				\ | ||||
| 	$(DIRECTORY)/macos/include-mac/*.h				\ | ||||
| 	$(DIRECTORY)/macos/libraries/*.stub				\ | ||||
| 	$(DIRECTORY)/macos/libraries/*Stub				\ | ||||
| 	$(DIRECTORY)/macos/projects/*.mcp				\ | ||||
| 	$(DIRECTORY)/macos/projects/*.exp				\ | ||||
| 	$(DIRECTORY)/macos/projects/*.h					\ | ||||
| 	$(DIRECTORY)/macos/resources/*.c				\ | ||||
| 	$(DIRECTORY)/macos/resources/*.r				\ | ||||
| 	$(DIRECTORY)/macos/resources/*.rsrc				\ | ||||
| 	$(DIRECTORY)/macos/src-agl/*.exp				\ | ||||
| 	$(DIRECTORY)/macos/src-agl/*.[ch]				\ | ||||
| 	$(DIRECTORY)/macos/src-gli/*.[ch]				\ | ||||
| 	$(DIRECTORY)/OpenStep | ||||
|  | ||||
|  | ||||
|  | ||||
| DEMO_FILES =	\ | ||||
| 	$(DIRECTORY)/include/GL/glut.h		\ | ||||
| 	$(DIRECTORY)/include/GL/glutf90.h	\ | ||||
| 	$(DIRECTORY)/include/GL/glut_h.dja	\ | ||||
| 	$(DIRECTORY)/src-glut/Makefile*		\ | ||||
| 	$(DIRECTORY)/src-glut/depend		\ | ||||
| 	$(DIRECTORY)/src-glut/*def		\ | ||||
| 	$(DIRECTORY)/src-glut/descrip.mms	\ | ||||
| 	$(DIRECTORY)/src-glut/mms_depend	\ | ||||
| 	$(DIRECTORY)/src-glut/*.[ch]		\ | ||||
| 	$(DIRECTORY)/src-glut.dja/*		\ | ||||
| 	$(DIRECTORY)/src-glut.beos/Makefile	\ | ||||
| 	$(DIRECTORY)/src-glut.beos/*.cpp	\ | ||||
| 	$(DIRECTORY)/src-glut.beos/*.h		\ | ||||
| 	$(DIRECTORY)/src-glut.dos/*.[ch]	\ | ||||
| 	$(DIRECTORY)/src-glut.dos/Makefile.DJ	\ | ||||
| 	$(DIRECTORY)/src-glut.dos/PC_HW/*.[chS]	\ | ||||
| 	$(DIRECTORY)/images/*			\ | ||||
| 	$(DIRECTORY)/demos/Makefile*		\ | ||||
| 	$(DIRECTORY)/demos/descrip.mms		\ | ||||
| @@ -553,7 +622,7 @@ DEMO_FILES =	\ | ||||
| 	$(DIRECTORY)/demos/README		\ | ||||
| 	$(DIRECTORY)/xdemos/Makefile*		\ | ||||
| 	$(DIRECTORY)/xdemos/descrip.mms		\ | ||||
| 	$(DIRECTORY)/xdemos/*.[cf]		\ | ||||
| 	$(DIRECTORY)/xdemos/*.[chf]		\ | ||||
| 	$(DIRECTORY)/book/Makefile*		\ | ||||
| 	$(DIRECTORY)/book/README		\ | ||||
| 	$(DIRECTORY)/book/*.[ch]		\ | ||||
| @@ -561,8 +630,37 @@ DEMO_FILES =	\ | ||||
| 	$(DIRECTORY)/samples/README		\ | ||||
| 	$(DIRECTORY)/samples/*.c		\ | ||||
| 	$(DIRECTORY)/mtdemos			\ | ||||
| 	$(DIRECTORY)/windmldemos/Makefile.ugl	\ | ||||
| 	$(DIRECTORY)/windmldemos/*.c		\ | ||||
| 	$(DIRECTORY)/windmldemos/*.bmp		\ | ||||
| 	$(DIRECTORY)/ggi | ||||
|  | ||||
| OBSOLETE_DEMO_FILES = \ | ||||
| 	$(DIRECTORY)/include/GL/glut_h.dja	\ | ||||
| 	$(DIRECTORY)/src-glut.dja/*		\ | ||||
| 	$(DIRECTORY)/src-glut.beos/Makefile	\ | ||||
| 	$(DIRECTORY)/src-glut.beos/*.cpp	\ | ||||
| 	$(DIRECTORY)/src-glut.beos/*.h		\ | ||||
|  | ||||
|  | ||||
| SI_GLU_FILES = \ | ||||
| 	$(DIRECTORY)/Makefile*				\ | ||||
| 	$(DIRECTORY)/Make-config			\ | ||||
| 	$(DIRECTORY)/bin/mklib*				\ | ||||
| 	$(DIRECTORY)/include/GL/glu.h			\ | ||||
| 	$(DIRECTORY)/si-glu/Makefile.X11		\ | ||||
| 	$(DIRECTORY)/si-glu/include/gluos.h		\ | ||||
| 	$(DIRECTORY)/si-glu/libnurbs/interface/*.h	\ | ||||
| 	$(DIRECTORY)/si-glu/libnurbs/interface/*.cc	\ | ||||
| 	$(DIRECTORY)/si-glu/libnurbs/internals/*.h	\ | ||||
| 	$(DIRECTORY)/si-glu/libnurbs/internals/*.cc	\ | ||||
| 	$(DIRECTORY)/si-glu/libnurbs/nurbstess/*.h	\ | ||||
| 	$(DIRECTORY)/si-glu/libnurbs/nurbstess/*.cc	\ | ||||
| 	$(DIRECTORY)/si-glu/libtess/README		\ | ||||
| 	$(DIRECTORY)/si-glu/libtess/alg-outline		\ | ||||
| 	$(DIRECTORY)/si-glu/libtess/*.[ch]		\ | ||||
| 	$(DIRECTORY)/si-glu/libutil/*.[ch] | ||||
|  | ||||
| GLU_FILES = \ | ||||
| 	$(DIRECTORY)/Makefile*			\ | ||||
| 	$(DIRECTORY)/Make-config		\ | ||||
| @@ -591,13 +689,16 @@ GLUT_FILES = \ | ||||
| 	$(DIRECTORY)/include/GL/glu_mangle.h	\ | ||||
| 	$(DIRECTORY)/include/GL/glut.h		\ | ||||
| 	$(DIRECTORY)/include/GL/glutf90.h	\ | ||||
| 	$(DIRECTORY)/include/GL/glut_h.dja	\ | ||||
| 	$(DIRECTORY)/src-glut/Makefile*		\ | ||||
| 	$(DIRECTORY)/src-glut/depend		\ | ||||
| 	$(DIRECTORY)/src-glut/*def		\ | ||||
| 	$(DIRECTORY)/src-glut/descrip.mms	\ | ||||
| 	$(DIRECTORY)/src-glut/mms_depend	\ | ||||
| 	$(DIRECTORY)/src-glut/*.[ch]		\ | ||||
| 	$(DIRECTORY)/src-glut/*.[ch] | ||||
|  | ||||
|  | ||||
| OBSOLETE_GLUT_FILES = \ | ||||
| 	$(DIRECTORY)/include/GL/glut_h.dja	\ | ||||
| 	$(DIRECTORY)/src-glut.dja/*		\ | ||||
| 	$(DIRECTORY)/src-glut.beos/Makefile	\ | ||||
| 	$(DIRECTORY)/src-glut.beos/*.cpp	\ | ||||
|   | ||||
							
								
								
									
										94
									
								
								docs/MESA_agp_offset.spec
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										94
									
								
								docs/MESA_agp_offset.spec
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,94 @@ | ||||
| Name | ||||
|  | ||||
|     MESA_agp_offset | ||||
|  | ||||
| Name Strings | ||||
|  | ||||
|     GLX_MESA_agp_offset | ||||
|  | ||||
| Contact | ||||
|  | ||||
|     Brian Paul, Tungsten Graphics, Inc. (brian 'at' tungstengraphics.com) | ||||
|     Keith Whitwell, Tungsten Graphics, Inc.  (keith 'at' tungstengraphics.com) | ||||
|  | ||||
| Status | ||||
|  | ||||
|     Shipping (Mesa 4.0.4 and later.  Only implemented in particular | ||||
|     XFree86/DRI drivers.) | ||||
|  | ||||
| Version | ||||
|  | ||||
|     1.0 | ||||
|  | ||||
| Number | ||||
|  | ||||
|     TBD | ||||
|  | ||||
| Dependencies | ||||
|  | ||||
|     OpenGL 1.0 or later is required | ||||
|     GLX_NV_vertex_array_range is required. | ||||
|     This extensions is written against the OpenGL 1.4 Specification. | ||||
|  | ||||
| Overview | ||||
|  | ||||
|     This extensions provides a way to convert pointers in an AGP memory | ||||
|     region into byte offsets into the AGP aperture. | ||||
|     Note, this extension depends on GLX_NV_vertex_array_range, for which | ||||
|     no real specification exists.  See GL_NV_vertex_array_range for more | ||||
|     information. | ||||
|  | ||||
| IP Status | ||||
|  | ||||
|     None | ||||
|  | ||||
| Issues | ||||
|  | ||||
|     None | ||||
|  | ||||
| New Procedures and Functions | ||||
|  | ||||
|     GLuint glXGetAGPOffsetMESA( const GLvoid *pointer ) | ||||
|  | ||||
| New Tokens | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to the OpenGL 1.4 Specification | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to Chapter 3 the GLX 1.4 Specification (Functions and Errors) | ||||
|  | ||||
|     Add a new section, 3.6 as follows: | ||||
|  | ||||
|     3.6 AGP Memory Access | ||||
|  | ||||
|     On "PC" computers, AGP memory can be allocated with glXAllocateMemoryNV | ||||
|     and freed with glXFreeMemoryNV.  Sometimes it's useful to know where a | ||||
|     block of AGP memory is located with respect to the start of the AGP | ||||
|     aperature.  The function | ||||
|  | ||||
|         GLuint glXGetAGPOffsetMESA( const GLvoid *pointer ) | ||||
|  | ||||
|     Returns the offset of the given memory block from the start of AGP | ||||
|     memory in basic machine units (i.e. bytes).  If pointer is invalid | ||||
|     the value ~0 will be returned. | ||||
|  | ||||
| GLX Protocol | ||||
|  | ||||
|     None.  This is a client side-only extension. | ||||
|  | ||||
| Errors | ||||
|  | ||||
|     glXGetAGPOffsetMESA will return ~0 if the pointer does not point to | ||||
|     an AGP memory region. | ||||
|  | ||||
| New State | ||||
|  | ||||
|     None | ||||
|  | ||||
| Revision History | ||||
|  | ||||
|     20 September 2002 - Initial draft | ||||
|     2 October 2002 - finished GLX chapter 3 additions | ||||
							
								
								
									
										138
									
								
								docs/MESA_pack_invert.spec
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										138
									
								
								docs/MESA_pack_invert.spec
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,138 @@ | ||||
| Name | ||||
|  | ||||
|     MESA_pack_invert | ||||
|  | ||||
| Name Strings | ||||
|  | ||||
|     GL_MESA_pack_invert | ||||
|  | ||||
| Contact | ||||
|  | ||||
|     Brian Paul, Tungsten Graphics, Inc. (brian 'at' tungstengraphics.com) | ||||
|     Keith Whitwell, Tungsten Graphics, Inc.  (keith 'at' tungstengraphics.com) | ||||
|  | ||||
| Status | ||||
|  | ||||
|     Shipping (Mesa 4.0.4 and later) | ||||
|  | ||||
| Version | ||||
|  | ||||
|     1.0 | ||||
|  | ||||
| Number | ||||
|  | ||||
|     TBD | ||||
|  | ||||
| Dependencies | ||||
|  | ||||
|     OpenGL 1.0 or later is required | ||||
|     This extensions is written against the OpenGL 1.4 Specification. | ||||
|  | ||||
| Overview | ||||
|  | ||||
|     This extension adds a new pixel storage parameter to indicate that | ||||
|     images are to be packed in top-to-bottom order instead of OpenGL's | ||||
|     conventional bottom-to-top order.  Only pixel packing can be | ||||
|     inverted (i.e. for glReadPixels, glGetTexImage, glGetConvolutionFilter, | ||||
|     etc). | ||||
|  | ||||
|     Almost all known image file formats store images in top-to-bottom | ||||
|     order.  As it is, OpenGL reads images from the frame buffer in | ||||
|     bottom-to-top order.  Thus, images usually have to be inverted before | ||||
|     writing them to a file with image I/O libraries.  This extension | ||||
|     allows images to be read such that inverting isn't needed. | ||||
|  | ||||
| IP Status | ||||
|  | ||||
|     None | ||||
|  | ||||
| Issues | ||||
|  | ||||
|     1. Should we also defined UNPACK_INVERT_MESA for glDrawPixels, etc? | ||||
|  | ||||
|     Resolved:  No, we're only concerned with pixel packing.  There are other | ||||
|     solutions for inverting images when using glDrawPixels (negative Y pixel | ||||
|     zoom) or glTexImage (invert the vertex T coordinates).  It would be easy | ||||
|     enough to define a complementary extension for pixel packing in the | ||||
|     future if needed. | ||||
|  | ||||
| New Procedures and Functions | ||||
|  | ||||
|     None | ||||
|  | ||||
| New Tokens | ||||
|  | ||||
|     Accepted by the <pname> parameter of PixelStorei and PixelStoref | ||||
|     and the <pname> parameter of GetIntegerv, GetFloatv, GetDoublev | ||||
|     and GetBooleanv: | ||||
|  | ||||
|         PACK_INVERT_MESA                   0x8758 | ||||
|  | ||||
| Additions to Chapter 2 of the OpenGL 1.4 Specification (OpenGL Operation) | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to Chapter 3 of the OpenGL 1.4 Specification (Rasterization) | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to Chapter 4 of the OpenGL 1.4 Specification (Per-Fragment | ||||
| Operations and the Frame Buffer) | ||||
|  | ||||
|     Add the following entry to table 4.4 (PixelStore parameters) on page 182: | ||||
|  | ||||
|     Parameter Name       Type    Initial Value    Valid Range | ||||
|     --------------------------------------------------------- | ||||
|     PACK_INVERT_MESA     boolean     FALSE        TRUE/FALSE | ||||
|  | ||||
|     In the section labeled "Placement in Client Memory" on page 184 | ||||
|     insert the following text into the paragraph before the sentence | ||||
|     that starts with "If the format is RED, GREEN, BLUE...": | ||||
|  | ||||
|     "The parameter PACK_INVERT_MESA controls whether the image is packed | ||||
|      in bottom-to-top order (the default) or top-to-bottom order.  Equation | ||||
|      3.8 is modified as follows: | ||||
|  | ||||
|      ... the first element of the Nth row is indicated by | ||||
|  | ||||
|          p + Nk,                if PACK_INVERT_MESA is false | ||||
|          p + k * (H - 1) - Nk,  if PACK_INVERT_MESA is true, where H is the | ||||
|                                 image height | ||||
|     " | ||||
|  | ||||
| Additions to Chapter 5 of the OpenGL 1.4 Specification (Special Functions) | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to Chapter 6 of the OpenGL 1.4 Specification (State and | ||||
| State Requests) | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to Appendix A of the OpenGL 1.4 Specification (Invariance) | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to the AGL/GLX/WGL Specifications | ||||
|  | ||||
|     None | ||||
|  | ||||
| GLX Protocol | ||||
|  | ||||
|     None | ||||
|  | ||||
| Errors | ||||
|  | ||||
|     None | ||||
|  | ||||
| New State | ||||
|  | ||||
|     Add the following entry to table 6.20 (Pixels) on page 235: | ||||
|  | ||||
|     Get Value         Type     Get Cmd    Initial Value  Description                Sec    Attribute | ||||
|     -------------------------------------------------------------------------------------------------- | ||||
|     PACK_INVERT_MESA  boolean  GetBoolean  FALSE         Value of PACK_INVERT_MESA  4.3.2  pixel-store | ||||
|  | ||||
| Revision History | ||||
|  | ||||
|     21 September 2002 - Initial draft | ||||
							
								
								
									
										233
									
								
								docs/MESA_packed_depth_stencil.spec
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										233
									
								
								docs/MESA_packed_depth_stencil.spec
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,233 @@ | ||||
| XXX - Not complete yet!!! | ||||
|  | ||||
| Name | ||||
|  | ||||
|     MESA_packed_depth_stencil | ||||
|  | ||||
| Name Strings | ||||
|  | ||||
|     GL_MESA_packed_depth_stencil | ||||
|  | ||||
| Contact | ||||
|  | ||||
|     Keith Whitwell, VA Linux Systems Inc. (keithw 'at' valinux.com) | ||||
|     Brian Paul, VA Linux Systems Inc. (brianp 'at' valinux.com) | ||||
|  | ||||
| Status | ||||
|  | ||||
|     Not yet shipping. | ||||
|  | ||||
| Version | ||||
|  | ||||
|     $Id: MESA_packed_depth_stencil.spec,v 1.1 2000/11/03 14:58:45 brianp Exp $ | ||||
|  | ||||
| Number | ||||
|  | ||||
|     ??? | ||||
|  | ||||
| Dependencies | ||||
|  | ||||
|     EXT_abgr affects the definition of this extension | ||||
|     SGIS_texture4D affects the definition of this extension | ||||
|     EXT_cmyka affects the definition of this extension | ||||
|     ARB_packed_pixels affects the definition of this extension | ||||
|  | ||||
| Overview | ||||
| 	 | ||||
|     Provides a mechanism for DrawPixels and ReadPixels to efficiently | ||||
|     transfer depth and stencil image data.  Specifically, we defined new | ||||
|     packed pixel formats and types which pack both stencil and depth | ||||
|     into one value. | ||||
|  | ||||
| Issues: | ||||
|  | ||||
|     1. Is this the right way to distinguish between 24/8 and 8/24 | ||||
|        pixel formats?  Should we instead provide both: | ||||
| 	 | ||||
|        GL_DEPTH_STENCIL_MESA | ||||
|        GL_STENCIL_DEPTH_MESA | ||||
|  | ||||
|        And perhaps just use GL_UNSIGNED_INT, GL_UNSIGNED_SHORT ? | ||||
|  | ||||
|     2. If not, is it correct to use _REV to indicate that stencil | ||||
|        preceeds depth in the 1_15 and 8_24 formats? | ||||
|  | ||||
|     3. Do we really want the GL_UNSIGNED_SHORT formats?   | ||||
|  | ||||
| 	 | ||||
| New Procedures and Functions | ||||
|  | ||||
|     None. | ||||
|  | ||||
| New Tokens | ||||
|      | ||||
|     Accepted by the <format> parameter of ReadPixels and DrawPixels: | ||||
|  | ||||
| 	GL_DEPTH_STENCIL_MESA		0x8750 | ||||
|  | ||||
|     Accepted by the <type> parameter of ReadPixels and DrawPixels: | ||||
|  | ||||
| 	GL_UNSIGNED_INT_24_8_MESA	0x8751 | ||||
| 	GL_UNSIGNED_INT_8_24_REV_MESA	0x8752 | ||||
| 	GL_UNSIGNED_SHORT_15_1_MESA	0x8753 | ||||
| 	GL_UNSIGNED_SHORT_1_15_REV_MESA	0x8754 | ||||
|  | ||||
| Additions to Chapter 2 of the 1.1 Specification (OpenGL Operation) | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to Chapter 3 of the 1.1 Specification (Rasterization) | ||||
|  | ||||
|     One entry is added to table 3.5 (DrawPixels and ReadPixels formats). | ||||
|     The new table is: | ||||
|  | ||||
| 			Target | ||||
| 	Format Name	Buffer	Element Meaning and Order | ||||
| 	-----------	------	------------------------- | ||||
| 	COLOR_INDEX	Color	Color index | ||||
| 	STENCIL_INDEX	Stencil Stencil index | ||||
| 	DEPTH_COMPONENT Depth	Depth component | ||||
| 	RED		Color	R component | ||||
| 	GREEN		Color	G component | ||||
| 	BLUE		Color	B component | ||||
| 	ALPHA		Color	A component | ||||
| 	RGB		Color	R, G, B components | ||||
| 	RGBA		Color	R, G, B, A components | ||||
| 	BGRA	        Color   B, G, R, A components | ||||
| 	ABGR_EXT	Color	A, B, G, R components | ||||
| 	CMYK_EXT	Color	Cyan, Magenta, Yellow, Black components | ||||
| 	CMYKA_EXT	Color	Cyan, Magenta, Yellow, Black, A components | ||||
| 	LUMINANCE	Color	Luminance component | ||||
| 	LUMINANCE_ALPHA Color	Luminance, A components | ||||
| 	DEPTH_STENCIL   Depth,  Depth component, stencil index. | ||||
| 			Stencil | ||||
|  | ||||
| 	Table 3.5: DrawPixels and ReadPixels formats.  The third column | ||||
| 	gives a description of and the number and order of elements in a | ||||
| 	group. | ||||
|  | ||||
|     Add to the description of packed pixel formats: | ||||
|  | ||||
| 	<type> Parameter		Data	of	  Matching | ||||
| 	Token Name			Type	Elements  Pixel Formats | ||||
| 	----------------		----	--------  ------------- | ||||
|  | ||||
| 	UNSIGNED_BYTE_3_3_2	      ubyte   3	      RGB | ||||
| 	UNSIGNED_BYTE_2_3_3_REV       ubyte   3	      RGB | ||||
| 	UNSIGNED_SHORT_5_6_5	      ushort  3	      RGB | ||||
| 	UNSIGNED_SHORT_5_6_5_REV      ushort  3	      RGB | ||||
| 	UNSIGNED_SHORT_4_4_4_4	      ushort  4	      RGBA,BGRA,ABGR_EXT,CMYK_EXT | ||||
| 	UNSIGNED_SHORT_4_4_4_4_REV    ushort  4	      RGBA,BGRA | ||||
| 	UNSIGNED_SHORT_5_5_5_1	      ushort  4	      RGBA,BGRA,ABGR_EXT,CMYK_EXT | ||||
| 	UNSIGNED_SHORT_1_5_5_5_REV    ushort  4	      RGBA,BGRA | ||||
| 	UNSIGNED_INT_8_8_8_8	      uint    4	      RGBA,BGRA,ABGR_EXT,CMYK_EXT | ||||
| 	UNSIGNED_INT_8_8_8_8_REV      uint    4	      RGBA,BGRA | ||||
| 	UNSIGNED_INT_10_10_10_2       uint    4	      RGBA,BGRA,ABGR_EXT,CMYK_EXT | ||||
| 	UNSIGNED_INT_2_10_10_10_REV   uint    4	      RGBA,BGRA | ||||
| 	UNSIGNED_SHORT_15_1_MESA      ushort  2       DEPTH_STENCIL_MESA | ||||
| 	UNSIGNED_SHORT_1_15_REV_MESA  ushort  2       DEPTH_STENCIL_MESA | ||||
| 	UNSIGNED_SHORT_24_8_MESA      ushort  2       DEPTH_STENCIL_MESA | ||||
| 	UNSIGNED_SHORT_8_24_REV_MESA  ushort  2       DEPTH_STENCIL_MESA | ||||
|  | ||||
| 	UNSIGNED_INT_8_24: | ||||
|  | ||||
| 	     31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10	9  8  7  6  5  4  3  2	1  0 | ||||
| 	    +-----------------------+-----------------------------------------------------------------------+ | ||||
| 	    |			    |			     			    			    | | ||||
| 	    +-----------------------+-----------------------------------------------------------------------+ | ||||
|  | ||||
| 		    first					second		     | ||||
| 		    element					element		     | ||||
|  | ||||
|  | ||||
| 	UNSIGNED_INT_24_8: | ||||
|  | ||||
| 	     31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10	9  8  7  6  5  4  3  2	1  0 | ||||
| 	    +----------------------------------------------------------------------+------------------------+ | ||||
| 	    |			    			     			   | 			    | | ||||
| 	    +----------------------------------------------------------------------+------------------------+ | ||||
|  | ||||
| 		    first								  second		     | ||||
| 		    element								  element		     | ||||
|  | ||||
| 	UNSIGNED_SHORT_15_1: | ||||
|  | ||||
| 	      15  14  13  12  11  10  9   8   7   6   5   4   3   2   1   0 | ||||
| 	    +-----------------------------------------------------------+---+ | ||||
| 	    |					    			|   | | ||||
| 	    +-----------------------------------------------------------+---+ | ||||
|  | ||||
| 	    		first						second	 | ||||
| 			element						element	 | ||||
|  | ||||
|  | ||||
| 	UNSIGNED_SHORT_1_15_REV: | ||||
|  | ||||
| 	      15  14  13  12  11  10  9   8   7   6   5   4   3   2   1   0 | ||||
| 	    +---+-----------------------------------------------------------+ | ||||
| 	    |	|		     					    | | ||||
| 	    +---+-----------------------------------------------------------+ | ||||
|  | ||||
| 	    second		    first | ||||
| 	    element		    element | ||||
|  | ||||
|     The assignment of elements to fields in the packed pixel is as | ||||
|     described in the table below: | ||||
|  | ||||
| 			   First       Second	Third	    Fourth | ||||
| 	Format		   Element     Element	Element     Element | ||||
| 	------		   -------     -------	-------     ------- | ||||
| 	RGB		   red	       green	blue | ||||
| 	RGBA		   red	       green	blue	    alpha | ||||
| 	BGRA		   blue	       green	red	    alpha | ||||
| 	ABGR_EXT	   alpha       blue	green	    red | ||||
| 	CMYK_EXT	   cyan	       magenta	yellow	    black | ||||
| 	DEPTH_STENCIL_MESA depth       stencil | ||||
|  | ||||
| Additions to Chapter 4 of the 1.1 Specification (Per-Fragment Operations | ||||
| and the Frame Buffer) | ||||
|  | ||||
|     The new format is added to the discussion of Obtaining Pixels from the | ||||
|     Framebuffer.  It should read " If the <format> is one of RED, GREEN, | ||||
|     BLUE, ALPHA, RGB, RGBA, ABGR_EXT, LUMINANCE, or LUMINANCE_ALPHA, and | ||||
|     the GL is in color index mode, then the color index is obtained." | ||||
|  | ||||
|     The new format is added to the discussion of Index Lookup.  It should | ||||
|     read "If <format> is one of RED, GREEN, BLUE, ALPHA, RGB, RGBA, | ||||
|     ABGR_EXT, LUMINANCE, or LUMINANCE_ALPHA, then the index is used to | ||||
|     reference 4 tables of color components: PIXEL_MAP_I_TO_R, | ||||
|     PIXEL_MAP_I_TO_G, PIXEL_MAP_I_TO_B, and PIXEL_MAP_I_TO_A." | ||||
|  | ||||
|  | ||||
| Additions to Chapter 5 of the 1.1 Specification (Special Functions) | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to Chapter 6 of the 1.1 Specification (State and State Requests) | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to the GLX Specification | ||||
|  | ||||
|     None | ||||
|  | ||||
| GLX Protocol | ||||
|  | ||||
|     TBD | ||||
|  | ||||
| Errors | ||||
|  | ||||
|     None | ||||
|  | ||||
| New State | ||||
|  | ||||
|     None | ||||
|  | ||||
| Revision History | ||||
|  | ||||
|     Version 1.0 - 23 Sep 2000 | ||||
|         Keith's original version. | ||||
|  | ||||
|     Version 1.1 - 3 Nov 2000 | ||||
|         Brian's edits, assigned values to new enums. | ||||
|  | ||||
							
								
								
									
										193
									
								
								docs/MESA_sprite_point.spec
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										193
									
								
								docs/MESA_sprite_point.spec
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,193 @@ | ||||
| XXX - Not complete yet!!! | ||||
|  | ||||
| Name | ||||
|  | ||||
|     MESA_sprite_point | ||||
|  | ||||
| Name Strings | ||||
|  | ||||
|     GL_MESA_sprite_point | ||||
|  | ||||
| Contact | ||||
|  | ||||
|     Brian Paul, VA Linux Systems Inc. (brianp 'at' valinux.com) | ||||
|  | ||||
| Status | ||||
|  | ||||
|     Not yet shipping. | ||||
|  | ||||
| Version | ||||
|  | ||||
|     $Id: MESA_sprite_point.spec,v 1.1 2000/12/08 00:21:02 brianp Exp $ | ||||
|  | ||||
| Number | ||||
|  | ||||
|     ??? | ||||
|  | ||||
| Dependencies | ||||
|  | ||||
|     GL_EXT_point_parameters effects the definition of this extension | ||||
|     GL_ARB_multitexture effects the definition of this extension | ||||
|  | ||||
| Overview | ||||
| 	 | ||||
|     This extension modifies the way in which points are rendered, | ||||
|     specifically when they're textured.  When SPRITE_POINT_MESA is enabled | ||||
|     a point is rendered as if it were a quadrilateral with unique texture | ||||
|     coordinates at each vertex.  This extension effectively turns points | ||||
|     into sprites which may be rendered more easily and quickly than using | ||||
|     conventional textured quadrilaterals. | ||||
|  | ||||
|     When using point size > 1 or attenuated points this extension is an | ||||
|     effective way to render many small sprite images for particle systems | ||||
|     or other effects. | ||||
|  | ||||
| Issues: | ||||
|  | ||||
|     1. How are the texture coordinates computed? | ||||
|  | ||||
|        The lower-left corner has texture coordinate (0,0,r,q). | ||||
|        The lower-right, (1,0,r,q).  The upper-right, (1,1,r,q). | ||||
|        The upper-left, (0,1,r,q). | ||||
|  | ||||
|     2. What about texgen and texture matrices? | ||||
|  | ||||
|        Texgen and the texture matrix have no effect on the point's s and t | ||||
|        texture coordinates.  The r and q coordinates may have been computed | ||||
|        by texgen or the texture matrix.  Note that with a 3D texture and/or | ||||
|        texgen that the r coordinate could be used to select a slice in the | ||||
|        3D texture. | ||||
|  | ||||
|     3. What about point smoothing? | ||||
|  | ||||
|        When point smoothing is enabled, a triangle fan could be rendered | ||||
|        to approximate a circular point.  This could be problematic to | ||||
|        define and implement so POINT_SMOOTH is ignored when drawing sprite | ||||
|        points. | ||||
|  | ||||
|        Smoothed points can be approximated by using an appropriate texture | ||||
|        images, alpha testing and blending. | ||||
|  | ||||
|        POLYGON_SMOOTH does effect the rendering of the quadrilateral, however. | ||||
|  | ||||
|     4. What about sprite rotation? | ||||
|  | ||||
|        There is none.  Sprite points are always rendered as window-aligned | ||||
|        squares.  One could define rotated texture images if desired.  A 3D | ||||
|        texture and appropriate texture r coordinates could be used to | ||||
|        effectively specify image rotation per point. | ||||
|  | ||||
|     5. What about POLYGON_MODE? | ||||
|  | ||||
|        POLYGON_MODE does not effect the rasterization of the quadrilateral. | ||||
|  | ||||
|     6. What about POLYGON_CULL? | ||||
|  | ||||
|        TBD.  Polygon culling is normally specified and implemented in the | ||||
|        transformation stage of OpenGL.  However, some rasterization hardware | ||||
|        implements it later during triangle setup. | ||||
|  | ||||
|        Polygon culling wouldn't be useful for sprite points since the | ||||
|        quadrilaterals are always defined in counter-clockwise order in | ||||
|        window space.  For that reason, polygon culling should probably be | ||||
|        ignored. | ||||
|  | ||||
|     7. Should sprite points be alpha-attenuated if their size is below the | ||||
|        point parameter's threshold size? | ||||
|  | ||||
|     8. Should there be an advertisized maximum sprite point size? | ||||
|  | ||||
|        No.  Since we're rendering the point as a quadrilateral there's no | ||||
|        need to limit the size. | ||||
|  | ||||
|  | ||||
| New Procedures and Functions | ||||
|  | ||||
|     None. | ||||
|  | ||||
| New Tokens | ||||
|      | ||||
|     Accepted by the <pname> parameter of Enable, Disable, IsEnabled, | ||||
|     GetIntegerv, GetBooleanv, GetFloatv and GetDoublev: | ||||
|  | ||||
| 	SPRITE_POINT_MESA		0x???? | ||||
|         MAX_SPRITE_POINT_SIZE_MESA      0x????   (need this?) | ||||
|  | ||||
| Additions to Chapter 2 of the 1.1 Specification (OpenGL Operation) | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to Chapter 3 of the 1.1 Specification (Rasterization) | ||||
|  | ||||
|     Section ???. | ||||
|  | ||||
|     When SPRITE_POINT_MESA is enabled points are rasterized as screen- | ||||
|     aligned quadrilaterals.  If the four vertices of the quadrilateral | ||||
|     are labeled A, B, C, and D, starting at the lower-left corner and moving | ||||
|     counter-clockwise around the quadrilateral, then the vertex and | ||||
|     texture coordinates are computed as follows: | ||||
|  | ||||
|       vertex   window coordinate       texture coordinate | ||||
|         A      (x-r, y-r, z, w)          (0, 0, r, q) | ||||
|         B      (x+r, y-r, z, w)          (1, 0, r, q) | ||||
|         C      (x+r, y+r, z, w)          (1, 1, r, q) | ||||
|         D      (x-r, y+r, z, w)          (0, 1, r, q) | ||||
|  | ||||
|     where x, y, z, w are the point's window coordinates, r and q are the | ||||
|     point's 3rd and 4th texture coordinates  and r is half the point's | ||||
|     size.  The other vertex attributes (such as the color and fog coordinate) | ||||
|     are simply duplicated from the original point vertex. | ||||
|  | ||||
|     Point size may either be specified with PointSize or computed | ||||
|     according to the EXT_point_parameters extension. | ||||
|  | ||||
|     The new texture coordinates are not effected by texgen or the texture | ||||
|     matrix.  Note, however, that the texture r and q coordinates are passed | ||||
|     unchanged and may have been computed with texgen and/or the texture | ||||
|     matrix. | ||||
|  | ||||
|     If multiple texture units are present the same texture coordinate is | ||||
|     used for all texture units. | ||||
|  | ||||
|     The point is then rendered as if it were a quadrilateral using the | ||||
|     normal point sampling rules.  POLYGON_MODE does not effect the | ||||
|     rasterization of the quadrilateral but POLYGON_SMOOTH does. | ||||
|  | ||||
|     POINT_SMOOTH has no effect when SPRITE_POINT_MESA is enabled. | ||||
|  | ||||
| Additions to Chapter 4 of the 1.1 Specification (Per-Fragment Operations | ||||
| and the Frame Buffer) | ||||
|  | ||||
|     None. | ||||
|  | ||||
| Additions to Chapter 5 of the 1.1 Specification (Special Functions) | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to Chapter 6 of the 1.1 Specification (State and State Requests) | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to the GLX Specification | ||||
|  | ||||
|     None | ||||
|  | ||||
| GLX Protocol | ||||
|  | ||||
|     TBD | ||||
|  | ||||
| Errors | ||||
|  | ||||
|     None | ||||
|  | ||||
| New State | ||||
|  | ||||
|     Add boolean variable SPRITE_POINT_MESA to the point attribute group. | ||||
|  | ||||
| Revision History | ||||
|  | ||||
|     Version 1.0 - 4 Dec 2000 | ||||
|         Original draft. | ||||
|  | ||||
|  | ||||
|  | ||||
							
								
								
									
										360
									
								
								docs/MESA_trace.spec
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										360
									
								
								docs/MESA_trace.spec
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,360 @@ | ||||
| Name | ||||
|  | ||||
|      MESA_trace | ||||
|  | ||||
| Name Strings | ||||
|  | ||||
|      GL_MESA_TRACE | ||||
|  | ||||
| Contact | ||||
|      | ||||
|     Bernd Kreimeier, Loki Entertainment, bk 'at' lokigames.com | ||||
|     Brian Paul, VA Linux Systems, Inc., brianp 'at' valinux.com | ||||
|  | ||||
| Status | ||||
|  | ||||
|     XXX - Not complete yet!!! | ||||
|  | ||||
| Version | ||||
|  | ||||
|     $Id: MESA_trace.spec,v 1.2 2001/01/29 16:10:18 brianp Exp $ | ||||
|  | ||||
| Number | ||||
|  | ||||
|     none yet | ||||
|  | ||||
| Dependencies | ||||
|  | ||||
|     OpenGL 1.2 is required. | ||||
|     The extension is written against the OpenGL 1.2 Specification | ||||
|  | ||||
| Overview | ||||
|  | ||||
|     Provides the application with means to enable and disable logging | ||||
|     of GL calls including parameters as readable text. The verbosity | ||||
|     of the generated log can be controlled. The resulting logs are | ||||
|     valid (but possibly incomplete) C code and can be compiled and  | ||||
|     linked for standalone test programs. The set of calls and the  | ||||
|     amount of static data that is logged can be controlled at runtime.  | ||||
|     The application can add comments and enable or disable tracing of GL  | ||||
|     operations at any time. The data flow from the application to GL | ||||
|     and back is unaffected except for timing. | ||||
|  | ||||
|     Application-side implementation of these features raises namespace | ||||
|     and linkage issues. In the driver dispatch table a simple | ||||
|     "chain of responsibility" pattern (aka "composable piepline") | ||||
|     can be added. | ||||
|  | ||||
| IP Status | ||||
|  | ||||
|     The extension spec is in the public domain.  The current implementation | ||||
|     in Mesa is covered by Mesa's XFree86-style copyright by the authors above. | ||||
|     This extension is partially inspired by the Quake2 QGL wrapper. | ||||
|  | ||||
| Issues | ||||
|  | ||||
|   | ||||
|     (1) Is this Extension obsolete because it can | ||||
|     be implemented as a wrapper DLL? | ||||
|  | ||||
|       RESOLVED: No. While certain operating systems (Win32) provide linkers  | ||||
|       that facilitate this kind of solution, other operating systems | ||||
|       (Linux) do not support hierarchical linking, so a wrapper solution | ||||
|       would result in symbol collisions. | ||||
|       Further, IHV's might have builtin support for tracing GL execution  | ||||
|       that enjoys privileged access, or that they do not wish to separate | ||||
|       the tracing code from their driver code base. | ||||
|  | ||||
|     (2) Should the Trace API explicitely support the notion of "frames?  | ||||
|     This would require hooking into glXSwapBuffers calls as well. | ||||
|  | ||||
|       RESOLVED: No. The application can use NewTraceMESA/EndTraceMESA | ||||
|       and TraceComment along with external parsing tools to split the  | ||||
|       trace into frames, in whatever way considered adequate. | ||||
|  | ||||
|     (2a) Should GLX calls be traced? | ||||
|  | ||||
|       PBuffers and other render-to-texture solutions demonstrate that | ||||
|       context level commands beyond SwapBuffers might have to be | ||||
|       traced. The GL DLL exports the entry points, so this would not | ||||
|       be out of the question.  | ||||
|  | ||||
|     (3) Should the specification mandate the actual output format? | ||||
|  | ||||
|       RESOLVED: No. It is sufficient to guarantee that all data and commands  | ||||
|       will be traced as requested by Enable/DisableTraceMESA, in the order | ||||
|       encountered. Whether the resulting trace is available as a readable  | ||||
|       text file, binary metafile, compilable source code, much less which  | ||||
|       indentation and formatting has been used, is up to the implementation.  | ||||
|       For the same reason this specification does not enforce or prohibit | ||||
|       additional information added to the trace (statistics, profiling/timing,  | ||||
|       warnings on possible error conditions). | ||||
|  | ||||
|     (4) Should the comment strings associated with names and pointer (ranges)  | ||||
|     be considered persistent state? | ||||
|  | ||||
|       RESOLVED: No. The implementation is not forced to use this information  | ||||
|       on subsequent occurences of name/pointer, and is free to consider it  | ||||
|       transient state. | ||||
|   | ||||
|     (5) Should comment commands be prohibited between Begin/End? | ||||
|  | ||||
|       RESOLVED: Yes, with the exception of TraceCommentMESA. TraceCommentMESA  | ||||
|       is transient, the other commands might cause storage of persistent | ||||
|       data in the context. There is no need to have the ability mark names  | ||||
|       or pointers between Begin and End. | ||||
|  | ||||
|  | ||||
| New Procedures and Functions | ||||
|   | ||||
|     void NewTraceMESA( bitfield mask, const ubyte * traceName ) | ||||
|  | ||||
|     void EndTraceMESA( void ) | ||||
|  | ||||
|     void EnableTraceMESA( bitfield mask ) | ||||
|  | ||||
|     void DisableTraceMESA( bitfield mask ) | ||||
|  | ||||
|     void TraceAssertAttribMESA( bitfield attribMask ) | ||||
|  | ||||
|     void TraceCommentMESA( const ubyte* comment ) | ||||
|  | ||||
|     void TraceTextureMESA( uint name, const ubyte* comment ) | ||||
|  | ||||
|     void TraceListMESA( uint name, const ubyte* comment ) | ||||
|  | ||||
|     void TracePointerMESA( void* pointer, const ubyte* comment ) | ||||
|  | ||||
|     void TracePointerRangeMESA( const void* first,  | ||||
|                                 const void* last,  | ||||
|                                 const ubyte* comment )  | ||||
|  | ||||
| New Tokens | ||||
|   | ||||
|     Accepted by the <mask> parameter of EnableTrace and DisableTrace: | ||||
|  | ||||
|        TRACE_ALL_BITS_MESA           0xFFFF | ||||
|        TRACE_OPERATIONS_BIT_MESA     0x0001 | ||||
|        TRACE_PRIMITIVES_BIT_MESA     0x0002 | ||||
|        TRACE_ARRAYS_BIT_MESA         0x0004 | ||||
|        TRACE_TEXTURES_BIT_MESA       0x0008 | ||||
|        TRACE_PIXELS_BIT_MESA         0x0010 | ||||
|        TRACE_ERRORS_BIT_MESA         0x0020 | ||||
|  | ||||
|     Accepted by the <pname> parameter of GetIntegerv, GetBooleanv, | ||||
|     GetFloatv, and GetDoublev: | ||||
|  | ||||
|        TRACE_MASK_MESA               0x8755 | ||||
|  | ||||
|     Accepted by the <pname> parameter to GetString: | ||||
|  | ||||
|        TRACE_NAME_MESA               0x8756 | ||||
|  | ||||
|  | ||||
| Additions to Chapter 2 of the OpenGL 1.2.1 Specification (OpenGL Operation) | ||||
|  | ||||
|     None. | ||||
|  | ||||
| Additions to Chapter 3 of the OpenGL 1.2.1 Specification (OpenGL Operation) | ||||
|  | ||||
|     None. | ||||
|  | ||||
| Additions to Chapter 4 of the OpenGL 1.2.1 Specification (OpenGL Operation) | ||||
|  | ||||
|     None. | ||||
|  | ||||
| Additions to Chapter 5 of the OpenGL 1.2.1 Specification (Special Functions) | ||||
|  | ||||
|     Add a new section: | ||||
|  | ||||
|     5.7 Tracing | ||||
|  | ||||
|     The tracing facility is used to record the execution of a GL program | ||||
|     to a human-readable log.  The log appears as a sequence of GL commands | ||||
|     using C syntax.  The primary intention of tracing is to aid in program | ||||
|     debugging. | ||||
|  | ||||
|     A trace is started with the command | ||||
|  | ||||
|       void NewTraceMESA( bitfield mask, const GLubyte * traceName ) | ||||
|  | ||||
|     <mask> may be any value accepted by PushAttrib and specifies a set of | ||||
|     attribute groups.  The state values included in those attribute groups | ||||
|     is written to the trace as a sequence of GL commands. | ||||
|  | ||||
|     <traceName> specifies a name or label for the trace.  It is expected | ||||
|     that <traceName> will be interpreted as a filename in most implementations. | ||||
|  | ||||
|     A trace is ended by calling the command | ||||
|  | ||||
|       void EndTraceMESA( void ) | ||||
|  | ||||
|     It is illegal to call NewTraceMESA or EndTraceMESA between Begin and End.  | ||||
|  | ||||
|     The commands | ||||
|  | ||||
|       void EnableTraceMESA( bitfield mask ) | ||||
|       void DisableTraceMESA( bitfield mask ) | ||||
|  | ||||
|     enable or disable tracing of different classes of GL commands. | ||||
|     <mask> may be the union of any of TRACE_OPERATIONS_BIT_MESA, | ||||
|     TRACE_PRIMITIVES_BIT_MESA, TRACE_ARRAYS_BIT_MESA, TRACE_TEXTURES_BIT_MESA, | ||||
|     and TRACE_PIXELS_BIT_MESA.  The special token TRACE_ALL_BITS_MESA | ||||
|     indicates all classes of commands are to be logged. | ||||
|  | ||||
|     TRACE_OPERATIONS_BIT_MESA controls logging of all commands outside of | ||||
|     Begin/End, including Begin/End. | ||||
|    | ||||
|     TRACE_PRIMITIVES_BIT_MESA controls logging of all commands inside of | ||||
|     Begin/End, including Begin/End. | ||||
|   | ||||
|     TRACE_ARRAYS_BIT_MESA controls logging of VertexPointer, NormalPointer, | ||||
|     ColorPointer, IndexPointer, TexCoordPointer and EdgeFlagPointer commands. | ||||
|  | ||||
|     TRACE_TEXTURES_BIT_MESA controls logging of texture data dereferenced by | ||||
|     TexImage1D, TexImage2D, TexImage3D, TexSubImage1D, TexSubImage2D, and | ||||
|     TexSubImage3D commands. | ||||
|  | ||||
|     TRACE_PIXELS_BIT_MESA controls logging of image data dereferenced by | ||||
|     Bitmap and DrawPixels commands. | ||||
|  | ||||
|     TRACE_ERRORS_BIT_MESA controls logging of all errors. If this bit is  | ||||
|     set, GetError will be executed whereever applicable, and the result will  | ||||
|     be added to the trace as a comment. The error returns are cached and  | ||||
|     returned to the application on its GetError calls. If the user does not  | ||||
|     wish the additional GetError calls to be performed, this bit should not | ||||
|     be set. | ||||
|      | ||||
|     The command | ||||
|  | ||||
|       void TraceCommentMESA( const ubyte* comment ) | ||||
|  | ||||
|     immediately adds the <comment> string to the trace output, surrounded | ||||
|     by C-style comment delimiters. | ||||
|  | ||||
|     The commands | ||||
|  | ||||
|       void TraceTextureMESA( uint name, const ubyte* comment ) | ||||
|       void TraceListMESA( uint name, const ubyte* comment ) | ||||
|  | ||||
|     associates <comment> with the texture object or display list specified | ||||
|     by <name>.  Logged commands which reference the named texture object or | ||||
|     display list will be annotated with <comment>.  If IsTexture(name) or | ||||
|     IsList(name) fail (respectively) the command is quietly ignored. | ||||
|  | ||||
|     The commands | ||||
|  | ||||
|       void TracePointerMESA( void* pointer, const ubyte* comment ) | ||||
|  | ||||
|       void TracePointerRangeMESA( const void* first,  | ||||
|                                   const void* last, | ||||
|                                   const ubyte* comment )  | ||||
|  | ||||
|     associate <comment> with the address specified by <pointer> or with | ||||
|     a range of addresses specified by <first> through <last>. | ||||
|     Any logged commands which reference <pointer> or an address between | ||||
|     <first> and <last> will be annotated with <comment>. | ||||
|  | ||||
|     The command | ||||
|  | ||||
|       void TraceAssertAttribMESA( bitfield attribMask ) | ||||
|  | ||||
|     will add GL state queries and assertion statements to the log to | ||||
|     confirm that the current state at the time TraceAssertAttrib is | ||||
|     executed matches the current state when the trace log is executed | ||||
|     in the future. | ||||
|  | ||||
|     <attribMask> is any value accepted by PushAttrib and specifies | ||||
|     the groups of state variables which are to be asserted. | ||||
|  | ||||
|     The commands NewTraceMESA, EndTraceMESA, EnableTraceMESA, DisableTraceMESA, | ||||
|     TraceAssertAttribMESA, TraceCommentMESA, TraceTextureMESA, TraceListMESA,  | ||||
|     TracePointerMESA and TracePointerRangeMESA are not compiled into display lists. | ||||
|  | ||||
|  | ||||
|     Examples: | ||||
|  | ||||
|     The command NewTraceMESA(DEPTH_BUFFER_BIT, "log") will query the state | ||||
|     variables DEPTH_TEST, DEPTH_FUNC, DEPTH_WRITEMASK, and DEPTH_CLEAR_VALUE | ||||
|     to get the values <test>, <func>, <mask>, and <clear> respectively. | ||||
|     Statements equivalent to the following will then be logged: | ||||
|  | ||||
|        glEnable(GL_DEPTH_TEST);   (if <test> is true) | ||||
|        glDisable(GL_DEPTH_TEST);  (if <test> is false) | ||||
|        glDepthFunc(<func>);  | ||||
|        glDepthMask(<mask>); | ||||
|        glClearDepth(<clear>); | ||||
|     | ||||
|  | ||||
|     The command TraceAssertAttribMESA(DEPTH_BUFFER_BIT) will query the state | ||||
|     variables DEPTH_TEST, DEPTH_FUNC, DEPTH_WRITEMASK, and DEPTH_CLEAR_VALUE | ||||
|     to get the values <test>, <func>, <mask>, and <clear> respectively. | ||||
|     The resulting trace might then look will like this: | ||||
|  | ||||
|     { | ||||
|       GLboolean b; | ||||
|       GLint i; | ||||
|       GLfloat f; | ||||
|       b = glIsEnabled(GL_DEPTH_TEST); | ||||
|       assert(b == <test>); | ||||
|       glGetIntegerv(GL_DEPTH_FUNC, &i); | ||||
|       assert(i == <func>); | ||||
|       glGetIntegerv(GL_DEPTH_MASK, &i); | ||||
|       assert(i == <mask>); | ||||
|       glGetFloatv(GL_DEPTH_CLEAR_VALUE, &f); | ||||
|       assert(f == <clear>); | ||||
|     } | ||||
|  | ||||
|  | ||||
| Additions to Chapter 6 of the OpenGL 1.2.1 Specification  | ||||
|     (State and State Requests) | ||||
|  | ||||
|     Querying TRACE_MASK_MESA with GetIntegerv, GetFloatv, GetBooleanv or | ||||
|     GetDoublev returns the current command class trace mask. | ||||
|  | ||||
|     Querying TRACE_NAME_MESA with GetString returns the current trace name. | ||||
|  | ||||
|  | ||||
| Additions to Appendix A of the OpenGL 1.2.1 Specification (Invariance) | ||||
|  | ||||
|     The MESA_trace extension can be used in a way that does not affect data  | ||||
|     flow from application to OpenGL, as well as data flow from OpenGL to  | ||||
|     application, except for timing, possible print I/O. TRACE_ERRORS_BIT_MESA | ||||
|     will add additional GetError queries. Setting a trace mask with NewTraceMESA | ||||
|     as well as use of TraceAssertAttribMESA might cause additional state queries. | ||||
|     With the possible exception of performance, OpenGL rendering should not be | ||||
|     affected at all by a properly chosen logging operation. | ||||
|  | ||||
| Additions to the AGL/GLX/WGL Specifications | ||||
|  | ||||
|     None. | ||||
|  | ||||
| GLX Protocol | ||||
|  | ||||
|     None. The logging operation is carried out client-side, by exporting | ||||
|     entry points to the wrapper functions that execute the logging operation. | ||||
|  | ||||
| Errors | ||||
|  | ||||
|     INVALID_OPERATION is generated if any trace command except TraceCommentMESA | ||||
|     is called between Begin and End. | ||||
|  | ||||
| New State | ||||
|  | ||||
|     The current trace name and current command class mask are stored | ||||
|     per-context. | ||||
|  | ||||
| New Implementation Dependent State | ||||
|  | ||||
|     None. | ||||
|  | ||||
| Revision History | ||||
|  | ||||
|   * Revision 0.1 - Initial draft from template (bk000415) | ||||
|   * Revision 0.2 - Draft (bk000906) | ||||
|   * Revision 0.3 - Draft (bk000913) | ||||
|   * Revision 0.4 - Reworked text, fixed typos (bp000914) | ||||
|   * Revision 0.5 - Assigned final GLenum values (bp001103) | ||||
|   * Revision 0.6 - TRACE_ERRORS_BIT_MESA (bk000916) | ||||
|   * Revision 0.7 - Added MESA postfix (bk010126) | ||||
|  | ||||
							
								
								
									
										197
									
								
								docs/MESA_ycbcr_texture.spec
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										197
									
								
								docs/MESA_ycbcr_texture.spec
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,197 @@ | ||||
| Name | ||||
|  | ||||
|     MESA_ycbcr_texture | ||||
|  | ||||
| Name Strings | ||||
|  | ||||
|     GL_MESA_ycbcr_texture | ||||
|  | ||||
| Contact | ||||
|  | ||||
|     Brian Paul, Tungsten Graphics, Inc. (brian 'at' tungstengraphics.com) | ||||
|     Keith Whitwell, Tungsten Graphics, Inc.  (keith 'at' tungstengraphics.com) | ||||
|  | ||||
| Status | ||||
|  | ||||
|     Shipping (Mesa 4.0.4 and later) | ||||
|  | ||||
| Version | ||||
|  | ||||
|     1.0 | ||||
|  | ||||
| Number | ||||
|  | ||||
|     TBD | ||||
|  | ||||
| Dependencies | ||||
|  | ||||
|     OpenGL 1.0 or later is required | ||||
|     This extensions is written against the OpenGL 1.4 Specification. | ||||
|     NV_texture_rectangle effects the definition of this extension. | ||||
|  | ||||
| Overview | ||||
|  | ||||
|     This extension supports texture images in the YCbCr format.  There is | ||||
|     no support for converting YCbCr images to RGB or vice versa.  The | ||||
|     intention is for YCbCr image data to be directly sent to the renderer | ||||
|     without any pixel transfer operations.  Only 2D texture images are | ||||
|     supported (not glDrawPixels, glReadPixels, etc). | ||||
|  | ||||
|     A YCbCr pixel (texel) is a 16-bit unsigned short with two components. | ||||
|     The first component is luminance (Y).  For pixels in even-numbered | ||||
|     image columns, the second component is Cb.  For pixels in odd-numbered | ||||
|     image columns, the second component is Cr.  If one were to convert the | ||||
|     data to RGB one would need to examine two pixels from columns N and N+1 | ||||
|     (where N is even) to deduce the RGB color. | ||||
|  | ||||
| IP Status | ||||
|  | ||||
|     None | ||||
|  | ||||
| Issues | ||||
|  | ||||
|     None | ||||
|  | ||||
| New Procedures and Functions | ||||
|  | ||||
|     None | ||||
|  | ||||
| New Tokens | ||||
|  | ||||
|     Accepted by the <internalFormat> and <format> parameters of | ||||
|     TexImage2D and TexSubImage2D: | ||||
|  | ||||
|         GL_YCBCR_MESA                   0x8757 | ||||
|  | ||||
|     Accepted by the <type> parameter of TexImage2D and TexSubImage2D: | ||||
|  | ||||
|         GL_UNSIGNED_SHORT_8_8_MESA      0x85BA /* same as Apple's */ | ||||
|         GL_UNSIGNED_SHORT_8_8_REV_MESA  0x85BB /* same as Apple's */ | ||||
|  | ||||
| Additions to Chapter 2 of the OpenGL 1.4 Specification (OpenGL Operation) | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to Chapter 3 of the OpenGL 1.4 Specification (Rasterization) | ||||
|  | ||||
|     In section 3.6.4, Rasterization of Pixel Rectangles, on page 102, | ||||
|     add the following to Table 3.8 (Packed pixel formats): | ||||
|      | ||||
|     type Parameter                GL Data   Number of        Matching | ||||
|      Token Name                    Type     Components     Pixel Formats | ||||
|     --------------                -------   ----------     ------------- | ||||
|     UNSIGNED_SHORT_8_8_MESA       ushort         3         YCBCR_422_MESA | ||||
|     UNSIGNED_SHORT_8_8_REV_MESA   ushort         3         YCBCR_422_MESA | ||||
|  | ||||
|  | ||||
|     In section 3.6.4, Rasterization of Pixel Rectangles, on page 102, | ||||
|     add the following to Table 3.10 (UNSIGNED_SHORT formats): | ||||
|  | ||||
|     UNSIGNED_SHORT_8_8_MESA: | ||||
|  | ||||
|       15  14  13  12  11  10  9   8   7   6   5   4   3   2   1   0 | ||||
|     +-------------------------------+-------------------------------+ | ||||
|     |              1st              |              2nd              | | ||||
|     +-------------------------------+-------------------------------+ | ||||
|                          | ||||
|     UNSIGNED_SHORT_8_8_REV_MESA: | ||||
|  | ||||
|       15  14  13  12  11  10  9   8   7   6   5   4   3   2   1   0 | ||||
|     +-------------------------------+-------------------------------+ | ||||
|     |              2nd              |              1st              | | ||||
|     +-------------------------------+-------------------------------+ | ||||
|  | ||||
|  | ||||
|     In section 3.6.4, Rasterization of Pixel Rectangles, on page 102, | ||||
|     add the following to Table 3.12 (Packed pixel fiedl assignments): | ||||
|  | ||||
|                        First       Second     Third      Fourth | ||||
|     Format             Element     Element    Element    Element | ||||
|     ------             -------     -------    -------    ------- | ||||
|     YCBCR_422_MESA     luminance   chroma | ||||
|  | ||||
|  | ||||
|     In section 3.8.1, Texture Image Specification, on page 125, add | ||||
|     another item to the list of TexImage2D and TexImage3D equivalence | ||||
|     exceptions: | ||||
|  | ||||
|     * The value of internalformat and format may be YCBCR_MESA to | ||||
|       indicate that the image data is in YCbCr format.  type must | ||||
|       be either UNSIGNED_SHORT_8_8_MESA or UNSIGNED_SHORT_8_8_REV_MESA | ||||
|       as seen in tables 3.8 and 3.10.  Table 3.12 describes the mapping | ||||
|       between Y and Cb/Cr to the components. | ||||
|       If NV_texture_rectangle is supported target may also be | ||||
|       TEXTURE_RECTANGLE_NV or PROXY_TEXTURE_RECTANGLE_NV. | ||||
|       All pixel transfer operations are bypassed.  The texture is stored as | ||||
|       YCbCr, not RGB.  Queries of the texture's red, green and blue component | ||||
|       sizes will return zero. | ||||
|  | ||||
|  | ||||
|     In section 3.8.1, Texture Image Specification, on page 126, add | ||||
|     another item to the list of TexImage1D and TexImage2D equivalence | ||||
|     exceptions: | ||||
|  | ||||
|     * The value of internalformat and format can not be YCBCR_MESA. | ||||
|  | ||||
|  | ||||
|     In section 3.8.2, Alternate Texture Image Specification Commands, on | ||||
|     page 129, insert this paragraph after the first full paragraph on the | ||||
|     page: | ||||
|  | ||||
|          "If the internal storage format of the image being updated by | ||||
|     TexSubImage2D is YCBCR_MESA then format must be YCBCR_MESA. | ||||
|     The error INVALID_OPERATION will be generated otherwise." | ||||
|  | ||||
|  | ||||
| Additions to Chapter 4 of the OpenGL 1.4 Specification (Per-Fragment | ||||
| Operations and the Frame Buffer) | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to Chapter 5 of the OpenGL 1.4 Specification (Special Functions) | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to Chapter 6 of the OpenGL 1.4 Specification (State and | ||||
| State Requests) | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to Appendix A of the OpenGL 1.4 Specification (Invariance) | ||||
|  | ||||
|     None | ||||
|  | ||||
| Additions to the AGL/GLX/WGL Specifications | ||||
|  | ||||
|     None | ||||
|  | ||||
| GLX Protocol | ||||
|  | ||||
|     None | ||||
|  | ||||
| Errors | ||||
|  | ||||
|     INVALID_ENUM is generated by TexImage2D if <internalFormat> is | ||||
|     MESA_YCBCR but <format> is not MESA_YCBCR. | ||||
|  | ||||
|     INVALID_ENUM is generated by TexImage2D if <format> is MESA_YCBCR but | ||||
|     <internalFormat> is not MESA_YCBCR. | ||||
|  | ||||
|     INVALID_VALUE is generated by TexImage2D if <format> is MESA_YCBCR and | ||||
|     <internalFormat> is MESA_YCBCR and <border> is not zero. | ||||
|  | ||||
|     INVALID_OPERATION is generated by TexSubImage2D if the internal image | ||||
|     format is YCBCR_MESA and format is not YCBCR_MESA. | ||||
|  | ||||
|     INVALID_OPERATION is generated by CopyTexSubImage2D if the internal | ||||
|     image is YCBCR_MESA. | ||||
|      | ||||
| New State | ||||
|  | ||||
|     Edit table 6.16 on page 231: change the type of TEXTURE_INTERNAL_FORMAT | ||||
|     from n x Z42 to n x Z43 to indicate that internal format may also be | ||||
|     YCBCR_MESA. | ||||
|  | ||||
| Revision History | ||||
|  | ||||
|     20 September 2002 - Initial draft | ||||
| @@ -1,6 +1,25 @@ | ||||
|  | ||||
|                      3Dfx Glide device driver for Mesa 3.3 | ||||
| 				(see below for FAQ) | ||||
|                             3Dfx Glide device driver | ||||
|  | ||||
|  | ||||
|  | ||||
| Info for Mesa 4.1 | ||||
| ----------------- | ||||
|  | ||||
| The 3dfx Glide driver in Mesa is disabled by default.  Not too many people | ||||
| use this driver anymore and at some point down the road it will be dropped. | ||||
|  | ||||
| To use/enable the Glide driver either do this: | ||||
|  | ||||
| './configure --with-glide=DIR'    Where DIR is the location of Glide, like | ||||
|                                   /usr/ or /usr/local | ||||
|  | ||||
| OR | ||||
|  | ||||
| 'make linux-x86-glide'     If using the old-style Makefile system. | ||||
|  | ||||
| The rest of this file hasn't changed since Mesa 3.3.  Some of it's out of | ||||
| date, but some is still valid. | ||||
|  | ||||
|  | ||||
|  | ||||
| @@ -13,8 +32,6 @@ What do you need ? | ||||
| 	  under Linux (more information in the "Useful Glide Environment | ||||
| 	  Variables"); | ||||
|  | ||||
| 	- Mesa 3.1; | ||||
|  | ||||
| 	- The 3Dfx Glide library 2.3 or later for your OS (the 2.4 works fine). | ||||
| 	  The Voodoo2 requires the Glide library 2.51. The Glide 3.1 is not | ||||
| 	  compatible with the Glide 2.x so it doesn't work with the current | ||||
| @@ -23,8 +40,6 @@ What do you need ? | ||||
| 	- A compiler supported by the Glide library (Micro$oft VC++ (tested), | ||||
| 	  Watcom (tested), GCC for Linux (tested), etc.); | ||||
|  | ||||
| 	- A lot of patience, this is an alpha release. | ||||
|  | ||||
| 	- It's nice to have two monitors - one for your normal graphics | ||||
| 	  card and one for your 3Dfx card. If something goes wrong with | ||||
| 	  an application using the 3Dfx hardware you can still see your | ||||
|   | ||||
| @@ -3,61 +3,71 @@ | ||||
|  | ||||
|  | ||||
|  | ||||
| Introduction | ||||
| * Introduction | ||||
|  | ||||
| Mesa 3.1 features a new driver for the BeOS.  The new driver implements | ||||
| Mesa 4.1 features a driver for the BeOS.  The driver implements | ||||
| a clone of the BGLView class.  This class, derived from BView, allows | ||||
| OpenGL rendering into a BeOS window. | ||||
| The 4.1 BeOS driver is an update of Brian Paul's BeOS driver released in Mesa 3.1. | ||||
|  | ||||
| Any application which uses the BGLView should be able to use Mesa | ||||
| instead of Be's OpenGL without changing any code. | ||||
|  | ||||
| Since Be's OpenGL implementation (as of R4) is basically just the | ||||
| Since Be's OpenGL implementation (as of R5) is basically just the | ||||
| SGI sample implementation, it's pretty slow.  You'll see that Mesa | ||||
| is considerably faster. | ||||
|  | ||||
|  | ||||
|  | ||||
| Source Code | ||||
| * Source Code | ||||
|  | ||||
| The source code for the driver is in Mesa-3.1/src/BeOS/GLView.cpp | ||||
| The source code for the driver is in Mesa-4.1/src/BeOS/ directory. | ||||
| It's not 100% finished at this time but many GLUT-based demos are | ||||
| working.  No optimizations have been made at this time. | ||||
|  | ||||
|  | ||||
|  | ||||
| Compiling | ||||
| * Compiling | ||||
|  | ||||
| In the Mesa-3.x directory type "make -f Makefile.X11 beos-r4". | ||||
| When it finishes the libMesaGL.so and libMesaGLU.so libraries for | ||||
| BeOS will be in the Mesa-3.x/lib/ directory. | ||||
| Requirements: | ||||
|   - gcc version 2.95.3 for BeOS  | ||||
|   You can find it here: http://www.bebits.com/app/2157 | ||||
|  | ||||
| Move to the Mesa-4.x src sub-directory and then type "make -f Makefile.BeOS-R5". | ||||
| When it finishes the Mesa based libGL.so library for | ||||
| BeOS will be in the Mesa-4.x/src/obj.{x86|ppc}/ directory. | ||||
|  | ||||
| To install it as Be's default libGL.so replacement, put it in your  | ||||
| /boot/home/config/lib/ directory. All your GL/GLUTapps will use  | ||||
| the Mesa based then.  | ||||
|  | ||||
| By default, it build a non-debug version library. | ||||
| The x86 (MMX, SSE and 3DNOW) optimizations are also supported for x86 target. | ||||
| Sorry, Mesa don't have ppc (Altivec) optimizations yet. | ||||
|  | ||||
|  | ||||
| * Example Programs | ||||
|  | ||||
| Example Programs | ||||
|  | ||||
| Look in the Mesa-3.x/BeOS/ directory for one or two BGLView demo | ||||
| Look in the Mesa-4.x/BeOS/ directory for one or two BGLView demo | ||||
| programs.  They should have been compiled along with the Mesa | ||||
| library. | ||||
|  | ||||
|  | ||||
| * GLUT | ||||
|  | ||||
| GLUT | ||||
|  | ||||
| A version of GLUT 2.5 for BeOS can be found in src-glut.beos/. | ||||
| A beta version of GLUT 3.7 port for BeOS can be found at  | ||||
| http://anobject.com/jehamby/Code/Glut-3.7-x86.zip. | ||||
|   | ||||
| There's is a 2.5 version in src-glut.beos/, too. | ||||
| The original distribution can be obtained from | ||||
| http://home.beoscentral.com/jehamby/Glut-3.5-x86.zip | ||||
|  | ||||
| This is a special version of GLUT adapted for the BeOS.  I don't | ||||
| They are special version of GLUT adapted for the BeOS.  I don't | ||||
| believe Mark Kilgard's normal GLUT distribution includes BeOS | ||||
| support. | ||||
|  | ||||
| It seems that you have to recompile GLUT with libMesaGL.so instead | ||||
| of libGL.so in order for everything to work.  I'm not sure why. | ||||
|  | ||||
|  | ||||
|  | ||||
| Special Features | ||||
| * Special Features | ||||
|  | ||||
| Mesa's implementation of the BGLView class has an extra member | ||||
| function:  CopySubBufferMESA().  It basically works like SwapBuffers() | ||||
| @@ -69,7 +79,9 @@ cause a fatal error when running with Be's OpenGL. | ||||
|  | ||||
|  | ||||
|  | ||||
| Work Left To Do | ||||
| * Work Left To Do | ||||
|  | ||||
| BDirectWindow single buffering support is not implemented yet. | ||||
|  | ||||
| Color index mode is not implemented yet. | ||||
|  | ||||
| @@ -80,7 +92,7 @@ rendering.  This should also be implemented for Mesa. | ||||
|  | ||||
|  | ||||
|  | ||||
| Old BeOS Driver | ||||
| * Old BeOS Driver | ||||
|  | ||||
| Mesa 2.6 had an earlier BeOS driver.  It was based on Mesa's Off-screen | ||||
| rendering interface, not BGLView.  If you're interested in the older | ||||
| @@ -88,7 +100,7 @@ driver you should get Mesa 2.6. | ||||
|  | ||||
|  | ||||
|  | ||||
| BeOS and Glide | ||||
| * BeOS and Glide | ||||
|  | ||||
| Mesa 3.0 supported the 3Dfx/Glide library on Beos.  Download Mesa 3.0 | ||||
| if interested.  Ideally, the 3Dfx/Glide support should be updated to | ||||
| @@ -99,4 +111,4 @@ of February, 1999. | ||||
|  | ||||
|  | ||||
| ---------------------------------------------------------------------- | ||||
| $Id: README.BEOS,v 1.6 1999/11/27 01:40:40 brianp Exp $ | ||||
| $Id: README.BEOS,v 1.7 2002/09/19 16:19:44 brianp Exp $ | ||||
|   | ||||
							
								
								
									
										209
									
								
								docs/README.DJ
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										209
									
								
								docs/README.DJ
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,209 @@ | ||||
| 			Mesa 4.1 DOS/DJGPP Port v1.2 | ||||
| 			~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||||
|  | ||||
|  | ||||
|  | ||||
| Description: | ||||
| ~~~~~~~~~~~~ | ||||
|  | ||||
| Well, guess what... this is the DOS port of Mesa 4.1, for DJGPP fans... Whoa! | ||||
| The driver has its origins in ddsample.c, written by Brian Paul and found by me | ||||
| in Mesa 3.4.2. | ||||
|  | ||||
|  | ||||
|  | ||||
| Legal: | ||||
| ~~~~~~ | ||||
|  | ||||
| Mesa copyright applies, provided this package is used within Mesa. For anything | ||||
| else, see GPL. | ||||
|  | ||||
|  | ||||
|  | ||||
| Installation: | ||||
| ~~~~~~~~~~~~~ | ||||
|  | ||||
| Unzip and type: | ||||
|  | ||||
| 	make -f Makefile.DJ [OPTIONS...] | ||||
|  | ||||
| Available options: | ||||
|  | ||||
|      Environment variables: | ||||
| 	CPU		optimize for the given processor. | ||||
| 			default = k6 | ||||
| 	BIG_OPT=1	crazy optimizations; not very useful, though... | ||||
| 			default = no | ||||
| 	GLIDE		absolute path to Glide library; used with FX. | ||||
| 			default = $(TOP)/include/glide3 | ||||
| 	FX=1		build for 3dfx Glide3; use it if you have the Glide | ||||
| 			SDK (designed for your platform), and, of course, a | ||||
| 			3dfx card... Note that this disables compilation of | ||||
| 			actual DMesa code, as Glide does all the stuff! | ||||
| 			default = no | ||||
| 	HAVE_X86=1	optimize for i386. | ||||
| 			default = no | ||||
| 	HAVE_MMX=1	MMX instructions; use only if you assembler/compiler | ||||
| 			supports MMX instruction set; backwards compatibility | ||||
| 			with older processors is still preserved. | ||||
| 			default = no | ||||
| 	HAVE_SSE=1	(see HAVE_MMX) | ||||
| 			default = no | ||||
| 	HAVE_3DNOW=1	(see HAVE_MMX) | ||||
| 			default = no | ||||
|  | ||||
|      Targets: | ||||
| 	all:		build everything | ||||
| 	libgl:		build GL | ||||
| 	libglu:		build GLU | ||||
| 	libglut:	build GLUT | ||||
| 	clean:		remove object files | ||||
| 	realclean:	remove all generated files | ||||
|  | ||||
|  | ||||
|  | ||||
| Tested on: | ||||
| 	CPU:		K6-2 (CXT) @500(412.5) MHz | ||||
| 	Mainboard:	ViA Apollo VP2/97 w/ 128 MB SDRAM | ||||
| 	Video card:	PowerColor Evil King3 (Voodoo3 3000) w/ 16384 kB SDRAM | ||||
| 	DJGPP:		djdev 2.04 + gcc v3.2 + make v3.79.1 | ||||
|  | ||||
|  | ||||
|  | ||||
| FAQ: | ||||
| ~~~~ | ||||
|  | ||||
| 1. Compilation | ||||
|  | ||||
|    Q) I tried to run `make' and it exits because `gcc' complains it cannot find | ||||
|       some stupid file. | ||||
|    A) You need LFN support. | ||||
|    A) When compiling for Glide (FX=1), pay attention to Glide path. | ||||
|  | ||||
| 2. Dynamic modules | ||||
|  | ||||
|    Q) What are you mumbling about dynamic modules? | ||||
|    A) You must have the DXE2 package (available on SimTel.Net, courtesy of | ||||
|       Andrew Zabolotny) installed in order to build the dynamic modules. | ||||
|  | ||||
|    Q) I have DXE2, but I couldn't build the `dxe2gen.exe'. | ||||
|    Q) I built `dxe2gen.exe', but it doesn't do the job right. | ||||
|    A) There is a patched version on my web page. | ||||
|  | ||||
|    Q) DXE2 modules give me headaches... | ||||
|    A) The DXE2 modules are not compulsory. The static libraries are still built | ||||
|       and you can use them in the old-fashioned, classic way... and learn to | ||||
|       live with your ~2MB executable size. For example: | ||||
| 	gcc -o OUT.exe IN.c -lglut -lglu -lgl | ||||
|  | ||||
|    Q) Okay, DXE2 modules are built. How can I use them? | ||||
|    A) Build your export object file; then link it with your application. | ||||
|       For example: | ||||
| 	dxe2res -o dmesadxe.c gl.dxe glu.dxe glut.dxe | ||||
| 	gcc -o dmesadxe.o dmesadxe.c | ||||
| 	gcc -o OUT.exe dmesadxe.o IN.c -liglut -liglu -ligl -ldl | ||||
|  | ||||
|    Q) What is that `dxe2res.exe' thing? | ||||
|    A) That is an utility that generates the export file for a given set of | ||||
|       modules. If you can't find it in the DXE2 package, you must be looking at | ||||
|       the wrong archive :) | ||||
|  | ||||
| 3. Using Mesa for DJGPP | ||||
|  | ||||
|    Q) Does this build work in Win9x? | ||||
|    A) Yes. | ||||
|  | ||||
|    Q) Does it work under NT (W2k, XP) core? | ||||
|    A) Uh... probably not! | ||||
|  | ||||
|    Q) I made a simple application and it does nothing. It exits right away. Not | ||||
|       even a blank screen. | ||||
|    A) The current version supports only RGB[A] modes, for it made no sense to | ||||
|       me to endorse color-index (aka palette) modes. | ||||
|    A) Single-buffered is not allowed at all. Until I can find a way to use | ||||
|       *REAL* hardware acceleration, it won't get implemented. | ||||
|    A) Another weird "feature" is that buffer width must be multiple of 4 (I'm a | ||||
|       lazy programmer and I found that the easiest way to keep buffer handling | ||||
|       at peak performance ;-). | ||||
|  | ||||
|    Q) My demo doesn't display text. I know I used the glut font routines! | ||||
|    A) Then you probably use GLUT as a DXE. Well, there is no direct access to | ||||
|       variables due to the way DXE works. Read the documentation. The author of | ||||
|       GLUT took this into account for _WIN32 DLL's only; I don't want to modify | ||||
|       his headers. The only workaround is to link GLUT the old way :-( | ||||
|  | ||||
|    Q) DMesa is so SLOOOW! The Win32 OpenGL performs so much | ||||
|       better... | ||||
|    A) Is that a question? If you have a Voodoo3/Banshee card, you're lucky. The | ||||
|       Glide port is on my web page. If you haven't, sorry; everything is done | ||||
|       in software. Suggestions? | ||||
|  | ||||
|    Q) I have a super/mega/ultra monitor and all you can do is 60Hz? My eyes are | ||||
|       leaking from the orbits... | ||||
|    A) If you were compiling for Glide, see Glide info. If not, be aware that | ||||
|       refresh rate control works only for VESA 3.0. The environment variable | ||||
|       DMESA_REFRESH sets the default screen refresh. For example: | ||||
| 	set DMESA_REFRESH=75 | ||||
|  | ||||
|  | ||||
|  | ||||
| libGLUT (the toolkit): | ||||
| ~~~~~~~~~~~~~~~~~~~~~~ | ||||
|  | ||||
| Well, this "skeletal" GLUT implementation is not mine. Thanks should go to | ||||
| Bernhard Tschirren, Mark Kilgard, Brian Paul and probably others (or probably | ||||
| not ;-). I only changed it to be self-standing (Allegro-free). The keyboard, | ||||
| mouse and timer drivers were inspired from an old project of mine (D3Xl) and | ||||
| fixed with many Allegro "infusions"; I deeply thank to Shawn Hargreaves et co. | ||||
|  | ||||
| My keyboard driver used only scancodes, but since GLUT requires ASCII values | ||||
| for keys, I borrowed the translation tables (and maybe more) from Allegro. | ||||
| Ctrl-Alt-Del (plus Ctrl-Alt-End, for Windows users) will shut down the GLUT | ||||
| engine unconditionally: it will raise SIGINT, which in turn will call the | ||||
| destructors (let's hope), thus cleaning up your/my mess ;-) NB: since the | ||||
| DJGPP guys ensured signal handlers won't go beyond program's space (and since | ||||
| dynamic modules shall) the SIGINT can't be hooked (well, it can, but it is | ||||
| useless), therefore you must live with the 'Exiting due to signal SIGINT' | ||||
| message... | ||||
|  | ||||
| The mouse driver is far from complete (lack of positioning, drawing, etc), | ||||
| but is enough to make almost all the demos work. | ||||
|  | ||||
| The timer is pretty versatile for it supports multiple timers with different | ||||
| frequencies. It may not be the most accurate timer in the known universe, but | ||||
| I think it's OK. Take this example: you have timer A with a very high rate, | ||||
| and then you have timer B with very low rate compared to A; now, A ticks OK, | ||||
| but timer B will probably loose precision! | ||||
|  | ||||
| As an addition, stdout and stderr are redirected and dumped upon exit. This | ||||
| means that printf can be safely called during graphics, but all messages come | ||||
| in bulk! A bit of a hack, I know, but I think it's better than to miss them | ||||
| at all. "Borrowed" from RHIDE (Robert Hoehne) or SETEDIT (Salvador Eduardo | ||||
| Tropea)... I'm not sure. | ||||
|  | ||||
| Window creating defaults: 640x480x16 at (0,0), 8-bit stencil, 16-bit accum. | ||||
| However, the video mode is chosen in such a way that first window will fit. | ||||
|  | ||||
|  | ||||
|  | ||||
| History: | ||||
| ~~~~~~~~ | ||||
|  | ||||
| v1.0	mar-2002	initial release | ||||
|  | ||||
| v1.1	sep-2002	+ added 3dfx Glide3 support | ||||
| 			+ added refresh rate control | ||||
| 			+ added fonts in glut | ||||
| 			* lots of minor changes | ||||
|  | ||||
| v1.2	nov-2002	* synced w/ Mesa-4.1 | ||||
| 			- removed dmesadxe.h | ||||
|  | ||||
|  | ||||
|  | ||||
| Contact: | ||||
| ~~~~~~~~ | ||||
|  | ||||
| Name:   Borca Daniel | ||||
| E-mail: dborca@yahoo.com | ||||
| WWW:    http://www.geocities.com/dborca/ | ||||
| @@ -1,623 +1,98 @@ | ||||
|  | ||||
|     Mesa/Readme.win32 | ||||
|  | ||||
|     Last Updated: Sunday, September 19th, 1999 - tjump@tertius.com | ||||
|  | ||||
| *** What's New | ||||
|  | ||||
| - Updated for Mesa 3.1beta3/CVS. Debug and Release command-line builds of | ||||
|   Mesa, fxMesa, GLU, GLUT and all sample programs DLL-based. Manual | ||||
|   executions tests with minimum requisite results (aka: things looked like | ||||
|   I expected them to). | ||||
|  | ||||
|   What did you expect, complete regression testing maybe? | ||||
|  | ||||
| - NASM build support. Any file in the project coded as a .S file will | ||||
|   automatically be recognized and built as a NASM-source assember file. | ||||
|  | ||||
|   To enable building using NASM, set the environment variable NASM to | ||||
|   indicate that command to execute to run nasm on a file. If NASM is in | ||||
|   your command search path then all this needs be set to is 'nasmw' - | ||||
|   otherwise you will need to include the complete drive and directory path. | ||||
|  | ||||
|   NASM may be retrieved here: http://www.web-sites.co.uk/nasm/ | ||||
|  | ||||
| - DevStudio projects suspended for compatability reasons: projects modified | ||||
|   by DevStudio 6 are not compatible with DevStudio 5. | ||||
|  | ||||
|   These will slowly be rebuilt and put into CVS as I can. | ||||
|  | ||||
| - Build environment change: The Glide SDK is no longer assumed to be in | ||||
|   the global INCLUDE/LIB environment vars, it is required that you set the | ||||
|   value 'GLIDE2X' as either an environment variable pointing to your Glide | ||||
|   SDK install directory or that you configure that as a build option to | ||||
|   nmake.exe when building fxmesagl32.  Examples: | ||||
|  | ||||
|     nmake /f nmake.mak GLIDE2X=g:\sdk\glide2x fxmesagl32 | ||||
|  | ||||
|           <or> | ||||
|  | ||||
|     nmake /f nmake.mak GLIDE2X=g:\sdk\glide2x allfx | ||||
|  | ||||
|           <or> | ||||
|  | ||||
|     nmake /f nmake.mak GLIDE2X=g:\sdk\glide2x progs.3dfx.demos | ||||
|  | ||||
|   The DevStudio workspace files for 3Dfx OpenGL require the definition of | ||||
|   GLIDE2SDK as an environment variable pointing to where your copy of the | ||||
|   Glide SDK has been installed. Adding this to your AUTOEXEC.BAT would do | ||||
|   so (change the directories to match): | ||||
|  | ||||
|        SET GLIDE2SDK=G:\SDK\GLIDE2X | ||||
|  | ||||
| *** Legalese | ||||
|  | ||||
| These build files are provided as-is and are submitted to be included with | ||||
| the "Mesa 3-D Graphics Library" package as (currently) maintained by Brian | ||||
| Paul. These project build files are free software; you can redistribute it | ||||
| and/or modify it under the terms of the GNU Library General Public License | ||||
| as published by the Free Software Foundation; either version 2 of the | ||||
| License, or (at your option) any later version. | ||||
|  | ||||
| These project files are distributed in the hope that they will be useful, | ||||
| but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library | ||||
| General Public License for more details. | ||||
|  | ||||
| You should have received a copy of the GNU Library General Public License | ||||
| along with this library; if not, write to the Free Software Foundation, | ||||
| Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||||
|  | ||||
| *** Maintenance Responsiblity and Technical Support | ||||
|  | ||||
| While these files are now part of the Mesa core distribution please do NOT | ||||
| contact Mr. Paul for help with them if you encounter problems as he can't | ||||
| help you (currently).  I will, however, attempt my straightforward best in | ||||
| assisting anyone with using these files on their system.  I can NOT | ||||
| guarantee instant responses owing to other responsiblities, but I do try | ||||
| dang hard to answer any mail w/in 24 hours.  I may be contacted at the | ||||
| above email address for the forseeable future. | ||||
|  | ||||
| -Ted | ||||
| mailto://tjump@tertius.com | ||||
| http://www.tertius.com/tjump | ||||
|  | ||||
| *** General Information | ||||
|  | ||||
| These build files facilitate convenient building of many variants of Mesa, | ||||
| both as static link libraries (including mesaglu) and as dynamic link | ||||
| libraries that in some cases may be used as "drop-in" replacements for | ||||
| OpenGL32.DLL on both Windows95 and Windows NT. | ||||
|  | ||||
| The construction of the Win32 command-line build files and projects has | ||||
| been something of a pet project of mine, and is based upon my own | ||||
| "standard" Win32 build environment as supplied by the "nmake.mif" file. | ||||
| They have been tested under Windows95 OSR2, Windows NT 4.0SP3, and Windows | ||||
| NT 5.0 beta 1.  The libraries that they generated have been tested (via the | ||||
| demo programs) in a *limited* fashion on the above three systems, including | ||||
| the 3Dfx versions. | ||||
|  | ||||
| The reason I went with command-line build environment instead of the more | ||||
| convenient IDE-based project files is for two reasons: 1. These appear to | ||||
| have some amount of portability between versions (the nmake syntax hasn't | ||||
| changed much since Microsoft C 7.0) while the IDE project files seem to | ||||
| change drastically each version. and 2. These are readable with any ascii | ||||
| editor and such are better self-documentation of the file relationships for | ||||
| more people such that it will facilitate supporting other Win32 compilers. | ||||
|  | ||||
| While these files only deal with building for x86 targeted code it *should* | ||||
| be possible to add the necessary logic to them to build for the other MSVC | ||||
| supported CPU targets, I simply have no hardware to test them on nor the | ||||
| alternative compilers to build with. | ||||
|  | ||||
| *** Prerequisites for use | ||||
|  | ||||
| 1. You must have a 32-bit Microsoft compiler installed. I have tested | ||||
| this with Visual C 5.0 (SP3) and Visual C 4.2, but with minor | ||||
| (possibly no) modification to the nmake.mak and nmake.mif files this | ||||
| sequence should work on Visual C 2.0 also. The workspace files | ||||
| (mesalib.dsw and mesademos-*.dsw) and their included project files | ||||
| (*.dsp) are specific to the DevStudio IDE - I have made no attempt at | ||||
| building a VC4 IDE project set as I do not use that any more.  Note | ||||
| that the VC workspace files NO LONGER use NORE are dependant upon the | ||||
| nmake.mak and nmake.mif files for construction of definition (*.DEF) | ||||
| and resource (*.RC) files. | ||||
|  | ||||
| *** Visual C 4.x Users Warning **** | ||||
|  | ||||
| Note that early editions of VC4 do NOT have header files current enough | ||||
| for use building this code base. If you are using VC4 you will either need | ||||
| to get an update to version 4.2 *or* you may download the Platform SDK | ||||
| directly from Microsoft's web site (www.microsoft.com) and update your | ||||
| build environment that way. | ||||
|  | ||||
| *** Visual C 4.x Users Warning **** | ||||
|  | ||||
| 2. You must have the PATH, INCLUDE, and LIB environment variables set | ||||
| properly. With VC5 you can easily get this by executing the VCVARS32.BAT | ||||
| file that was created for you upon installation. It is found in the | ||||
| DevStudio\VC\BIN directory, wherever you installed DevStudio. VC4 provides | ||||
| a similar batch file in it's BIN directory also. | ||||
|  | ||||
| 3. (optional) If you're going to build for 3Dfx/Voodoo you will need to | ||||
| have previously installed the Glide SDK version 2.3 or later, if I | ||||
| recall. This may be retrieved from www.3dfx.com for no money and some | ||||
| download time. ;-) These build files assume that you have the Glide SDK | ||||
| added to the respective environment variables (LIB and INCLUDE). | ||||
|  | ||||
| 4. (optional) If you're going to build for S3/Virge you will need the S3 | ||||
| Developers Toolkit which may be downloaded from www.s3.com for the price of | ||||
| registering on-line and some time. NOTE: I can build the s3mesa.dll file to | ||||
| completion, however the compilation of s3mesa.c currently generates a large | ||||
| amount of compiler warnings and between that and the fact that I can not at | ||||
| all test it I can make no claims to it's ability to execute.  Again, like | ||||
| the 3Dfx version before this, these build files assume you have the S3Dtk H | ||||
| and LIB files in the path of their respective environment variables. | ||||
| Note 2: As of Mesa3.0beta6 I have build files, both command-line and IDE, | ||||
| which should be able to build the s3mesa code base if it weren't for updates | ||||
| being required in the S3 DD code support (Mesa-3.0/src/s3 directory). | ||||
|  | ||||
| I advise putting any include and lib files for secondary toolkits (Glide, | ||||
| S3Tk, whatever) in their respective environment variables *before* the | ||||
| Microsoft-assigned default values. | ||||
|  | ||||
| *** FAQ: Frequenty Asked Questions and Other Important Information *** | ||||
|  | ||||
| - When running the 3Dfx demos under Windows NT, they crash on exit, what's | ||||
|   up? | ||||
|  | ||||
|   This is apparently a problem in Glide itself. The workaround is to go to | ||||
|   your C:\WINNT\SYSTEM32 directory and rename the file FXOEM2X.DLL to | ||||
|   FXOEM2X.DL_ to prevent Glide from loading and initializing it upon | ||||
|   startup.  This is known to be an issue with cards that do not have "TV | ||||
|   out" and is known to cause crashes on Diamond Monster II 8M and 3Dfx | ||||
|   Reference boards, all using 3Dfx Reference Drivers version 2.53. Other | ||||
|   hardware/driver combinations will also likely exhibit this behavior. | ||||
|  | ||||
| - I'm having a problem building Mesa for static library linking. | ||||
|  | ||||
|   This was caused by some incomplete testing on my part, and a fix is now | ||||
|   available in the form of an add-on to the base Mesa 3.0 release.  The | ||||
|   file to get is: | ||||
|  | ||||
|        via FTP download from: iris.ssec.wisc.edu | ||||
|          you want to go here: /pub/Mesa/patches_to_3.0/ | ||||
|         you want to get file: Mesa-3.0-w32-static-fixes.tar.gz | ||||
|  | ||||
|   This required a minor addition to INCLUDE/GL for a clean solution, the | ||||
|   file "include/gl/mesa_wgl.h" is automatically included by | ||||
|   "include/gl/gl.h" when a Win32 non-DLL build is in progress to provide | ||||
|   prototypes for the various wgl functions. | ||||
|  | ||||
|   The only remaining hitch in this setup is that the 3Dfx build is not yet | ||||
|   running as a static build, because of problems with conflicts in | ||||
|   existance of the various GDI functions like ChoosePixelFormat, | ||||
|   etc. *sigh* | ||||
|  | ||||
|   Anyway, the "allstatic" target now works as expected and builds all | ||||
|   book/sample/demos programs to boot. ;^) | ||||
|  | ||||
| - How do I get fxMesa to render in a window on the desktop instead of only | ||||
|   full-screen? | ||||
|  | ||||
|   Use the Microsoft Windows fxMesa-in-a-window hack! | ||||
|  | ||||
|   Seriously, if you want fxMesaGL to render using the 3Dfx Voodoo1 or | ||||
|   Voodoo2 hardware into a window on the desktop then all you need to do is | ||||
|   set the MESA_WGL_FX environment variable to anything other than | ||||
|   "fullscreen" and it will render into a window.  If you wish to go | ||||
|   fullscreen then you only need to NOT have the environment variable, or | ||||
|   have it set to "fullscreen".  You may also switch at runtime between | ||||
|   fullscreen-mode and windowed by pressing ALT-ENTER on the keyboard | ||||
|   (unless the application using Mesa does something with those keystrokes, | ||||
|   of course). | ||||
|  | ||||
|   As of 8/13/98 this should be running a LOT better for more people as a | ||||
|   low-compatability item was cleaned up which prevented it from working on | ||||
|   many (most?) display drivers under Windows 9x. | ||||
|  | ||||
| - I have my 3Dfx card hooked to it's own monitor and I want the output to | ||||
|   stay on even if I switch to another program, is this possible? | ||||
|  | ||||
|   If the Glide environment variable SST_DUALHEAD is set to '1' then fxMesa | ||||
|   will never disable the Voodoo output on a Voodoo1 or Voodoo2 display | ||||
|   regardless of whether the fxMesa application is "current" or not. This | ||||
|   works regardless of whether it's rendering using the window hack | ||||
|   mentioned above or not. | ||||
|  | ||||
| - I want to run the Mesa demos on my Intel740 card using it's own OpenGL | ||||
|   acceleration, how do I do this? | ||||
|  | ||||
|   Build GLUT standalone for use with system OpenGL and GLU drivers! | ||||
|  | ||||
|   The Command-line project supports building all test/demo programs against | ||||
|   these drivers also! This allows you full use of GLUT on Windows using | ||||
|   hardware accelerated OpenGL. Wheee! This includes the "3dfx/demos" | ||||
|   directory of which only two programs will not run on "standard" | ||||
|   opengl. Note that there are a few of the sample programs which will NOT | ||||
|   work without Mesa as they directly call into Mesa instead of using the | ||||
|   extension mechanism. | ||||
|  | ||||
| *** Included programs that exhibit unfortunate or bad behavior | ||||
|  | ||||
| - demos/bounce - doesn't run on high-colors screens?  It's requesting an | ||||
|   INDEX display from GLUT and that fails on my true-color desktop. Changing | ||||
|   this to _RGB let's the program work, but it doesn't display | ||||
|   properly. This is probably just an idiosyncracy of my machine though, as | ||||
|   if I test the program using GLUT for System OpenGL on my Intel740 OpenGL | ||||
|   accelerated machine it's just hunky-dory. | ||||
|  | ||||
| - demos/glutfx - runs, but crashes on exit (but not on my Intel740 machine) | ||||
|  | ||||
| - demos/texobj - runs, but crashes on exit if ESC is pressed. Exits cleanly | ||||
|   if the Close box on the window frame is pressed with the mouse. Go figure. | ||||
|  | ||||
| - book/aaindex - doesn't run, can't get pixel format, because it wants an | ||||
|   INDEX display maybe (but is okay on my Intel740 machine)? | ||||
|  | ||||
| - most of the book/* demos don't respond to ESC being pressed. | ||||
|  | ||||
| - 3dfx/demos/* - all demos run, however they all crash on exit. I've traced | ||||
|   this so far as to determine the call it's happening with. The crash comes | ||||
|   from within Glide during the processing of the grGlideShutdown() call, as | ||||
|   in invalid memory reference exception. I'm wondering if this is because | ||||
|   of some state or processing not being completed before the call. Dunno, | ||||
|   but putting grSstIdle() in just before grGlideShutdown() does NOT fix the | ||||
|   problem. | ||||
|  | ||||
| - 3dfx/demos/tunnel2 - does not run on my system even with SLI mode | ||||
|   disabled. Hmmmm, maybe I need to disconnect my Voodoo2 cards? | ||||
|  | ||||
| *** Important Notes and Changing Default values | ||||
|  | ||||
| - The optimizer settings have been manually reworked in both command line | ||||
|   and DevStudio IDE files to hopefully prevent possible irrational code on | ||||
|   the part of the code generator.  Formerly, it was configured for "/Ox", | ||||
|   now it is configured for safer handling at a slight potential performance | ||||
|   cost. This may not be required for Visual Studio 6 but I can't test that | ||||
|   (yet). | ||||
|  | ||||
| - These files build with the code targeted for Pentium processors and | ||||
|   8-byte structure padding. | ||||
|  | ||||
| - The IDE-built programs seem to be "happier" in that the command line | ||||
|   build of the 3Dfx demo "fire" will grenade on exit (?). Otherwise pretty | ||||
|   much everything may be built with either interface. | ||||
|  | ||||
| - The currently configured Mesa version is 3.1, and MesaDemos version is | ||||
|   the same. To change this permanently you will need to edit NMAKE.MAK and | ||||
|   change the lines that look like this (they start o/a line 116): | ||||
|  | ||||
|     # Currently, Mesa is at rev 3.1 ... | ||||
|     # | ||||
|     !IF "$(MESAVER)" == "" | ||||
|     MESAVER=3.1 | ||||
|     !ENDIF | ||||
|  | ||||
|     # used in building all of the resource files for the Mesa DLLs | ||||
|     # | ||||
|     !IF "$(MESAFILEVER)" == "" | ||||
|     MESAFILEVER=3,1,0,0 | ||||
|     !ENDIF | ||||
|  | ||||
| - Currently the build files are configured to be used from a Win32 | ||||
|   directory that is included inside the main Mesa-3.1 heirarchy. | ||||
|  | ||||
| - The build files are smart enough to find the files for the core lib, glu, | ||||
|   glut, and the various demo programs if they are unpacked in the current | ||||
|   Mesa-3.1 heirarchy, like this: | ||||
|  | ||||
|     \Mesa-3.1 | ||||
|     \Mesa-3.1\src | ||||
|     \Mesa-3.1\src-glu | ||||
|     \Mesa-3.1\src-glut | ||||
|     \Mesa-3.1\Win32 | ||||
|     \Mesa-3.1\samples | ||||
|     \Mesa-3.1\demos | ||||
|     \Mesa-3.1\book | ||||
|     \Mesa-3.1\3Dfx\demos | ||||
|  | ||||
|     ... should work.  This arose because my initial build tests for the | ||||
|     demo files were done before MesaDemos 2.6 had been released. | ||||
|  | ||||
| - With the exception of the static link libraries generated by this file | ||||
|   set (mesagl.lib, mesaglu.lib, mesaglut.lib) all DLLs and executables are | ||||
|   built against the "Multithreaded DLL" runtime - this means that they | ||||
|   require MSVCRT.DLL or MSVCRTD.DLL in the path to execute. | ||||
|  | ||||
|   ** CHANGED 8/11/98 *** | ||||
|  | ||||
|   Note also that the demos are all built aginst the "OpenGL32, GLU32, and | ||||
|   GLUT32" and as such they are fairly agnostic wrt: building against Mesa | ||||
|   for CPU-rendering, Mesa-for-3Dfx, Mesa-for-S3, or System OpenGL. | ||||
|  | ||||
|   If you want to build them for use on your system and your display card | ||||
|   provides full OpenGL acceleration (Permedia, Intel740, Intergraph, | ||||
|   whatever) then you only need to build GLUT prior to building any of the | ||||
|   demo programs. For convenience, the GLUT project is included in each of | ||||
|   the demo projects Workspace files for the DevStudio IDE builds BUT it is | ||||
|   not automatically built - you still need to build it first manually. | ||||
|  | ||||
|   Note that if you have GLUT already installed on your system (gl/glut.h in | ||||
|   yoru INCLUDE path, glut32.lib/glut32d.lib in your LIB path, and the DLL | ||||
|   in your PATH) then you do NOT need to build GLUT prior to the test | ||||
|   programs. | ||||
|  | ||||
| - The 3Dfx build of Mesa has primarily been tested with Quake 2 and it runs | ||||
|   (mostly) fine on my PC (take that for what you want it)... | ||||
|  | ||||
|   ** CHANGED  8/11/98 *** | ||||
|  | ||||
|   There is still something going on that causes Glide to crash on shutdown, | ||||
|   when I run fxMesa under Windows NT, however it does not appear to occur | ||||
|   under Windows 9x on either Voodoo1 or Voodoo2 cards. *sigh* | ||||
|  | ||||
| - I can not test the S3 build as I have no machines available with Virge | ||||
|   based display cards. | ||||
|  | ||||
| - The multithreaded test code is *not* built as it requires pthreads and I | ||||
|   have as of yet spent not time trying to get that running. The latest word | ||||
|   that I saw WRT threading support on win32 was that they are intending to | ||||
|   support it natively within Win32 - so I'm waiting it out until they get | ||||
|   it done. | ||||
|  | ||||
| - Similarly, the 'xdemos' are not currently built because I haven't gotten | ||||
|   around to building the client libs for native win32 and getting it all | ||||
|   setup for use. | ||||
|  | ||||
| *** Output Files | ||||
|  | ||||
| All final output files (DLL/LIB) are placed in the Mesa-3.1/lib directory, | ||||
| with the exception of the fxMesaGL32 build which is placed in | ||||
| Mesa-3./lib/FX and the executable images which are placed in their source | ||||
| directories. | ||||
|  | ||||
| To be able to execute the various test programs, you will need to copy the | ||||
| requisite DLL files into the same directory as the EXE files. Note that | ||||
| most of the 3Dfx/demos/* programs WILL run with the non-FX build of Mesa - | ||||
| just very slowly. The two programs which are hard-linked with the FX build | ||||
| and will not run without it are "glbpaltx" which uses "gl3DfxSetPaletteEXT" | ||||
| directly instead of via the extensions mechanism and "tunnel2" which uses | ||||
| "fxMesaSelectCurrentBoard" API for selecting between multiple 3Dfx cards | ||||
| installed in one system. Likewise, "paltex" directly uses the | ||||
| "glColorTableEXT" extension and thus may not run on anything except | ||||
| Mesa. If these applications used the proper extension mechanism they could | ||||
| then be used on more than "just" fxMesa to good effect (for example, the | ||||
| rest of the "3Dfx/demos" run just peachy on the Intel740 card in my test | ||||
| machine) under WinNT. | ||||
|  | ||||
| Because I'm anal about my computer and it's organization, and I like to | ||||
| prevent collision between builds, each of the subprojects has their own | ||||
| intermediate file directory inside .\win32\release (for example, when | ||||
| building mesagl.lib all of it's intermediate files will be found in | ||||
| .\win32\release\lib.mesagl).  This makes it very easy to cleanup as you | ||||
| only need to remove .\win32\release. | ||||
|  | ||||
| *** Okay, Enough, how do I build with this stuff already Ted! | ||||
|  | ||||
| Okay, no major calamity here. The basic way to use the project file is to | ||||
| call it via NMAKE from the command line. The format is: | ||||
|  | ||||
|     nmake[.exe] /f nmake.mak [options] [target] | ||||
|  | ||||
| The most likely [options] values you will use may be any combination of the | ||||
| following: | ||||
|  | ||||
|     DEBUG=1 or DEBUG=0 | ||||
|     USE_CRTDLL=1 or USE_CRTDLL=0 | ||||
|  | ||||
|     Note that all three of these options are OFF by default. | ||||
|  | ||||
| The [target] includes but is not limited to the following (for full details | ||||
| please peruse the NMAKE.MAK and NMAKE.MIF files - but be warned that | ||||
| NMAKE.MIF is rather large and sometimes hard to follow): | ||||
|  | ||||
|     --- convenience targets --- | ||||
|  | ||||
|     all                 - builds everything | ||||
|     libfiles            - builds all linking library files | ||||
|     progs               - builds all executable images | ||||
|  | ||||
|     --- library files, static and dynamic --- | ||||
|  | ||||
|     mesagl              - static lib build of Mesa core. | ||||
|     mesaglu             - static lib build of MesaGLU core. | ||||
|     mesaglut            - static lib build of Mesa GLUT core. | ||||
|  | ||||
|     mesagl32            - dynamic lib build of Mesa core. | ||||
|  | ||||
|     mesaglu32           - dynamic lib build of GLU core, generates | ||||
|                           GLU32.DLL and/or GLU32d.DLL. | ||||
|  | ||||
|     mesaglut32          - dynamic lib build of GLUT core, generates | ||||
|                           GLUT32.DLL and/or GLUT32d.dll. | ||||
|  | ||||
|     --- hardware accelerated mesa builds --- | ||||
|  | ||||
|     fxmesagl32          - builds Mesa for use on top of the 3Dfx | ||||
|                           Glide runtime libs | ||||
|  | ||||
|     s3mesagl32          - builds mesa for use on top of the S3 | ||||
|                           'S3Tk' runtime libs. | ||||
|  | ||||
|     --- executable images --- | ||||
|  | ||||
|     progs.book          - builds all programs in \book directory | ||||
|     progs.demos         - builds all programs in \demos directory | ||||
|     progs.samples       - builds all programs in \samples directory | ||||
|  | ||||
|         These targets generate all of the programs in their respective | ||||
|         directories and link the executables against OpenGL32.DLL, | ||||
|         GLU32.DLL, and GLUT32.DLL (or their debug equivalents). | ||||
|  | ||||
|     progs.3dfx.demos    - builds all programs in \3dfx\demos directory | ||||
|  | ||||
|         This target generates the 3Dfx/Demo executables, linking them | ||||
|         against GLUT32.DLL, GLU32.DLL, OPENGL32.DLL and are thus NOT | ||||
|         hard-bound to using Mesa per-se as you can simply NOT build the | ||||
|         Mesa core and GLU libraries. | ||||
|  | ||||
|    --- Microsoft/SGI OpenGL-based GLUT and Demo program builds ---- | ||||
|  | ||||
|    *** IMPORTANT SAFETY TIP: If you're going to build these variants of | ||||
|        GLUT then DO NOT build any other target libraries in this package | ||||
|        first, OR from the command line run the "nmake /f nmake.mak clean" | ||||
|        command first!  This is because generation of the GLUT for SGI | ||||
|        OpenGL target libraries conflicts in naming with the static build | ||||
|        libraries of Mesa and it's supporting GLUT build. | ||||
|  | ||||
|    Currently, you may build GLUT as either GLUT32.DLL or GLUT.DLL for | ||||
|    use running against either Microsoft or SGI OpenGL for Window, | ||||
|    respectively.  This allows for the general use of GLUT 3.7 on Windows | ||||
|    systems with fully compliant OpenGL. | ||||
|  | ||||
|    You can build the GLUT DLL files either with the command line by | ||||
|    issuing either of these commands: | ||||
|  | ||||
|         nmake /f nmake.mak glut.sysgl | ||||
|  | ||||
|         <or> | ||||
|  | ||||
|         nmake /f nmake.mak glut.sgigl | ||||
|  | ||||
|    OR by using the DevStudio MesaLib Worksapce build the GLUT_SGIGL or | ||||
|    GLUT_SYSGL projects within the DevStudio IDE. | ||||
|  | ||||
|    Unfortunately, the only way to build the test programs against this | ||||
|    build of GLUT is via the command line, and I will NOT be making | ||||
|    duplicate demo program projects for the IDE as it's just not worth it, | ||||
|    sorry. | ||||
|  | ||||
|    To build the test programs against either MS or SGI OpenGL, you do so | ||||
|    via either of these two commands: | ||||
|  | ||||
|         nmake /f nmake.mak progs.sysgl | ||||
|  | ||||
|         <or> | ||||
|  | ||||
|         nmake /f nmake.mak progs.sgigl | ||||
|  | ||||
|    To use the GLUT-for-system-OpenGL in your own programs, you need to do | ||||
|    three things by way of preparation, after building GLUT of course: | ||||
|  | ||||
|          1. Copy include\gl\glut.h to somewhere in your %INCLUDE% path, one | ||||
|             likely candidate location would be in your | ||||
|             "DevStudio\VC\INCLUDE\GL" directory. | ||||
|  | ||||
|          2. Copy the linking libraries to somewhere in your %LIB% path, one | ||||
|             likely candidate location would be in your "DevStudio\VC\LIB" | ||||
|             directory. The linking libraries you need to copy are as | ||||
|             follows: | ||||
|  | ||||
|                 .\Release\GLUT32.LIB | ||||
|                 .\Release\GLUT.LIB | ||||
|                 .\Debug\GLUT32.LIB | ||||
|                 .\Debug\GLUT.LIB | ||||
|  | ||||
|         3. Copy the runtime libraries to somewhere in your %PATH%, one | ||||
|            likely candidate location would be in WINDOWS\SYSTEM. the files | ||||
|            that you should copy are as follows: | ||||
|  | ||||
|                 .\Release\GLUT32.DLL | ||||
|                 .\Release\GLUT32.PDB | ||||
|                 .\Release\GLUT.DLL | ||||
|                 .\Release\GLUT.PDB | ||||
|                 .\Debug\GLUT32d.DLL | ||||
|                 .\Debug\GLUT32d.PDB | ||||
|                 .\Debug\GLUTd.DLL | ||||
|                 .\Debug\GLUTd.PDB | ||||
|  | ||||
| Some examples are in order ... | ||||
|  | ||||
|     ... build all dynamic-link libs using MSVCRT.DLL for C runtime: | ||||
|  | ||||
|         nmake /f nmake.mak USE_CRTDLL=1 alldynamic | ||||
|  | ||||
|     ... To build all library variants and all test and demonstration | ||||
|         programs with the default settings you do this: | ||||
|  | ||||
|         nmake /f nmake.mak all | ||||
|  | ||||
|     ... to build all static link libs and nothing else you do this: | ||||
|  | ||||
|         nmake /f nmake.mak allstatic | ||||
|  | ||||
|     ... to build all non-accelerated dynamic link libs you do this: | ||||
|  | ||||
|         nmake /f nmake.mak alldynamic | ||||
|  | ||||
|     ... to build all 3Dfx targeted dynamic link libs you do this: | ||||
|  | ||||
|         nmake /f nmake.mak allaccel | ||||
|  | ||||
|     ... to build all S3 Virge targetd dynamic link libs you do this: | ||||
|  | ||||
|         nmake /f nmake.mak alls3 | ||||
|  | ||||
|     ... to build all libraries, static and dynamic, in all versions | ||||
|         you do this: | ||||
|  | ||||
|         nmake /f nmake.mak libfiles | ||||
|  | ||||
|     ... to subsequently build all demo and test programs you do this: | ||||
|  | ||||
|         nmake /f nmake.mak progs | ||||
|  | ||||
|     ... to cleanup all intermediate files you do this: | ||||
|  | ||||
|         nmake /f clean | ||||
|  | ||||
| You get the picture. (I hope) ;^)  You may also specify specify | ||||
| single targets in a convenient fashion. The rule is simple, any of the | ||||
| above named lib files, static or dynamic, may be built by providing it's | ||||
| name on the command line as the target. Examples: | ||||
|  | ||||
|     ... to build only Mesa as OpenGL32.DLL ... | ||||
|  | ||||
|         nmake /f nmake.mak opengl32 | ||||
|  | ||||
|     ... to build only Mesa on top of the 3Dfx Glide API ... | ||||
|  | ||||
|         nmake /f nmake.mak fxMesaGL32 | ||||
|               <or> | ||||
|         nmake /f nmake.mak fxMesaGL | ||||
|  | ||||
|     ... to build only Mesa on top of the S3 Toolkit ... | ||||
|  | ||||
|         nmake /f nmake.mak s3MesaGL32 | ||||
|               <or> | ||||
|         nmake /f nmake.mak s3mesaGL | ||||
|  | ||||
| *** Revision history for ./win32 project files | ||||
|  | ||||
| 1/18/98 - initial cut submitted and included with core mesa | ||||
| 2/5/98  - fixed internal dependency within nmake.mif upon there being | ||||
|           a $(DEVDIR) variable to make some temporary batch files | ||||
|           dependant upon (thanks to Keven T. McDonnell for finding | ||||
|           that there was this particular bug). I also updated the | ||||
|           build files for 2.6beta6. | ||||
| 2/8/98  - added DevStudio workspace and project files for all lib | ||||
|           files and some test programs. Updated readme.win32. | ||||
| 6/25/98 - initial revision for Mesa 3.0, does not include IDE files, | ||||
|           not everything is running. *sigh* | ||||
| 7/20/98 - Mesa 3.0beta6 rev of all build files, all libs built and | ||||
|           minimally tested, all demo programs built and minimally | ||||
|           tested to within limits of my PC. ;^) Eveything looks | ||||
|           MUCH better now ... | ||||
| 7/30/98 - Minor updates/edits based upon feedback from | ||||
|           Eero Pajarre <epajarre@koti.tpo.fi>. These updates include a fix | ||||
|           to the Mesa-on-3Dfx build such that Quake-II now runs almost | ||||
|           properly on my system. It runs, just *very* slowly and with *no* | ||||
|           textures. Hmmm. Doesn't make any difference whether Quake is set | ||||
|           to use 8-bit textures or not. | ||||
| 8/13/98 - Lots of build cleanups, minor bug fixes in fxwgl.c, and | ||||
|           compatability fix in fxapi.c for in-window rendering using 3Dfx | ||||
|           hardware. | ||||
| 8/26/98 - Final revisions for Mesa 3 release checked | ||||
| 9/22/98 - Fixed static builds for all but fxMesaGL32 and s3MesaGL32 targets | ||||
| 9/29/98 - Reorganized FAQ information and added Added faq entry about Glide | ||||
|           bug under NT (crash on exit) and a workaround. | ||||
| 11/21/98 - Updated files for Mesa 3.1 beta 1 | ||||
|            Updated fxMesa window-hack code | ||||
|            Updated fxMesa resolution support to handle 1600x1200 & 1280x1024 | ||||
| 7/9/99  - Rev'd for Mesa 3.1 beta 2 | ||||
| File: docs/README.WIN32 | ||||
|  | ||||
| Last updated: Nov 08, 2002 - Karl Schultz - kschultz@users.sourceforge.net | ||||
|  | ||||
| Quick Start | ||||
|  | ||||
| Unzip both ZIP files (MesaLib and MesaDemos) into the same directory. | ||||
| This is important because the current makefiles in MesaLib assume that | ||||
| the directories in MesaDemos are present. | ||||
|  | ||||
| If you have Microsoft Visual C++ 6.0 installed, simply go to the top directory | ||||
| of the Mesa distribution and type 'nmake -f Makefile.win NODEBUG=1' for | ||||
| an optimized build.  Note that you may have to run ...VC98/BIN/VCVARS32.BAT | ||||
| to set up the appropriate compiler environment variables. | ||||
|  | ||||
| Details and Notes | ||||
|  | ||||
| - Building Mesa as noted above should visit and build the following: | ||||
|   src        MesaGL.dll, MesaGL.lib, osmesa.dll, osmesa.lib | ||||
|   si-glu     MesaGLU.dll, MesaGLU.lib | ||||
|   src-glut   glut32.dll, glut32.lib | ||||
|   demos      a handful of demo executables. | ||||
|   book       more examples | ||||
|   samples    more examples | ||||
|  | ||||
| - After building, you can copy the above DLL files to a place in your PATH | ||||
|   such as $SystemRoot/SYSTEM32.  If you don't like putting things in a | ||||
|   system directory, place them in the same directory as the executable(s). | ||||
|   For example, you can copy the DLL files to the demos directory if you | ||||
|   just want to run the demos. The build process places the DLL and LIB files | ||||
|   in the ./lib directory.  The makefile creates this directory if it does  | ||||
|   not already exist. | ||||
|  | ||||
| - The make targets 'clean' and 'clobber' will remove objects and libraries. | ||||
|   But the files in ./lib are never cleaned. | ||||
|  | ||||
| - The make target 'install' will take its best shot at copying DLL files, | ||||
|   LIB files, and headers to the right places.  I strongly suggest that | ||||
|   you examine the makefiles to make sure that 'install' doesn't do anything | ||||
|   that you can't live with. | ||||
|  | ||||
| - The makefiles are designed to work with Microsoft's NMAKE, and do, | ||||
|   unfortunately, have some Microsoft-specific things in them.  If you | ||||
|   would like to use gcc or some other build tools like the Cygnus tools, | ||||
|   then you will have to hack the makefiles to make them work with your | ||||
|   tools.  I'm sorry about this; I wasn't motivated to make this any | ||||
|   different, but if you end up modifying the makefiles for your tools, | ||||
|   you can send me the changes and I can apply the changes to the  | ||||
|   source tree. | ||||
|  | ||||
| - There are no Microsoft Visual Studio project files.  However, these | ||||
|   should be very easy to create.  One can use the compiler and linker | ||||
|   options found in the makefiles to make quick progress in creating | ||||
|   projects. | ||||
|  | ||||
| - The DLL files are built so that the external entry points use the | ||||
|   stdcall calling convention. | ||||
|  | ||||
| - Static LIB files are not built.  The LIB files that are built with | ||||
|   the current makefiles are the linker import files associated with | ||||
|   the DLL files.  If static LIB's are desired, it should not be too | ||||
|   difficult to modify the makefiles to generate them. | ||||
|  | ||||
| - The si-glu sources are used to build the GLU libs.  This was done | ||||
|   mainly to get the better tessellator code. | ||||
|  | ||||
| - The osmesa driver builds and should work on Windows as well as | ||||
|   any other platform. | ||||
|  | ||||
| - The Windows driver (in src/Windows) builds and runs at least at | ||||
|   a minimal level.  I modified this driver to work with the new | ||||
|   Mesa 4.0 code and driver architecture, but I did not do a great | ||||
|   deal of optimization and testing.  There are many opportunities | ||||
|   for optimization, many of which can be done by coding more specific | ||||
|   paths for the rasterizers.  See src/osmesa/osmesa.c for some good | ||||
|   examples. | ||||
|  | ||||
| - There is DirectDraw support in the Windows driver, updated by | ||||
|   Daniel Slater.  You'll need to uncomment the #define DDRAW line | ||||
|   in src/Windows/wmesadef.h and add ddraw.lib to the list of libraries | ||||
|   in src/Makefile.win.  On some systems, you will acheive significantly | ||||
|   higher framerates with DirectDraw. | ||||
|  | ||||
| - Some of the more specialized code like FX drivers, stereo, and | ||||
|   parallel support isn't compiled or tested.  I left much of this | ||||
|   code alone, but it may need some work to get it 'turned on' again. | ||||
|  | ||||
| - No assembly code is compiled or assembled.  Again, this may need | ||||
|   some work to turn it back on or use it again. | ||||
|  | ||||
| If you have a Windows-related build problem or question, it is | ||||
| probably better to direct it to me (kschultz@users.sourceforge.net), | ||||
| rather than directly to the other Mesa developers.  I will help you | ||||
| as much as I can.  I also monitor the Mesa mailing lists and will | ||||
| answer questions in this area there as well. | ||||
|  | ||||
|  | ||||
| Karl Schultz | ||||
|   | ||||
							
								
								
									
										146
									
								
								docs/README.WINDML
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										146
									
								
								docs/README.WINDML
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,146 @@ | ||||
|  | ||||
|                         WindML Driver for Mesa 4.0 | ||||
|  | ||||
|  | ||||
| Requirements | ||||
| ------------ | ||||
|  | ||||
| Tornado 2 + WindML, Cumulative Patchs are recommended.  | ||||
|    | ||||
| I suppose you have a valid WindML installation. Double buffer hardware | ||||
| gives better performance than double buffer software so if you can | ||||
| compile your WindML driver with this option, just do it. I/O | ||||
| redirection is adviced in target server. | ||||
|  | ||||
|  | ||||
| Tested on | ||||
| --------- | ||||
|  | ||||
| During the development, my main target was a CoolMonster: | ||||
| - Video card: CT69000 | ||||
| - CPU: PENTIUM 266MHz | ||||
|  | ||||
| and my host a Windows NT + Tornado 2. | ||||
|  | ||||
|  | ||||
| Installation | ||||
| ------------ | ||||
|  | ||||
| 1. Mesa sources must be in root directory (C:\) | ||||
|  | ||||
| 2. Add the following line to your torVars.bat: | ||||
| set MESA_BASE=C:\Mesa | ||||
|  | ||||
| OR copy the new torVars.bat in your bin path: | ||||
| c:/Mesa/src/ugl/tornado/torVars.sample ->  | ||||
| /mnt/nt/Tornado/host/x86-win32/bin/torVars (for example) | ||||
|  | ||||
| 3. In a command prompt: | ||||
| $ torVars | ||||
| $ cd c:\Mesa | ||||
| $ make -f Makefile.ugl CPU=PENTIUM | ||||
|  | ||||
| Take a long while... | ||||
|  | ||||
| 5. Include all the files from ugldemos folder to build some downloadable | ||||
|    application modules | ||||
|  | ||||
| 4. Download UGL/Mesa object files on target | ||||
|  | ||||
| For example via the WindShell: | ||||
| ld < c:\Tornado\target\lib\objMesaGL.o | ||||
| ld < c:\Tornado\target\lib\objMesaUGL.o | ||||
| ld < c:\Tornado\target\lib\objMesaGLU.o | ||||
| ld < c:\Tornado\target\lib\objGLUTshapes.o | ||||
| ld < c:\Tornado\target\lib\objMesaOS.o | ||||
|  | ||||
| You can put the previous lines in a file and use: | ||||
| < filename | ||||
|  | ||||
| 6. Download the application modules. | ||||
|  | ||||
| 7. In WindShell, run: | ||||
| -> uglalldemos | ||||
|  | ||||
| During the show some messages will appear, it provides some useful | ||||
| information on key management. | ||||
|  | ||||
|  | ||||
| Coding | ||||
| ------ | ||||
|  | ||||
| Sample Usage: | ||||
|  | ||||
| In addition to the usual ugl calls to initialize UGL, (may be find an | ||||
| input driver), you must do the following to use the UGL/Mesa interface: | ||||
|  | ||||
| 1. Call uglMesaCreateContext() to create a UGL/Mesa rendering context, | ||||
|    given the display format. | ||||
|  | ||||
| 2. Call uglMesaMakeCurrent() to bind the UGL/Mesa buffers to an | ||||
|    UGL/Mesa Context and to make the context the current one. | ||||
|  | ||||
| 3. Make gl* calls to render your graphics. | ||||
|  | ||||
| 4. Use uglMesaSwapBuffers() when double buffering to swap front/back buffers. | ||||
|  | ||||
| 5. Before the UGL is destroyed, call MesaDestroyContext(). | ||||
|  | ||||
| 6. Before exiting, call if required uglEventQDestroy and then | ||||
|    uglDeinitialize(); | ||||
|  | ||||
| Limitations | ||||
| ----------- | ||||
|  | ||||
| I found the following limitations in my driver : | ||||
|  - Color Indexed management is only in 8 bits | ||||
|  - It's possible to mix UGL/OpenGL application with a software | ||||
|    double buffer | ||||
|  | ||||
| Modifications | ||||
| ------------ | ||||
|  | ||||
| New files in Mesa: | ||||
| - Makefile.ugl | ||||
| - rules.windmlmesa | ||||
| - docs/README.UGL | ||||
| - include/GL/uglmesa.h | ||||
| - si-glu/Makefile.ugl | ||||
| - src/Makefile.ugl | ||||
| - src/ugl/torGLUTShapesInit.c | ||||
| - src/ugl/torMesaUGLInit.c | ||||
| - src/ugl/ugl_api.c | ||||
| - src/ugl/ugl_dd.c | ||||
| - src/ugl/ugl_glutshapes.c | ||||
| - src/ugl/ugl_line.c | ||||
| - src/ugl/ugl_span.c | ||||
| - src/ugl/ugl_tri.c | ||||
| - src/ugl/uglmesaP.h | ||||
| - ugldemos/* | ||||
|  | ||||
| Modified files in Tornado 2.0: | ||||
| - c:\Tornado\host\x86-win32\bin\torVars.bat | ||||
| rem Command line build environments | ||||
| set WIND_HOST_TYPE=x86-win32 | ||||
| set WIND_BASE=C:\Tornado | ||||
| set MESA_BASE=C:\Mesa | ||||
| set PATH=%WIND_BASE%\host\%WIND_HOST_TYPE%\bin;%PATH% | ||||
| - c:\Tornado\target\config\comps\VxWorks\01uglmesa.cdf | ||||
| - c:\Tornado\target\h\GL\* | ||||
|  | ||||
| Todo | ||||
| ---- | ||||
| - GCC 2.96, ASM compilation | ||||
|  | ||||
| Thanks to: | ||||
| ---------- | ||||
|  | ||||
| Precision Insight team for their great job around Mesa, XFree, and DRI. | ||||
| Wind River Systems to take me as an intern. | ||||
|  | ||||
|  | ||||
| Stephane Raimbault | ||||
| <stephane.raimbault@windriver.com> | ||||
| <stephane.raimbault@deesse.univ-lemans.fr> | ||||
|  | ||||
| July 24, 2001 | ||||
| @@ -1,5 +1,5 @@ | ||||
|  | ||||
|                          Mesa 3.3 Unix/X11 Information | ||||
|                           Mesa Unix/X11 Information | ||||
|  | ||||
|  | ||||
|  | ||||
| @@ -18,21 +18,15 @@ There are two ways to compile Mesa on Unix/X11 systems: | ||||
|     the top-level Makefile and Make-config files.  There are instructions in | ||||
|     each file. | ||||
|  | ||||
|     When finished, the Mesa libraries will be in the Mesa-x.y/lib/ directory. | ||||
|  | ||||
|  | ||||
| 2. The new way: | ||||
|     Type './configure' and then 'make'.  This uses GNU autoconfig. | ||||
|     Run 'make check' to build the demos. | ||||
|     See docs/INSTALL for more details. | ||||
|  | ||||
|  | ||||
| The top-level makefile will execute the makefiles in a number of sub- | ||||
| directories.  When finished, the Mesa libraries will be in the Mesa-3.3/lib/ | ||||
| directory.  A few GLUT demos in the demos/ directory should be ready to run. | ||||
|  | ||||
| If you also downloaded and unpacked the demos there should be executables | ||||
| in the "xdemos/", "samples/", and "book/" directories for you to try out. | ||||
|  | ||||
| If you have compilation problems you should try to fix them and return the | ||||
| patches to the author. | ||||
|     When finished, the Mesa libraries will be in the Mesa-x.y/src/.libs/, | ||||
|     Mesa-x.y/si-glu/.libs, etc directories. | ||||
|  | ||||
|  | ||||
| Notes on assembly language optimizations: | ||||
| @@ -323,4 +317,4 @@ Summary of X-related environment variables: | ||||
|  | ||||
|  | ||||
| ---------------------------------------------------------------------- | ||||
| $Id: README.X11,v 3.5 2000/04/04 15:14:48 brianp Exp $ | ||||
| $Id: README.X11,v 3.9 2002/10/29 23:42:48 brianp Exp $ | ||||
|   | ||||
							
								
								
									
										22
									
								
								docs/RELNOTES-3.4
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								docs/RELNOTES-3.4
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | ||||
|  | ||||
|                          Mesa 3.4 release notes | ||||
|  | ||||
|                              November 3, 2000 | ||||
|  | ||||
|                              PLEASE READ!!!! | ||||
|  | ||||
|  | ||||
|  | ||||
| Introduction | ||||
| ------------ | ||||
|  | ||||
| Mesa uses an even/odd version number scheme like the Linux kernel. | ||||
| Odd numbered versions (such as 3.3) designate new developmental releases. | ||||
| Even numbered versions (such as 3.4) designate stable releases. | ||||
|  | ||||
| Mesa 3.4 simply fixes bugs found in the Mesa 3.3 release.  For details, | ||||
| see the VERSIONS file. | ||||
|  | ||||
|  | ||||
| ---------------------------------------------------------------------- | ||||
| $Id: RELNOTES-3.4,v 1.2 2002/03/23 02:37:17 brianp Exp $ | ||||
							
								
								
									
										22
									
								
								docs/RELNOTES-3.4.1
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								docs/RELNOTES-3.4.1
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | ||||
|  | ||||
|                          Mesa 3.4.1 release notes | ||||
|  | ||||
|                              February 9, 2001 | ||||
|  | ||||
|                               PLEASE READ!!!! | ||||
|  | ||||
|  | ||||
|  | ||||
| Introduction | ||||
| ------------ | ||||
|  | ||||
| Mesa uses an even/odd version number scheme like the Linux kernel. | ||||
| Odd numbered versions (such as 3.3) designate new developmental releases. | ||||
| Even numbered versions (such as 3.4) designate stable releases. | ||||
|  | ||||
| Mesa 3.4.1 is a maintenance release that simply fixes bugs found since | ||||
| the Mesa 3.4 release.  For details, see the VERSIONS file. | ||||
|  | ||||
|  | ||||
| ---------------------------------------------------------------------- | ||||
| $Id: RELNOTES-3.4.1,v 1.2 2001/05/23 14:45:01 brianp Exp $ | ||||
							
								
								
									
										22
									
								
								docs/RELNOTES-3.4.2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								docs/RELNOTES-3.4.2
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | ||||
|  | ||||
|                          Mesa 3.4.2 release notes | ||||
|  | ||||
|                                May 17, 2001 | ||||
|  | ||||
|                               PLEASE READ!!!! | ||||
|  | ||||
|  | ||||
|  | ||||
| Introduction | ||||
| ------------ | ||||
|  | ||||
| Mesa uses an even/odd version number scheme like the Linux kernel. | ||||
| Odd numbered versions (such as 3.3) designate new developmental releases. | ||||
| Even numbered versions (such as 3.4) designate stable releases. | ||||
|  | ||||
| Mesa 3.4.2 is a maintenance release that simply fixes bugs found since | ||||
| the Mesa 3.4.1 release.  For details, see the VERSIONS file. | ||||
|  | ||||
|  | ||||
| ---------------------------------------------------------------------- | ||||
| $Id: RELNOTES-3.4.2,v 1.2 2001/05/23 14:45:01 brianp Exp $ | ||||
							
								
								
									
										228
									
								
								docs/RELNOTES-3.5
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										228
									
								
								docs/RELNOTES-3.5
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,228 @@ | ||||
|  | ||||
|                          Mesa 3.5 release notes | ||||
|  | ||||
|                              June 21, 2001 | ||||
|  | ||||
|                              PLEASE READ!!!! | ||||
|  | ||||
|  | ||||
|  | ||||
| Introduction | ||||
| ------------ | ||||
|  | ||||
| Mesa uses an even/odd version number scheme like the Linux kernel. | ||||
| Odd numbered versions (such as 3.5) designate new developmental releases. | ||||
| Even numbered versions (such as 3.4) designate stable releases. | ||||
|  | ||||
| The biggest change in Mesa 3.5 is a complete overhaul of the source | ||||
| code in order to make it more modular.  This was driven by the DRI | ||||
| hardware drivers.  It simplifies the DRI drivers and opens the door | ||||
| to hardware transform/clip/lighting (TCL).  Keith Whitwell can take | ||||
| the credit for that. | ||||
|  | ||||
|  | ||||
|  | ||||
| Driver Support | ||||
| -------------- | ||||
|  | ||||
| The device driver interface in Mesa 3.5 has changed a lot since Mesa 3.4 | ||||
| Not all of the older Mesa drivers have been updated.  Here's the status: | ||||
|  | ||||
| Driver			Status | ||||
| ----------------------	----------- | ||||
| XMesa (Xlib)		updated | ||||
| OSMesa (off-screen)	updated | ||||
| FX (3dfx Voodoo1/2)	updated | ||||
| SVGA			updated | ||||
| GGI			not updated | ||||
| Windows/Win32		not updated | ||||
| DOS/DJGPP		not updated | ||||
| BeOS			not updated | ||||
| Allegro			not updated | ||||
| D3D			not updated | ||||
| DOS			not updated | ||||
|  | ||||
| We're looking for volunteers to update the remaining drivers.  Please | ||||
| post to the Mesa3d-dev mailing list if you can help. | ||||
|  | ||||
|  | ||||
|  | ||||
| GLU 1.3 | ||||
| ------- | ||||
|  | ||||
| Mesa 3.5 includes the SGI Sample Implementation (SI) GLU library. | ||||
| This version of GLU supports the GLU 1.3 specification.  The old | ||||
| Mesa GLU library implemented the 1.1 specification.  The SI GLU | ||||
| library should work much better. | ||||
|  | ||||
| You'll need a C++ compiler to compile the SI GLU library.  This may | ||||
| be a problem on some systems. | ||||
|  | ||||
|  | ||||
|  | ||||
| New Extensions | ||||
| -------------- | ||||
|  | ||||
| GL_EXT_convolution | ||||
| 	Adds image convolution to glRead/Copy/DrawPixels/TexImage. | ||||
|  | ||||
| GL_ARB_imaging | ||||
| 	This is the optional imaging subset of OpenGL 1.2. | ||||
| 	It's the GL_EXT_convolution, GL_HP_convolution_border_modes, | ||||
| 	GL_EXT_histogram, GL_EXT_color_table, GL_EXT_color_subtable | ||||
| 	GL_EXT_blend_color, GL_EXT_blend_minmax, GL_EXT_blend_subtract | ||||
| 	and GL_SGI_color_matrix extensions all rolled together. | ||||
| 	This is supported in all software renderers but not in all | ||||
| 	hardware drivers (3dfx for example). | ||||
|  | ||||
| GL_ARB_texture_compression | ||||
| 	This is supported in Mesa but only used by the 3dfx DRI drivers | ||||
| 	for Voodoo4 and later. | ||||
|  | ||||
| GL_ARB_texture_env_add | ||||
| 	This is identical to GL_EXT_texture_env_add. | ||||
|  | ||||
| GL_NV_blend_square | ||||
| 	Adds extra blend source and dest factors which allow squaring | ||||
| 	of color values. | ||||
|  | ||||
| GL_EXT_fog_coord | ||||
| 	Allows specification of a per-vertex fog coordinate instead of | ||||
| 	having fog always computed from the eye distance. | ||||
|  | ||||
| GL_EXT_secondary_color | ||||
| 	Allows specifying the secondary (specular) color for each vertex | ||||
| 	instead of getting it only from lighting in GL_SEPARATE_SPECULAR_COLOR | ||||
| 	mode. | ||||
|  | ||||
| GL_ARB_texture_env_combine | ||||
| 	Basically the same as GL_EXT_texture_env_combine | ||||
|  | ||||
| GL_ARB_texture_env_add extension | ||||
| 	Texture addition mode. | ||||
|  | ||||
| GL_ARB_texture_env_dot3 extension | ||||
| 	Dot product texture environment. | ||||
|  | ||||
| GL_ARB_texture_border_clamp | ||||
| 	Adds GL_CLAMP_TO_BORDER_ARB texture wrap mode | ||||
|  | ||||
| GL_SGIX_depth_texture, GL_SGIX_shadow and GL_SGIX_shadow_ambient | ||||
| 	Implements a shadow casting algorithm based on depth map textures | ||||
|  | ||||
| GL_SGIS_generate_mipmap | ||||
| 	Automatically generate lower mipmap images whenever the base mipmap | ||||
| 	image is changed with glTexImage, glCopyTexImage, etc. | ||||
|  | ||||
|  | ||||
|  | ||||
| libOSMesa.so | ||||
| ------------ | ||||
|  | ||||
| libOSMesa.so is a new library which contains the OSMesa interface for | ||||
| off-screen rendering.  Apps which need the OSMesa interface should link | ||||
| with both -lOSMesa and -lGL.  This change was made so that stand-alone | ||||
| Mesa works the same way as XFree86/DRI's libGL. | ||||
|  | ||||
|  | ||||
|  | ||||
| Device Driver Changes / Core Mesa Changes | ||||
| ----------------------------------------- | ||||
|  | ||||
| The ctx->Driver.LogicOp() function has been removed.  It used to | ||||
| be called during state update in order to determine if the driver | ||||
| could do glLogicOp() operations, and if not, set the SWLogicOpEnabled | ||||
| flag.  Drivers should instead examine the LogicOp state themselves | ||||
| and choose specialized point, line, and triangle functions appropriately, | ||||
| or fall back to software rendering.  The Xlib driver was the only driver | ||||
| to use this function.  And since the Xlib driver no longer draws | ||||
| points, lines or triangles using Xlib, the LogicOp function isn't needed. | ||||
|  | ||||
| The ctx->Driver.Dither() function has been removed.  Drivers should | ||||
| detect dither enable/disable via ctx->Driver.Enable() instead. | ||||
|  | ||||
| The ctx->Driver.IndexMask() and ctx->Driver.ColorMask() functions | ||||
| are now just called from glIndexMask and glColorMask like the other | ||||
| GL state-changing functions.  They are no longer called from inside | ||||
| gl_update_state().  Also, they now return void.  The change was made | ||||
| mostly for sake of uniformity. | ||||
|  | ||||
| The NEW_DRVSTATE[0123] flags have been removed.  They weren't being used | ||||
| and are obsolete w.r.t. the way state updates are done in DRI drivers. | ||||
|  | ||||
|  | ||||
| Removed obsolete gl_create_visual() and gl_destroy_visual(). | ||||
|  | ||||
| Renamed functions (new namespace): | ||||
|  | ||||
| old				new | ||||
| gl_create_framebuffer		_mesa_create_framebuffer | ||||
| gl_destroy_framebuffer		_mesa_destroy_framebuffer | ||||
| gl_create_context		_mesa_create_context | ||||
| gl_destroy_context		_mesa_destroy_context | ||||
| gl_context_initialize		_mesa_context_initialize | ||||
| gl_copy_context			_mesa_copy_context | ||||
| gl_make_current			_mesa_make_current | ||||
| gl_make_current2		_mesa_make_current2 | ||||
| gl_get_current_context		_mesa_get_current_context | ||||
| gl_flush_vb			_mesa_flush_vb | ||||
| gl_warning			_mesa_warning | ||||
| gl_compile_error		_mesa_compile_error | ||||
|  | ||||
|  | ||||
| All the drivers have been updated, but not all of them have been | ||||
| tested since I can't test some platforms (DOS, Windows, Allegro, etc). | ||||
|  | ||||
|  | ||||
| X/Mesa Driver | ||||
| ------------- | ||||
|  | ||||
| The source files for the X/Mesa driver in src/X have been renamed. | ||||
| The xmesa[1234].c files are gone.  The new files are xm_api.c, | ||||
| xm_dd.c, xm_line.c, xm_span.c and xm_tri.c. | ||||
|  | ||||
|  | ||||
|  | ||||
| Multitexture | ||||
| ------------ | ||||
|  | ||||
| Eight texture units are now supported by default. | ||||
|  | ||||
|  | ||||
|  | ||||
| OpenGL SI related changes | ||||
| ------------------------- | ||||
|  | ||||
| In an effort to make Mesa's internal interfaces more like the OpenGL | ||||
| SI interfaces, a number of changes have been made: | ||||
|  | ||||
| 1. Importing the SI's glcore.h file which defines a number of | ||||
| interface structures like __GLimports and __GLexports. | ||||
|  | ||||
| 2. Renamed "struct gl_context" to "struct __GLcontextRec". | ||||
|  | ||||
| 3. Added __glCoreCreateContext() and __glCoreNopDispatch() functions. | ||||
|  | ||||
| 4. The GLcontext member Visual is no longer a pointer. | ||||
|  | ||||
| 5. New file: imports.c to setup default import functions for Mesa. | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| 16-bit color channels | ||||
| --------------------- | ||||
|  | ||||
| There's experimental support for 16-bit color channels (64-bit pixels) | ||||
| in Mesa 3.5.  Only the OSMesa interface can be used for 16-bit rendering. | ||||
| Type "make linux-osmesa16" in the top-level directory to build the | ||||
| special libOSMesa16.so library. | ||||
|  | ||||
| This hasn't been tested very thoroughly yet so please file bug reports | ||||
| if you have trouble. | ||||
|  | ||||
| In the future I hope to implement support for 32-bit, floating point | ||||
| color channels. | ||||
|  | ||||
| ---------------------------------------------------------------------- | ||||
| $Id: RELNOTES-3.5,v 1.14 2001/06/20 19:02:48 brianp Exp $ | ||||
							
								
								
									
										163
									
								
								docs/RELNOTES-4.0
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										163
									
								
								docs/RELNOTES-4.0
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,163 @@ | ||||
|  | ||||
|                            Mesa 4.0 release notes | ||||
|  | ||||
|                              October 18, 2001 | ||||
|  | ||||
|                               PLEASE READ!!!! | ||||
|  | ||||
|  | ||||
|  | ||||
| Introduction | ||||
| ------------ | ||||
|  | ||||
| Mesa uses an even/odd version number scheme like the Linux kernel. | ||||
| Odd numbered versions (such as 3.3) designate new developmental releases. | ||||
| Even numbered versions (such as 3.4) designate stable releases. | ||||
|  | ||||
| Mesa version 4.0 signifies two things: | ||||
|  | ||||
|   1. A stabilization of the 3.5 development release | ||||
|   2. Implementation of the OpenGL 1.3 specification | ||||
|  | ||||
|  | ||||
| Note that the Mesa major version number is incremented with the OpenGL | ||||
| minor version number: | ||||
|  | ||||
|    Mesa 1.x  ==  OpenGL 1.0 | ||||
|    Mesa 2.x  ==  OpenGL 1.1 | ||||
|    Mesa 3.x  ==  OpenGL 1.2 | ||||
|    Mesa 4.x  ==  OpenGL 1.3 | ||||
|  | ||||
|  | ||||
|  | ||||
| New Features | ||||
| ------------ | ||||
|  | ||||
| Mesa 3.5 already had all the new features of OpenGL 1.3, implemented as | ||||
| extensions.  These extensions were simply promoted to standard features: | ||||
|  | ||||
|    GL_ARB_multisample | ||||
|    GL_ARB_multitexture | ||||
|    GL_ARB_texture_border_clamp | ||||
|    GL_ARB_texture_compression | ||||
|    GL_ARB_texture_cube_map | ||||
|    GL_ARB_texture_env_add | ||||
|    GL_ARB_texture_env_combine | ||||
|    GL_ARB_texture_env_dot3 | ||||
|    GL_ARB_transpose_matrix | ||||
|  | ||||
| In Mesa 4.0 the functions defined by these extensions are now available | ||||
| without the "ARB" suffix.  For example, glLoadTransposeMatrixf() is now | ||||
| a standard API function.  The new functions in OpenGL 1.3 and Mesa 4.0 are: | ||||
|  | ||||
|    glActiveTexture | ||||
|    glClientActiveTexture | ||||
|    glCompressedTexImage1D | ||||
|    glCompressedTexImage2D | ||||
|    glCompressedTexImage3D | ||||
|    glCompressedTexSubImage1D | ||||
|    glCompressedTexSubImage2D | ||||
|    glCompressedTexSubImage3D | ||||
|    glGetCompressedTexImage | ||||
|    glLoadTransposeMatrixd | ||||
|    glLoadTransposeMatrixf | ||||
|    glMultiTexCoord1d | ||||
|    glMultiTexCoord1dv | ||||
|    glMultiTexCoord1f | ||||
|    glMultiTexCoord1fv | ||||
|    glMultiTexCoord1i | ||||
|    glMultiTexCoord1iv | ||||
|    glMultiTexCoord1s | ||||
|    glMultiTexCoord1sv | ||||
|    glMultiTexCoord2d | ||||
|    glMultiTexCoord2dv | ||||
|    glMultiTexCoord2f | ||||
|    glMultiTexCoord2fv | ||||
|    glMultiTexCoord2i | ||||
|    glMultiTexCoord2iv | ||||
|    glMultiTexCoord2s | ||||
|    glMultiTexCoord2sv | ||||
|    glMultiTexCoord3d | ||||
|    glMultiTexCoord3dv | ||||
|    glMultiTexCoord3f | ||||
|    glMultiTexCoord3fv | ||||
|    glMultiTexCoord3i | ||||
|    glMultiTexCoord3iv | ||||
|    glMultiTexCoord3s | ||||
|    glMultiTexCoord3sv | ||||
|    glMultiTexCoord4d | ||||
|    glMultiTexCoord4dv | ||||
|    glMultiTexCoord4f | ||||
|    glMultiTexCoord4fv | ||||
|    glMultiTexCoord4i | ||||
|    glMultiTexCoord4iv | ||||
|    glMultiTexCoord4s | ||||
|    glMultiTexCoord4sv | ||||
|    glMultTransposeMatrixd | ||||
|    glMultTransposeMatrixf | ||||
|    glSampleCoverage | ||||
|    glSamplePass | ||||
|  | ||||
|  | ||||
| GLX 1.4 is the companion to OpenGL 1.3.  The only new features in GLX 1.4 | ||||
| are support for multisampling and the GLX_ARB_get_proc_address extension. | ||||
| glXGetProcAddress() is the only new function in GLX 1.4. | ||||
|  | ||||
|  | ||||
|  | ||||
| Multisample and Texture Compression | ||||
| ----------------------------------- | ||||
|  | ||||
| The OpenGL 1.3 specification allows the multisample and texture compression | ||||
| features to essentially be no-ops.  For example, if you query for multisample | ||||
| support you'll find none, but the API functions work. | ||||
|  | ||||
| Similarly, texture compression is not implemented by any of the software | ||||
| drivers but you can specify a generic compressed texture format (like | ||||
| GL_COMPRESSED_RGBA) to glTexImage2D and it'll be accepted. | ||||
|  | ||||
|  | ||||
|  | ||||
| Device Drivers | ||||
| -------------- | ||||
|  | ||||
| Mesa advertises itself as either OpenGL 1.2 or OpenGL 1.3 depending on the | ||||
| device driver.  If the driver enables all the ARB extensions which are part | ||||
| of OpenGL 1.3 then glGetString(GL_VERSION) will return "1.3".  Otherwise, | ||||
| it'll return "1.2". | ||||
|  | ||||
| A number of Mesa's software drivers haven't been actively maintained for | ||||
| some time.  We rely on volunteers to maintain many of the drivers. | ||||
| Here's the current status of all included drivers: | ||||
|  | ||||
|  | ||||
| Driver			Status | ||||
| ----------------------	--------------------- | ||||
| XMesa (Xlib)		implements OpenGL 1.3 | ||||
| OSMesa (off-screen)	implements OpenGL 1.3 | ||||
| FX (3dfx Voodoo1/2)	implements OpenGL 1.3 | ||||
| SVGA			implements OpenGL 1.3 | ||||
| Wind River UGL		implements OpenGL 1.3 | ||||
| Windows/Win32		implements OpenGL 1.3 | ||||
| GGI			needs updating | ||||
| DOS/DJGPP		needs updating | ||||
| BeOS			needs updating | ||||
| Allegro			needs updating | ||||
| D3D			needs updating | ||||
| DOS			needs updating | ||||
|  | ||||
| Special thanks go to Karl Schultz for updating the Windows driver. | ||||
|  | ||||
| The XFree86/DRI drivers	have not yet been updated to use Mesa 4.0 as of | ||||
| September 2001, but that should happen eventually. | ||||
|  | ||||
|  | ||||
|  | ||||
| Other Changes | ||||
| ------------- | ||||
|  | ||||
| See the VERSIONS file for more details about bug fixes, etc. in Mesa 4.0. | ||||
|  | ||||
|  | ||||
| ---------------------------------------------------------------------- | ||||
| $Id: RELNOTES-4.0,v 3.2 2001/10/17 14:59:21 brianp Exp $ | ||||
							
								
								
									
										22
									
								
								docs/RELNOTES-4.0.1
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								docs/RELNOTES-4.0.1
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | ||||
|  | ||||
|                           Mesa 4.0.1 release notes | ||||
|  | ||||
|                              December 17, 2001 | ||||
|  | ||||
|                               PLEASE READ!!!! | ||||
|  | ||||
|  | ||||
|  | ||||
| Introduction | ||||
| ------------ | ||||
|  | ||||
| Mesa uses an even/odd version number scheme like the Linux kernel. | ||||
| Odd numbered versions (such as 3.3) designate new developmental releases. | ||||
| Even numbered versions (such as 3.4) designate stable releases. | ||||
|  | ||||
| Mesa 4.0.1 only contains bug fixes since version 4.0. | ||||
|  | ||||
| See the docs/VERSIONS file for the list of bug fixes. | ||||
|  | ||||
| ---------------------------------------------------------------------- | ||||
| $Id: RELNOTES-4.0.1,v 1.2 2001/12/18 14:08:23 brianp Exp $ | ||||
							
								
								
									
										50
									
								
								docs/RELNOTES-4.0.2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								docs/RELNOTES-4.0.2
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,50 @@ | ||||
|  | ||||
|                           Mesa 4.0.2 release notes | ||||
|  | ||||
|                              March 25, 2002 | ||||
|  | ||||
|                               PLEASE READ!!!! | ||||
|  | ||||
|  | ||||
|  | ||||
| Introduction | ||||
| ------------ | ||||
|  | ||||
| Mesa uses an even/odd version number scheme like the Linux kernel. | ||||
| Odd numbered versions (such as 3.3) designate new developmental releases. | ||||
| Even numbered versions (such as 3.4) designate stable releases. | ||||
|  | ||||
| Mesa 4.0.2 only contains bug fixes and a new DOS driver since version 4.0.1. | ||||
|  | ||||
| See the docs/VERSIONS file for the list of bug fixes. | ||||
|  | ||||
|  | ||||
| Device Drivers | ||||
| -------------- | ||||
|  | ||||
| Mesa advertises itself as either OpenGL 1.2 or OpenGL 1.3 depending on the | ||||
| device driver.  If the driver enables all the ARB extensions which are part | ||||
| of OpenGL 1.3 then glGetString(GL_VERSION) will return "1.3".  Otherwise, | ||||
| it'll return "1.2". | ||||
|  | ||||
| A number of Mesa's software drivers haven't been actively maintained for | ||||
| some time.  We rely on volunteers to maintain many of the drivers. | ||||
| Here's the current status of all included drivers: | ||||
|  | ||||
| Driver			Status | ||||
| ----------------------	--------------------- | ||||
| XMesa (Xlib)		implements OpenGL 1.3 | ||||
| OSMesa (off-screen)	implements OpenGL 1.3 | ||||
| FX (3dfx Voodoo1/2)	implements OpenGL 1.3 | ||||
| SVGA			implements OpenGL 1.3 | ||||
| Wind River UGL		implements OpenGL 1.3 | ||||
| Windows/Win32		implements OpenGL 1.3 | ||||
| DOS/DJGPP		implements OpenGL 1.3 (new in Mesa 4.0.2) | ||||
| GGI			needs updating | ||||
| BeOS			needs updating | ||||
| Allegro			needs updating | ||||
| D3D			needs updating | ||||
|  | ||||
|  | ||||
| ---------------------------------------------------------------------- | ||||
| $Id: RELNOTES-4.0.2,v 1.2 2002/03/23 02:38:39 brianp Exp $ | ||||
							
								
								
									
										52
									
								
								docs/RELNOTES-4.0.3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								docs/RELNOTES-4.0.3
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,52 @@ | ||||
|  | ||||
|                           Mesa 4.0.3 release notes | ||||
|  | ||||
|                                June 25, 2002 | ||||
|  | ||||
|                               PLEASE READ!!!! | ||||
|  | ||||
|  | ||||
|  | ||||
| Introduction | ||||
| ------------ | ||||
|  | ||||
| Mesa uses an even/odd version number scheme like the Linux kernel. | ||||
| Odd numbered versions (such as 3.3) designate new developmental releases. | ||||
| Even numbered versions (such as 3.4) designate stable releases. | ||||
|  | ||||
| Mesa 4.0.3 basically just contains bug fixes version 4.0.2. | ||||
|  | ||||
| See the docs/VERSIONS file for the list of bug fixes. | ||||
|  | ||||
| The GGI driver has been updated, thanks to Filip Spacek. | ||||
|  | ||||
|  | ||||
| Device Drivers | ||||
| -------------- | ||||
|  | ||||
| Mesa advertises itself as either OpenGL 1.2 or OpenGL 1.3 depending on the | ||||
| device driver.  If the driver enables all the ARB extensions which are part | ||||
| of OpenGL 1.3 then glGetString(GL_VERSION) will return "1.3".  Otherwise, | ||||
| it'll return "1.2". | ||||
|  | ||||
| A number of Mesa's software drivers haven't been actively maintained for | ||||
| some time.  We rely on volunteers to maintain many of the drivers. | ||||
| Here's the current status of all included drivers: | ||||
|  | ||||
| Driver			Status | ||||
| ----------------------	--------------------- | ||||
| XMesa (Xlib)		implements OpenGL 1.3 | ||||
| OSMesa (off-screen)	implements OpenGL 1.3 | ||||
| FX (3dfx Voodoo1/2)	implements OpenGL 1.3 | ||||
| SVGA			implements OpenGL 1.3 | ||||
| Wind River UGL		implements OpenGL 1.3 | ||||
| Windows/Win32		implements OpenGL 1.3 | ||||
| DOS/DJGPP		implements OpenGL 1.3 (new in Mesa 4.0.2) | ||||
| GGI			implements OpenGL 1.3 | ||||
| BeOS			needs updating | ||||
| Allegro			needs updating | ||||
| D3D			needs updating | ||||
|  | ||||
|  | ||||
| ---------------------------------------------------------------------- | ||||
| $Id: RELNOTES-4.0.3,v 1.2 2002/06/26 02:36:34 brianp Exp $ | ||||
							
								
								
									
										308
									
								
								docs/RELNOTES-4.1
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										308
									
								
								docs/RELNOTES-4.1
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,308 @@ | ||||
|  | ||||
|                             Mesa 4.1 release notes | ||||
|  | ||||
|                                October 29, 2002 | ||||
|  | ||||
|                                 PLEASE READ!!!! | ||||
|  | ||||
|  | ||||
|  | ||||
| Introduction | ||||
| ------------ | ||||
|  | ||||
| Mesa uses an even/odd version number scheme like the Linux kernel. | ||||
| Even numbered versions (such as 4.0) designate stable releases. | ||||
| Odd numbered versions (such as 4.1) designate new developmental releases. | ||||
|  | ||||
|  | ||||
| New Features in Mesa 4.1 | ||||
| ------------------------ | ||||
|  | ||||
| New extensions.  Docs at http://oss.sgi.com/projects/ogl-sample/registry/ | ||||
|  | ||||
| GL_NV_vertex_program | ||||
|  | ||||
|     NVIDIA's vertex programming extension | ||||
|  | ||||
| GL_NV_vertex_program1_1 | ||||
|  | ||||
|     A few features built on top of GL_NV_vertex_program | ||||
|  | ||||
| GL_ARB_window_pos | ||||
|  | ||||
|     This is the ARB-approved version of GL_MESA_window_pos | ||||
|  | ||||
| GL_ARB_depth_texture | ||||
|  | ||||
|     This is the ARB-approved version of GL_SGIX_depth_texture. | ||||
|     It allows depth (Z buffer) data to be stored in textures. | ||||
|     This is used by GL_ARB_shadow | ||||
|  | ||||
| GL_ARB_shadow | ||||
|  | ||||
|     Shadow mapping with depth textures. | ||||
|     This is the ARB-approved version of GL_SGIX_shadow. | ||||
|  | ||||
| GL_ARB_shadow_ambient | ||||
|  | ||||
|     Allows one to specify the luminance of shadowed pixels. | ||||
|     This is the ARB-approved version of GL_SGIX_shadow_ambient. | ||||
|  | ||||
| GL_EXT_shadow_funcs | ||||
|  | ||||
|     Extends the set of GL_ARB_shadow texture comparision functions to | ||||
|     include all eight of standard OpenGL dept-test functions. | ||||
|  | ||||
| GL_ARB_point_parameters | ||||
|  | ||||
|     This is basically the same as GL_EXT_point_parameters. | ||||
|  | ||||
| GL_ARB_texture_env_crossbar | ||||
|  | ||||
|     Allows any texture combine stage to reference any texture source unit. | ||||
|  | ||||
| GL_NV_point_sprite | ||||
|  | ||||
|     For rendering points as textured quads.  Useful for particle effects. | ||||
|  | ||||
| GL_NV_texture_rectangle  (new in 4.0.4 actually) | ||||
|  | ||||
|     Allows one to use textures with sizes that are not powers of two. | ||||
|     Note that mipmapping and several texture wrap modes are not allowed. | ||||
|  | ||||
| GL_EXT_multi_draw_arrays | ||||
|  | ||||
|     Allows arrays of vertex arrays to be rendered with one call. | ||||
|  | ||||
| GL_EXT_stencil_two_side | ||||
|  | ||||
|    Separate stencil modes for front and back-facing polygons. | ||||
|  | ||||
| GLX_SGIX_fbconfig & GLX_SGIX_pbuffer | ||||
|  | ||||
|    Off-screen rendering support. | ||||
|  | ||||
| GL_ATI_texture_mirror_once | ||||
|  | ||||
|    Adds two new texture wrap modes: GL_MIRROR_CLAMP_ATI and | ||||
|    GL_MIRROR_CLAMP_TO_EDGE_ATI. | ||||
|  | ||||
|  | ||||
|  | ||||
| Device Driver Status | ||||
| -------------------- | ||||
|  | ||||
| A number of Mesa's software drivers haven't been actively maintained for | ||||
| some time.  We rely on volunteers to maintain many of these drivers. | ||||
| Here's the current status of all included drivers: | ||||
|  | ||||
|  | ||||
| Driver			Status | ||||
| ----------------------	--------------------- | ||||
| XMesa (Xlib)		implements OpenGL 1.3 | ||||
| OSMesa (off-screen)	implements OpenGL 1.3 | ||||
| FX (3dfx Voodoo1/2)	implements OpenGL 1.3 | ||||
| SVGA			implements OpenGL 1.3 | ||||
| Wind River UGL		implements OpenGL 1.3 | ||||
| Windows/Win32		implements OpenGL 1.3 | ||||
| DOS/DJGPP		implements OpenGL 1.3 | ||||
| GGI			implements OpenGL 1.3 | ||||
| BeOS			needs updating (underway) | ||||
| Allegro			needs updating | ||||
| D3D			needs updating | ||||
| DOS			needs updating | ||||
|  | ||||
|  | ||||
|  | ||||
| New features in GLUT | ||||
| -------------------- | ||||
|  | ||||
| 1. Frames per second printing | ||||
|  | ||||
|    GLUT now looks for an environment variable called "GLUT_FPS".  If it's | ||||
|    set, GLUT will print out a frames/second statistic to stderr when | ||||
|    glutSwapBuffers() is called.  By default, frames/second is computed | ||||
|    and displayed once every 5 seconds.  You can specify a different | ||||
|    interval (in milliseconds) when you set the env var.  For example | ||||
|    'export GLUT_FPS=1000' or 'setenv GLUT_FPS 1000' will set the interval | ||||
|    to one second. | ||||
|  | ||||
|    NOTE: the demo or application must call the glutInit() function for | ||||
|    this to work.  Otherwise, the env var will be ignored. | ||||
|  | ||||
|    Finally, this feature may not be reliable in multi-window programs. | ||||
|  | ||||
|  | ||||
| 2. glutGetProcAddress() function | ||||
|  | ||||
|    The new function: | ||||
|  | ||||
|         void *glutGetProcAddress(const char *procName) | ||||
|  | ||||
|    is a wrapper for glXGetProcAddressARB() and wglGetProcAddress().  It | ||||
|    lets you dynamically get the address of an OpenGL function at runtime. | ||||
|    The GLUT_API_VERSION has been bumped to 5, but I haven't bumped the | ||||
|    GLUT version number from 3.7 since that's probably Mark Kilgard's role. | ||||
|  | ||||
|    This function should probably also be able to return the address of | ||||
|    GLUT functions themselves, but it doesn't do that yet. | ||||
|  | ||||
|  | ||||
|  | ||||
| XXX Things To Do Yet XXXX | ||||
| ------------------------- | ||||
|  | ||||
| isosurf with vertex program exhibits some missing triangles (probably | ||||
| when recycling the vertex buffer for long prims). | ||||
|  | ||||
|  | ||||
|  | ||||
| Porting Info | ||||
| ------------ | ||||
|  | ||||
| If you're porting a DRI or other driver from Mesa 4.0.x to Mesa 4.1 here | ||||
| are some things to change: | ||||
|  | ||||
| 1. ctx->Texture._ReallyEnabled is obsolete. | ||||
|  | ||||
|    Since there are now 5 texture targets (1D, 2D, 3D, cube and rect) that | ||||
|    left room for only 6 units (6*5 < 32) in this field. | ||||
|    This field is being replaced by ctx->Texture._EnabledUnits which has one | ||||
|    bit per texture unit.  If the bit k of _EnabledUnits is set, that means | ||||
|    ctx->Texture.Unit[k]._ReallyEnabled is non-zero.  You'll have to look at | ||||
|    ctx->Texture.Unit[k]._ReallyEnabled to learn if the 1D, 2D, 3D, cube or | ||||
|    rect texture is enabled for unit k. | ||||
|  | ||||
|    This also means that the constants TEXTURE1_*, TEXTURE2_*, etc are | ||||
|    obsolete. | ||||
|  | ||||
|    The tokens TEXTURE0_* have been replaced as well (since there's no | ||||
|    significance to the "0" part: | ||||
|  | ||||
|    old token           new token | ||||
|    TEXTURE0_1D         TEXTURE_1D_BIT | ||||
|    TEXTURE0_2D         TEXTURE_2D_BIT | ||||
|    TEXTURE0_3D         TEXTURE_3D_BIT | ||||
|    TEXTURE0_CUBE       TEXTURE_CUBE_BIT | ||||
|    <none>              TEXTURE_RECT_BIT | ||||
|  | ||||
|    These tokens are only used for the ctx->Texture.Unit[i].Enabled and | ||||
|    ctx->Texture.Unit[i]._ReallyEnabled fields.  Exactly 0 or 1 bits will | ||||
|    be set in _ReallyEnabled at any time! | ||||
|  | ||||
|    Q: "What's the purpose of Unit[i].Enabled vs Unit[i]._ReallyEnabled?" | ||||
|    A: The user can enable GL_TEXTURE_1D, GL_TEXTURE_2D, etc for any | ||||
|       texure unit all at once (an unusual thing to do). | ||||
|       OpenGL defines priorities that basically say GL_TEXTURE_2D has | ||||
|       higher priority than GL_TEXTURE_1D, etc.  Also, just because a | ||||
|       texture target is enabled by the user doesn't mean we'll actually | ||||
|       use that texture!  If a texture object is incomplete (missing mip- | ||||
|       map levels, etc) it's as if texturing is disabled for that target. | ||||
|       The _ReallyEnabled field will have a bit set ONLY if the texture | ||||
|       target is enabled and complete.  This spares the driver writer from | ||||
|       examining a _lot_ of GL state to determine which texture target is | ||||
|       to be used. | ||||
|  | ||||
|  | ||||
| 2. Tnl tokens changes | ||||
|  | ||||
|    During the implementation of GL_NV_vertex_program some of the vertex | ||||
|    buffer code was changed.  Specifically, the VERT_* bits defined in | ||||
|    tnl/t_context.h have been renamed to better match the conventions of | ||||
|    GL_NV_vertex_program.  The old names are still present but obsolete. | ||||
|    Drivers should use the newer names. | ||||
|  | ||||
|    For example:  VERT_RGBA is now VERT_BIT_COLOR0 and | ||||
|    VERT_SPEC_RGB is now VERT_BIT_COLOR1. | ||||
|  | ||||
|  | ||||
|  | ||||
| 3. Read/Draw Buffer changes | ||||
|  | ||||
|    The business of setting the current read/draw buffers in Mesa 4.0.x | ||||
|    was complicated.  It's much simpler now in Mesa 4.1. | ||||
|  | ||||
|    Here are the changes: | ||||
|  | ||||
|    - Renamed ctx->Color.DrawDestMask to ctx->Color._DrawDestMask | ||||
|    - Removed ctx->Color.DriverDrawBuffer | ||||
|    - Removed ctx->Pixel.DriverReadBuffer | ||||
|    - Removed ctx->Color.MultiDrawBuffer | ||||
|    - Removed ctx->Driver.SetDrawBuffer() | ||||
|    - Removed swrast->Driver.SetReadBuffer(). | ||||
|    - Added ctx->Color._DrawDestMask - a bitmask of FRONT/BACK_LEFT/RIGHT_BIT | ||||
|      values to indicate the current draw buffers. | ||||
|    - Added ctx->Pixel._ReadSrcMask to indicate the source for pixel reading. | ||||
|      The value is _one_ of the FRONT/BACK_LEFT/RIGHT_BIT values. | ||||
|    - Added ctx->Driver.DrawBuffer() and ctx->Driver.ReadBuffer(). | ||||
|      These functions exactly correspond to glDrawBuffer and glReadBuffer calls. | ||||
|      Many drivers will set ctx->Driver.DrawBuffer = _swrast_DrawBuffer and | ||||
|      leave ctx->Draw.ReadBuffer NULL. | ||||
|      DRI drivers should implement their own function for ctx->Driver.DrawBuffer | ||||
|      and use it to set the current hardware drawing buffer.  You'll probably | ||||
|      also want to check for GL_FRONT_AND_BACK mode and fall back to software. | ||||
|      Call _swrast_DrawBuffer() too, to update the swrast state. | ||||
|    - Added swrast->Driver.SetBuffer(). | ||||
|      This function should be implemented by all device drivers that use swrast. | ||||
|      Mesa will call it to specify the buffer to use for span reading AND | ||||
|      writing and point/line/triangle rendering. | ||||
|      There should be no confusion between current read or draw buffer anymore. | ||||
|    - Added swrast->CurrentBuffer to indicate which color buffer to read/draw. | ||||
|      Will be FRONT_LEFT_BIT, BACK_LEFT_BIT, FRONT_RIGHT_BIT or BACK_RIGHT_BIT. | ||||
|      This value is usually passed to swrast->Driver.SetBuffer(). | ||||
|  | ||||
|  | ||||
| 4. _mesa_create_context() changes.  This function now takes a pointer to | ||||
|    a __GLimports object.  The __GLimports structure contains function | ||||
|    pointers to system functions like fprintf(), malloc(), etc. | ||||
|    The _mesa_init_default_imports() function can be used to initialize | ||||
|    a __GLimports object.  Most device drivers (like the DRI drivers) | ||||
|    should use this. | ||||
|  | ||||
|  | ||||
| 5. In tnl's struct vertex_buffer, the field "ProjectedClipCoords" | ||||
|    has been replaced by "NdcPtr" to better match the OpenGL spec's | ||||
|    terminology. | ||||
|  | ||||
|  | ||||
| 6. Since GL_EXT_stencil_two_side has been implemented, many of the | ||||
|    ctx->Stencil fields are now 2-element arrays.  For example, | ||||
|    "GLenum Ref" is now "GLenum Ref[2]"  The [0] elements are the front-face | ||||
|    values and the [1] elements are the back-face values. | ||||
|    ctx->Stencil.ActiveFace is 0 or 1 to indicate the current face for | ||||
|    the glStencilOp/Func/Mask() functions. | ||||
|    ctx->Stencil.TestTwoSide controls whether or not 1 or 2-sided stenciling | ||||
|    is enabled. | ||||
|  | ||||
|  | ||||
| 7. Removed ctx->Polygon._OffsetAny.  Removed ctx->Polygon.OffsetMRD. | ||||
|  | ||||
|  | ||||
| 8. GLfloat / GLchan changes: | ||||
|  | ||||
|    - Changed ctx->Driver.ClearColor() to take GLfloat[4] instead of GLchan[4]. | ||||
|      ctx->Color.ClearColor is now GLfloat[4] too. | ||||
|    - Changed ctx->Driver.AlphaRef() to take GLfloat instead of GLchan. | ||||
|    - ctx->Color.AlphaRef is now GLfloat. | ||||
|    - texObj->BorderColor is now GLfloat[4].  texObj->_BorderChan is GLchan[4]. | ||||
|  | ||||
|    This is part of an effort to remove all GLchan types from core Mesa so | ||||
|    that someday we can support 8, 16 and 32-bit color channels dynamically | ||||
|    at runtime, instead of at compile-time. | ||||
|  | ||||
|  | ||||
| 9. GLboolean ctx->Tranform.ClipEnabled[MAX_CLIP_PLANES] has been replaced | ||||
|    by GLuint ctx->Transform.ClipPlanesEnabled.  The later is a bitfield. | ||||
|  | ||||
|  | ||||
| 10. There's a new matrix_stack type in mtypes.h used for the Modelview, | ||||
|    Projection, Color and Texcoord matrix stacks. | ||||
|  | ||||
|  | ||||
| 11. The ctx->Current.* fields have changed a lot.  Now, there's a | ||||
|    ctx->Current.Attrib[] array for all vertex attributes which matches | ||||
|    the NV vertex program conventions. | ||||
|  | ||||
|  | ||||
| ---------------------------------------------------------------------- | ||||
| $Id: RELNOTES-4.1,v 1.22 2002/10/29 15:06:37 brianp Exp $ | ||||
							
								
								
									
										85
									
								
								docs/RELNOTES-5.0
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										85
									
								
								docs/RELNOTES-5.0
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,85 @@ | ||||
|  | ||||
|                             Mesa 5.0 release notes | ||||
|  | ||||
|                               November 13, 2002 | ||||
|  | ||||
|                                 PLEASE READ!!!! | ||||
|  | ||||
|  | ||||
|  | ||||
| Introduction | ||||
| ------------ | ||||
|  | ||||
| Mesa uses an even/odd version number scheme like the Linux kernel. | ||||
| Even-numbered versions (such as 5.0) designate stable releases. | ||||
| Odd-numbered versions (such as 4.1) designate new developmental releases. | ||||
|  | ||||
| Mesa 5.0 is basically just a stabilization of Mesa 4.1.  To see a list of | ||||
| bug fixes, etc. see the VERSIONS file. | ||||
|  | ||||
|  | ||||
|  | ||||
| New Features in Mesa 5.0 | ||||
| ------------------------ | ||||
|  | ||||
| Mesa 5.0 supports OpenGL 1.4.  Note Mesa's versioning convention: | ||||
|  | ||||
|    OpenGL Version    Mesa Version | ||||
|    ------------------------------ | ||||
|         1.0             1.x | ||||
|         1.1             2.x | ||||
|         1.2             3.x | ||||
|         1.3             4.x | ||||
|         1.4             5.x | ||||
|  | ||||
| OpenGL 1.4 (and Mesa 5.0) incorporates the following OpenGL extensions as | ||||
| standard features: | ||||
|  | ||||
| 	GL_ARB_depth_texture | ||||
| 	GL_ARB_shadow | ||||
| 	GL_ARB_texture_env_crossbar | ||||
| 	GL_ARB_texture_mirror_repeat | ||||
| 	GL_ARB_window_pos | ||||
| 	GL_EXT_blend_color | ||||
| 	GL_EXT_blend_func_separate | ||||
| 	GL_EXT_blend_logic_op | ||||
| 	GL_EXT_blend_minmax | ||||
| 	GL_EXT_blend_subtract | ||||
| 	GL_EXT_fog_coord | ||||
| 	GL_EXT_multi_draw_arrays | ||||
| 	GL_EXT_point_parameters | ||||
| 	GL_EXT_secondary_color | ||||
| 	GL_EXT_stencil_wrap | ||||
| 	GL_SGIS_generate_mipmap | ||||
|  | ||||
|  | ||||
|  | ||||
| Device Driver Status | ||||
| -------------------- | ||||
|  | ||||
| A number of Mesa's software drivers haven't been actively maintained for | ||||
| some time.  We rely on volunteers to maintain many of these drivers. | ||||
| Here's the current status of all included drivers: | ||||
|  | ||||
|  | ||||
| Driver			Status | ||||
| ----------------------	--------------------- | ||||
| XMesa (Xlib)		implements OpenGL 1.4 | ||||
| OSMesa (off-screen)	implements OpenGL 1.4 | ||||
| FX (3dfx Voodoo1/2)	implements OpenGL 1.3 | ||||
| SVGA			implements OpenGL 1.3 | ||||
| Wind River UGL		implements OpenGL 1.3 | ||||
| Windows/Win32		implements OpenGL 1.4 | ||||
| DOS/DJGPP		implements OpenGL 1.3 | ||||
| GGI			implements OpenGL 1.3 | ||||
| DOS			implements OpenGL 1.4 | ||||
| BeOS			needs updating (underway) | ||||
| Allegro			needs updating | ||||
| D3D			needs updating | ||||
|  | ||||
| Note: supporting OpenGL 1.4 (vs. 1.3 or 1.2) usually only requires that the | ||||
| driver call the _mesa_enable_1_4_extensions() function. | ||||
|  | ||||
|  | ||||
| ---------------------------------------------------------------------- | ||||
| $Id: RELNOTES-5.0,v 3.2 2002/11/13 15:33:51 brianp Exp $ | ||||
							
								
								
									
										336
									
								
								docs/VERSIONS
									
									
									
									
									
								
							
							
						
						
									
										336
									
								
								docs/VERSIONS
									
									
									
									
									
								
							| @@ -1,4 +1,4 @@ | ||||
| $Id: VERSIONS,v 1.38 2000/07/21 15:41:59 brianp Exp $ | ||||
| $Id: VERSIONS,v 1.118 2002/11/13 15:33:50 brianp Exp $ | ||||
|  | ||||
|  | ||||
| Mesa Version History | ||||
| @@ -746,3 +746,337 @@ Mesa Version History | ||||
| 	- gl.h now uses #defines instead of C enums for all tokens | ||||
| 	- glu.h now uses #defines instead of C enums for all tokens | ||||
| 	- moved programs from 3Dfx/demos/ into demos/ directory | ||||
|  | ||||
|  | ||||
| 3.4  November 3, 2000 | ||||
|     New: | ||||
| 	- optimized glDrawPixels for glPixelZoom(1,-1) | ||||
|     Bug Fixes: | ||||
| 	- widgets-mesa/src/*.c files were missing from 3.3 distro | ||||
| 	- include/GL/mesa_wgl.h file was missing from 3.3 distro | ||||
| 	- fixed some Win32 compile problems | ||||
| 	- texture object priorities weren't getting initialized to 1.0 | ||||
| 	- glAreTexturesResident return value was wrong when using hardware | ||||
| 	- glXUseXFont segfaulted when using 3dfx driver (via MESA_GLX_FX) | ||||
| 	- glReadPixels with GLushort packed types was broken | ||||
| 	- fixed a few bugs in the GL_EXT_texture_env_combine texture code | ||||
| 	- glPush/PopAttrib(GL_ENABLE_BIT) mishandled multi-texture enables | ||||
| 	- fixed some typos/bugs in the VB code | ||||
| 	- glDrawPixels(GL_COLOR_INDEX) to RGB window didn't work | ||||
| 	- optimized glDrawPixels paths weren't being used | ||||
| 	- per-fragment fog calculation didn't work without a Z buffer | ||||
| 	- improved blending accuracy, fixes Glean blendFunc test failures | ||||
| 	- glPixelStore(GL_PACK/UNPACK_SKIP_IMAGES) wasn't handled correctly | ||||
| 	- glXGetProcAddressARB() didn't always return the right address | ||||
| 	- gluBuild[12]DMipmaps() didn't grok the GL_BGR pixel format | ||||
| 	- texture matrix changes weren't always detected (GLUT projtex demo) | ||||
| 	- fixed random color problem in vertex fog code | ||||
| 	- fixed Glide-related bug that let Quake get a 24-bit Z buffer | ||||
|     Changes: | ||||
| 	- finished internal support for compressed textures for DRI | ||||
|  | ||||
|  | ||||
| 3.4.1  February 14, 2001 | ||||
|     New: | ||||
| 	- fixed some Linux build problems | ||||
| 	- fixed some Windows build problems | ||||
| 	- GL_EXT_texture_env_dot3 extension (Gareth Hughes) | ||||
|     Bug fixes: | ||||
| 	- added RENDER_START/RENDER_FINISH macros for glCopyTexImage in DRI | ||||
| 	- various state-update code changes needed for DRI bugs | ||||
| 	- disabled pixel transfer ops in glColorTable commands, not needed | ||||
| 	- fixed bugs in glCopyConvolutionFilter1D/2D, glGetConvolutionFilter | ||||
| 	- updated sources and fixed compile problems in widgets-mesa/ | ||||
| 	- GLX_PBUFFER enum value was wrong in glx.h | ||||
| 	- fixed a glColorMaterial lighting bug | ||||
| 	- fixed bad args to Read/WriteStencilSpan in h/w stencil clear function | ||||
| 	- glXCopySubBufferMESA() Y position was off by one | ||||
| 	- Error checking of glTexSubImage3D() was broken (bug 128775) | ||||
| 	- glPopAttrib() didn't restore all derived Mesa state correctly | ||||
| 	- Better glReadPixels accuracy for 16bpp color - fixes lots of OpenGL | ||||
| 	  conformance problems at 16bpp. | ||||
| 	- clearing depth buffer with scissoring was broken, would segfault | ||||
| 	- OSMesaGetDepthBuffer() returned bad bytesPerValue value | ||||
| 	- fixed a line clipping bug (reported by Craig McDaniel) | ||||
| 	- fixed RGB color over/underflow bug for very tiny triangles | ||||
|     Known problems: | ||||
| 	- NURBS or evaluator surfaces inside display lists don't always work | ||||
|  | ||||
|  | ||||
| 3.4.2  May 17, 2001 | ||||
|     Bug fixes: | ||||
| 	- deleting the currently bound texture could cause bad problems | ||||
| 	- using fog could result in random vertex alpha values | ||||
| 	- AA triangle rendering could touch pixels outside right window bound | ||||
| 	- fixed byteswapping problem in clear_32bit_ximage() function | ||||
| 	- fixed bugs in wglUseFontBitmapsA(), by Frank Warmerdam | ||||
| 	- fixed memory leak in glXUseXFont() | ||||
| 	- fragment sampling in AA triangle function was off by 1/2 pixel | ||||
| 	- Windows: reading pixels from framebuffer didn't always work | ||||
| 	- glConvolutionFilter2D could segfault or cause FP exception | ||||
| 	- fixed segfaults in FX and X drivers when using tex unit 1 but not 0 | ||||
| 	- GL_NAND logicop didn't work right in RGBA mode | ||||
| 	- fixed a memory corruption bug in vertex buffer reset code | ||||
| 	- clearing the softwara alpha buffer with scissoring was broken | ||||
| 	- fixed a few color index mode fog bugs | ||||
| 	- fixed some bad assertions in color index mode | ||||
| 	- fixed FX line 'stipple' bug #420091 | ||||
| 	- fixed stencil buffer clear width/height typo | ||||
| 	- fixed GL error glitches in gl[Client]ActiveTextureARB() | ||||
| 	- fixed Windows compilation problem in texutil.c | ||||
| 	- fixed 1/8-pixel AA triangle sampling error | ||||
|     Changes: | ||||
| 	- optimized writing mono-colored pixel spans to X pixmaps | ||||
| 	- increased max viewport size to 2048 x 2048 | ||||
|  | ||||
|  | ||||
| 3.5  June 21, 2001 | ||||
|     New: | ||||
| 	- internals of Mesa divided into modular pieces (Keith Whitwell) | ||||
| 	- 100% OpenGL 1.2 conformance (passes all conformance tests) | ||||
| 	- new AA line algorithm | ||||
| 	- GL_EXT_convolution extension | ||||
| 	- GL_ARB_imaging subset | ||||
| 	- OSMesaCreateContextExt() function | ||||
| 	- GL_ARB_texture_env_add extension (same as GL_EXT_texture_env_add) | ||||
| 	- GL_MAX_TEXTURE_UNITS_ARB now defaults to eight | ||||
| 	- GL_EXT_fog_coord extension (Keith Whitwell) | ||||
| 	- GL_EXT_secondary_color extension (Keith Whitwell) | ||||
| 	- GL_ARB_texture_env_add extension (same as GL_EXT_texture_env_add) | ||||
| 	- GL_SGIX_depth_texture extension | ||||
| 	- GL_SGIX_shadow and GL_SGIX_shadow_ambient extensions | ||||
| 	- demos/shadowtex.c demo of GL_SGIX_depth_texture and GL_SGIX_shadow | ||||
| 	- GL_ARB_texture_env_combine extension | ||||
| 	- GL_ARB_texture_env_dot3 extension | ||||
| 	- GL_ARB_texture_border_clamp (aka GL_SGIS_texture_border_clamp) | ||||
| 	- OSMesaCreateContextExt() function | ||||
| 	- libOSMesa.so library, contains the OSMesa driver interface | ||||
| 	- GL/glxext.h header file for GLX extensions | ||||
| 	- somewhat faster software texturing, fogging, depth testing | ||||
| 	- all color-index conformance tests now pass (only 8bpp tested) | ||||
| 	- SPARC assembly language TCL optimizations (David Miller) | ||||
| 	- GL_SGIS_generate_mipmap extension | ||||
|     Bug Fixes: | ||||
| 	- fbiRev and tmuRev were unitialized when using Glide3 | ||||
| 	- fixed a few color index mode conformance failures; all pass now | ||||
| 	- now appling antialiasing coverage to alpha after texturing | ||||
| 	- colors weren't getting clamped to [0,1] before color table lookup | ||||
| 	- fixed RISC alignment errors caused by COPY_4UBV macro | ||||
| 	- drawing wide, flat-shaded lines could cause a segfault | ||||
| 	- vertices now snapped to 1/16 pixel to fix rendering of tiny triangles | ||||
|     Changes: | ||||
| 	- SGI's Sample Implementation (SI) 1.3 GLU library replaces Mesa GLU | ||||
| 	- new libOSMesa.so library, contains the OSMesa driver interface | ||||
|  | ||||
|  | ||||
| 4.0  October 22, 2001 | ||||
|     New: | ||||
| 	- Mesa 4.0 implements the OpenGL 1.3 specification | ||||
| 	- GL_IBM_rasterpos_clip extension | ||||
| 	- GL_EXT_texture_edge_clamp extension (aka GL_SGIS_texture_edge_clamp) | ||||
| 	- GL_ARB_texture_mirrored_repeat extension | ||||
| 	- WindML UGL driver (Stephane Raimbault) | ||||
| 	- added OSMESA_MAX_WIDTH/HEIGHT queries | ||||
| 	- attempted compiliation fixes for Solaris 5, 7 and 8 | ||||
| 	- updated glext.h and glxext.h files | ||||
| 	- updated Windows driver (Karl Schultz) | ||||
|     Bug fixes: | ||||
| 	- added some missing GLX 1.3 tokens to include/GL/glx.h | ||||
| 	- GL_COLOR_MATRIX changes weren't recognized by teximage functions | ||||
| 	- glCopyPixels with scale and bias was broken | ||||
| 	- glRasterPos with lighting could segfault | ||||
| 	- glDeleteTextures could leave a dangling pointer | ||||
| 	- Proxy textures for cube maps didn't work | ||||
| 	- fixed a number of 16-bit color channel bugs | ||||
| 	- fixed a few minor memory leaks | ||||
| 	- GLX context sharing was broken in 3.5 | ||||
| 	- fixed state-update bugs in glPopClientAttrib() | ||||
| 	- fixed glDrawRangeElements() bug | ||||
| 	- fixed a glPush/PopAttrib() bug related to texture binding | ||||
| 	- flat-shaded, textured lines were broken | ||||
| 	- fixed a dangling pointer problem in the XMesa code (Chris Burghart) | ||||
| 	- lighting didn't always produce the correct alpha value | ||||
| 	- fixed 3DNow! code to not read past end of arrays (Andrew Lewycky) | ||||
|  | ||||
|  | ||||
| 4.0.1 December 17, 2001 | ||||
|     New: | ||||
| 	- better sub-pixel sample positions for AA triangles (Ray Tice) | ||||
| 	- slightly faster blending for (GL_ZERO, GL_ONE) and (GL_ONE, GL_ZERO) | ||||
|     Bug fixes: | ||||
| 	- added missing break statements in glGet*() for multisample cases | ||||
| 	- fixed uninitialized hash table mutex bug (display lists / texobjs) | ||||
| 	- fixed bad teximage error check conditional (bug 476846) | ||||
| 	- fixed demos readtex.c compilation problem on Windows (Karl Schultz) | ||||
| 	- added missing glGet() query for GL_MAX_TEXTURE_LOD_BIAS_EXT | ||||
| 	- silence some compiler warnings (gcc 2.96) | ||||
| 	- enable the #define GL_VERSION_1_3 in GL/gl.h | ||||
| 	- added GL 1.3 and GLX 1.4 entries to gl_mangle.h and glx_mangle.h | ||||
| 	- fixed glu.h typedef problem found with MSDev 6.0 | ||||
| 	- build libGL.so with -Bsymbolic (fixes bug found with Chromium) | ||||
| 	- added missing 'const' to glXGetContextIDEXT() in glxext.h | ||||
| 	- fixed a few glXGetProcAddress() errors (texture compression, etc) | ||||
| 	- fixed start index bug in compiled vertex arrays (Keith) | ||||
| 	- fixed compilation problems in src/SPARC/glapi_sparc.S | ||||
| 	- fixed triangle strip "parity" bug found in VTK medical1 demo (Keith) | ||||
| 	- use glXGetProcAddressARB in GLUT to avoid extension linking problems | ||||
| 	- provoking vertex of flat-shaded, color-index triangles was wrong | ||||
| 	- fixed a few display list bugs (GLUT walker, molecule, etc) (Keith) | ||||
| 	- glTexParameter didn't flush the vertex buffer (Ray Tice) | ||||
| 	- feedback attributes for glDraw/CopyPixels and glBitmap were wrong | ||||
| 	- fixed bug in normal length caching (ParaView lighting bug) | ||||
| 	- fixed separate_specular color bug found in Chimera (18 Dec 2001) | ||||
|  | ||||
|  | ||||
| 4.0.2  April 2, 2002 | ||||
|     New: | ||||
| 	- New DOS (DJGPP) driver written by Daniel Borca | ||||
| 	- New driver interface functions for TCL drivers (such as Radeon DRI) | ||||
| 	- GL_RENDERER string returns "Mesa Offscreen16" or "Mesa Offscreen32" | ||||
| 	  if using deep color channels | ||||
| 	- latest GL/glext.h and GL/glxext.h headers from SGI | ||||
|     Bug fixes: | ||||
| 	- GL_BLEND with non-black texture env color wasn't always correct | ||||
| 	- GL_REPLACE with GL_RGB texture format wasn't always correct (alpha) | ||||
| 	- glTexEnviv( pname != GL_TEXTURE_ENV_COLOR ) was broken | ||||
| 	- glReadPixels was sometimes mistakenly clipped by the scissor box | ||||
| 	- glDraw/ReadPixels didn't catch all the errors that they should have | ||||
| 	- Fixed 24bpp rendering problem in Windows driver (Karl Schultz) | ||||
| 	- 16-bit GLchan mode fixes (m_trans_tmp.h, s_triangle.c) | ||||
| 	- Fixed 1-bit float->int conversion bug in glDrawPixels(GL_DEPTH_COMP) | ||||
| 	- glColorMask as sometimes effecting glXSwapBuffers() | ||||
| 	- fixed a potential bug in XMesaGarbageCollect() | ||||
| 	- N threads rendering into one window didn't work reliably | ||||
| 	- glCopyPixels didn't work for deep color channels | ||||
| 	- improved 8 -> 16bit/channel texture image conversion (Gerk Huisma) | ||||
| 	- glPopAttrib() didn't correctly restore user clip planes | ||||
| 	- user clip planes failed for some perspective projections (Chromium) | ||||
|     Known bugs: | ||||
| 	- mipmap LOD computation | ||||
|  | ||||
|  | ||||
| 4.0.3  June 25, 2002 | ||||
|     New: | ||||
| 	- updated GL/glext.h file (version 15) | ||||
| 	- corrected MMX blend code (Jose Fonseca) | ||||
| 	- support for software-based alpha planes in Windows driver | ||||
| 	- updated GGI driver (Filip Spacek) | ||||
|     Bug fixes: | ||||
| 	- glext.h had wrong values for GL_DOT3_RGB[A]_EXT tokens | ||||
| 	- OSMesaMakeCurrent() didn't recognize buffer size changes | ||||
| 	- assorted conformance fixes for 16-bit/channel rendering | ||||
| 	- texcombine alpha subtraction mode was broken | ||||
| 	- fixed lighting bug with non-uniform scaling and display lists | ||||
| 	- fixed bug when deleting shared display lists | ||||
| 	- disabled SPARC cliptest assembly code (Mesa bug 544665) | ||||
| 	- fixed a couple Solaris compilation/link problems | ||||
| 	- blending clipped glDrawPixels didn't always work | ||||
| 	- glGetTexImage() didn't accept packed pixel types | ||||
| 	- glPixelMapu[is]v() could explode given too large of pixelmap | ||||
| 	- glGetTexParameter[if]v() didn't accept GL_TEXTURE_MAX_ANISOTROPY_EXT | ||||
| 	- glXCopyContext() could lead to segfaults | ||||
| 	- glCullFace(GL_FRONT_AND_BACK) didn't work (bug 572665) | ||||
|     Changes: | ||||
| 	- lots of C++ (g++) code clean-ups | ||||
| 	- lots of T&L updates for the Radeon DRI driver | ||||
|     Known bugs: | ||||
| 	- mipmap LOD computation (fixed for Mesa 4.1) | ||||
|  | ||||
|  | ||||
| 4.0.4  October 3, 2002 | ||||
|     New: | ||||
| 	- GL_NV_texture_rectangle extension | ||||
| 	- updated glext.h header (version 17) | ||||
| 	- updated DOS driver (Daniel Borca) | ||||
| 	- updated BeOS R5 driver (Philippe Houdoin) | ||||
| 	- added GL_IBM_texture_mirror_repeat | ||||
| 	- glxinfo now takes -l option to print interesting OpenGL limits info | ||||
| 	- GL_MESA_ycbcr_texture extension | ||||
| 	- GL_APPLE_client_storage extension (for some DRI drivers only) | ||||
| 	- GL_MESA_pack_invert extension | ||||
|     Bug fixes: | ||||
| 	- fixed GL_LINEAR fog bug by adding clamping | ||||
| 	- fixed FP exceptions found using Alpha CPU | ||||
| 	- 3dfx MESA_GLX_FX=window (render to window) didn't work | ||||
| 	- fixed memory leak in wglCreateContest (Karl Schultz) | ||||
| 	- define GLAPIENTRY and GLAPI if undefined in glu.h | ||||
| 	- wglGetProcAddress didn't handle all API functions | ||||
| 	- when testing for OpenGL 1.2 vs 1.3, check for GL_ARB_texture_cube_map | ||||
| 	- removed GL_MAX_CONVOLUTION_WIDTH/HEIGHT from glGetInteger/Float/etc() | ||||
| 	- error checking in compressed tex image functions had some glitches | ||||
| 	- fixed AIX compile problem in src/config.c | ||||
| 	- glGetTexImage was using pixel unpacking instead of packing params | ||||
| 	- auto-mipmap generation for cube maps was incorrect | ||||
|     Changes: | ||||
| 	- max texture units reduced to six to accomodate texture rectangles | ||||
| 	- removed unfinished GL_MESA_sprite_point extension code | ||||
|  | ||||
|  | ||||
| 4.1  October 29, 2002 | ||||
|     New: | ||||
| 	- GL_NV_vertex_program extension | ||||
| 	- GL_NV_vertex_program1_1 extension | ||||
| 	- GL_ARB_window_pos extension | ||||
| 	- GL_ARB_depth_texture extension | ||||
| 	- GL_ARB_shadow extension | ||||
| 	- GL_ARB_shadow_ambient extension | ||||
| 	- GL_EXT_shadow_funcs extension | ||||
| 	- GL_ARB_point_parameters extension | ||||
| 	- GL_ARB_texture_env_crossbar | ||||
| 	- GL_NV_point_sprite extension | ||||
| 	- GL_NV_texture_rectangle extension | ||||
| 	- GL_EXT_multi_draw_arrays extension | ||||
| 	- GL_EXT_stencil_two_side extension | ||||
| 	- GLX_SGIX_fbconfig and GLX_SGIX_pbuffer extensions | ||||
| 	- GL_ATI_texture_mirror_once extension (Ian Romanick) | ||||
| 	- massive overhaul/simplification of software rasterizer module, | ||||
| 	  many contributions from Klaus Niederkrueger | ||||
| 	- faster software texturing in some cases (i.e. trilinear filtering) | ||||
| 	- new OSMesaGetProcAddress() function | ||||
| 	- more blend modes implemented with MMX code (Jose Fonseca) | ||||
| 	- added glutGetProcAddress() to GLUT | ||||
| 	- added GLUT_FPS env var to compute frames/second in glutSwapBuffers() | ||||
| 	- pbinfo and pbdemo PBuffer programs | ||||
| 	- glxinfo -v prints transprent pixel info (Gerd Sussner) | ||||
|     Bug fixes: | ||||
| 	- better mipmap LOD computation (prevents excessive blurriness) | ||||
| 	- OSMesaMakeCurrent() didn't recognize buffer size changes | ||||
| 	- assorted conformance fixes for 16-bit/channel rendering | ||||
| 	- texcombine alpha subtraction mode was broken | ||||
| 	- fixed some blend problems when GLchan==GLfloat (Gerk Huisma) | ||||
| 	- clamp colors to [0,inf] in OSMesa if GLchan==GLfloat (Gerk Huisma) | ||||
| 	- fixed divide by zero error in NURBS tessellator (Jon Perry) | ||||
| 	- fixed GL_LINEAR fog bug by adding clamping | ||||
| 	- fixed FP exceptions found using Alpha CPU | ||||
| 	- 3dfx/glide driver render-to-window feature was broken | ||||
| 	- added missing GLX_TRANSPARENT_RGB token to glx.h | ||||
| 	- fixed error checking related to paletted textures | ||||
| 	- fixed reference count error in glDeleteTextures (Randy Fayan) | ||||
|     Changes: | ||||
| 	- New spec file and Python code to generate some GL dispatch files | ||||
| 	- Glide driver defaults to "no" with autoconf/automake | ||||
| 	- updated demos/stex3d with new options | ||||
|  | ||||
|  | ||||
| 5.0  November 13, 2002 | ||||
|     New: | ||||
| 	- OpenGL 1.4 support (glGetString(GL_VERSION) returns "1.4") | ||||
| 	- removed some overlooked debugging code | ||||
| 	- glxinfo updated to support GLX_ARB_multisample | ||||
| 	- GLUT now support GLX_ARB_multisample | ||||
| 	- updated DOS driver (Daniel Borca) | ||||
|     Bug fixes: | ||||
| 	- GL_POINT and GL_LINE-mode polygons didn't obey cull state | ||||
| 	- fixed potential bug in _mesa_align_malloc/calloc() | ||||
| 	- fixed missing triangle bug when running vertex programs | ||||
| 	- fixed a few HPUX compilation problems | ||||
| 	- FX (Glide) driver didn't compile | ||||
| 	- setting GL_TEXTURE_BORDER_COLOR with glTexParameteriv() didn't work | ||||
| 	- a few EXT functions, like glGenTexturesEXT, were no-ops | ||||
| 	- a few OpenGL 1.4 functions like glFogCoord*, glBlendFuncSeparate, | ||||
| 	  glMultiDrawArrays and glMultiDrawElements were missing | ||||
| 	- glGet*(GL_ACTIVE_STENCIL_FACE_EXT) was broken | ||||
| 	- Pentium 4 Mobile was mistakenly identified as having 3DNow! | ||||
| 	- fixed one-bit error in point/line fragment Z calculation | ||||
| 	- fixed potential segfault in fakeglx code | ||||
| 	- fixed color overflow problem in DOT3 texture env mode | ||||
|   | ||||
							
								
								
									
										90
									
								
								docs/index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										90
									
								
								docs/index.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,90 @@ | ||||
| <HTML> | ||||
| <HEAD> | ||||
|   <TITLE>Index to Mesa Documentation</TITLE> | ||||
| </HEAD> | ||||
|  | ||||
| <BODY> | ||||
|  | ||||
| <H1>Main Documentation</H1> | ||||
| <UL> | ||||
| <LI><A HREF="README">README</A> - general, top-level documentation | ||||
| <LI><A HREF="INSTALL">INSTALL</A> - compilation/installation instructions | ||||
| <LI><A HREF="VERSIONS">VERSIONS</A> - version history / change log | ||||
| <LI><A HREF="COPYRIGHT">COPYRIGHT</A> - copyright and license information | ||||
| <LI><A HREF="COPYING">COPYING</A> - some parts of Mesa are GPL'd | ||||
| <LI><A HREF="CONFORM">CONFORM</A> | ||||
|     - results of running the OpenGL conformance tests | ||||
| <LI><A HREF="DEVINFO">DEVINFO</A> - information for Mesa developers | ||||
| <LI><A HREF="http://www.mesa3d.org/">www.mesa3d.org</A> - Mesa website | ||||
| </UL> | ||||
|  | ||||
| <H1>Platform and Driver Information</H1> | ||||
| <P> | ||||
| Be warned, some of these files may be very out of date. | ||||
| </P> | ||||
| <UL> | ||||
| <LI><A HREF="README.X11">README.X11</A> - X Window System / Unix / Linux | ||||
| <LI><A HREF="README.WIN32">README.WIN32</A> - Microsoft Windows | ||||
| <LI><A HREF="README.VMS">README.VMS</A> - DEC VMS | ||||
| <LI><A HREF="README.GGI">README.GGI</A> - GGI | ||||
| <LI><A HREF="README.3DFX">README.3DFX</A> - 3Dfx/Glide driver | ||||
| <LI><A HREF="README.AMIWIN">README.AMIWIN</A> - Amiga Amiwin | ||||
| <LI><A HREF="README.BEOS">README.BEOS</A> - BeOS | ||||
| <LI><A HREF="README.D3D">README.D3D</A> - Direct3D driver | ||||
| <LI><A HREF="README.DJ">README.DJ</A> - DJGPP | ||||
| <LI><A HREF="README.LYNXOS">README.LYNXOS</A> - LynxOS | ||||
| <LI><A HREF="README.MINGW32">README.MINGW32</A> - Mingw32 | ||||
| <LI><A HREF="README.NeXT">README.NeXT</A> - NeXT | ||||
| <LI><A HREF="README.OpenStep">README.OpenStep</A> - OpenStep | ||||
| <LI><A HREF="README.OS2">README.OS2</A> - OS/2 | ||||
| <LI><A HREF="README.WINDML">README.WINDML</A> - WindML | ||||
| </UL> | ||||
|  | ||||
| <H1>Release Notes</H1> | ||||
| <UL> | ||||
| <LI><A HREF="RELNOTES-5.0">RELNOTES-5.0</A> | ||||
| <LI><A HREF="RELNOTES-4.1">RELNOTES-4.1</A> | ||||
| <LI><A HREF="RELNOTES-4.0.3">RELNOTES-4.0.3</A> | ||||
| <LI><A HREF="RELNOTES-4.0.2">RELNOTES-4.0.2</A> | ||||
| <LI><A HREF="RELNOTES-4.0.1">RELNOTES-4.0.1</A> | ||||
| <LI><A HREF="RELNOTES-4.0">RELNOTES-4.0</A> | ||||
| <LI><A HREF="RELNOTES-3.5">RELNOTES-3.5</A> | ||||
| <LI><A HREF="RELNOTES-3.4.2">RELNOTES-3.4.2</A> | ||||
| <LI><A HREF="RELNOTES-3.4.1">RELNOTES-3.4.1</A> | ||||
| <LI><A HREF="RELNOTES-3.4">RELNOTES-3.4</A> | ||||
| <LI><A HREF="RELNOTES-3.3">RELNOTES-3.3</A> | ||||
| <LI><A HREF="RELNOTES-3.2.1">RELNOTES-3.2.1</A> | ||||
| <LI><A HREF="RELNOTES-3.2">RELNOTES-3.2</A> | ||||
| <LI><A HREF="RELNOTES-3.1">RELNOTES-3.1</A> | ||||
| </UL> | ||||
|  | ||||
| <H1>Mesa Extension Specifications</H1> | ||||
| <UL> | ||||
| <LI><A HREF="MESA_agp_offset.spec">MESA_agp_offset.spec</A> | ||||
| <LI><A HREF="MESA_copy_sub_buffer.spec">MESA_copy_sub_buffer.spec</A> | ||||
| <LI><A HREF="MESA_packed_depth_stencil.spec">MESA_packed_depth_stencil.spec</A> | ||||
| <LI><A HREF="MESA_pack_invert.spec">MESA_pack_invert.spec</A> | ||||
| <LI><A HREF="MESA_pixmap_colormap.spec">MESA_pixmap_colormap.spec</A> | ||||
| <LI><A HREF="MESA_release_buffers.spec">MESA_release_buffers.spec</A> | ||||
| <LI><A HREF="MESA_resize_buffers.spec">MESA_resize_buffers.spec</A> | ||||
| <LI><A HREF="MESA_set_3dfx_mode.spec">MESA_set_3dfx_mode.spec</A> | ||||
| <LI><A HREF="MESA_sprite_point.spec">MESA_sprite_point.spec</A> (obsolete) | ||||
| <LI><A HREF="MESA_trace.spec">MESA_trace.spec</A> (obsolete) | ||||
| <LI><A HREF="MESA_window_pos.spec">MESA_window_pos.spec</A> | ||||
| <LI><A HREF="MESA_ycbcr_texture.spec">MESA_ycbcr_texture.spec</A> | ||||
| </UL> | ||||
|  | ||||
| <H1>Source Code Documentation</H1> | ||||
| <P> | ||||
| <A HREF="http://www.doxygen.org">Doxygen</A> is used to automatically | ||||
| produce cross-referenced documentation from the Mesa sources. | ||||
| This is not included in the normal Mesa distribution. | ||||
| Download Mesa from CVS if interested. | ||||
| </P> | ||||
| <P> | ||||
| <A HREF="../doxy/core/index.html">Source documentation</A> | ||||
| </P> | ||||
|  | ||||
|  | ||||
| </BODY> | ||||
| </HTML> | ||||
							
								
								
									
										3579
									
								
								docs/subset.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3579
									
								
								docs/subset.html
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										12
									
								
								doxygen/.cvsignore
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								doxygen/.cvsignore
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | ||||
| *.tag | ||||
| array_cache | ||||
| core | ||||
| core_subset | ||||
| math | ||||
| math_subset | ||||
| miniglx | ||||
| radeon_subset | ||||
| swrast | ||||
| swrast_setup | ||||
| tnl | ||||
| tnl_dd | ||||
							
								
								
									
										10
									
								
								doxygen/README
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								doxygen/README
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | ||||
|  | ||||
| This directory is for doxygen (a source code documentation system). | ||||
|  | ||||
| See http://www.doxygen.org/ for more info. | ||||
|  | ||||
| Either run 'make' (Unix) or 'doxy.bat' (Windows) to run doxygen | ||||
| and generate souce code documentation. | ||||
|  | ||||
| Then, load either doxy/core/index.html or doxy/core_subset/index.html into | ||||
| your web browser. | ||||
							
								
								
									
										183
									
								
								doxygen/array_cache.doxy
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										183
									
								
								doxygen/array_cache.doxy
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,183 @@ | ||||
| # Doxyfile 0.1 | ||||
|  | ||||
| #--------------------------------------------------------------------------- | ||||
| # General configuration options | ||||
| #--------------------------------------------------------------------------- | ||||
| PROJECT_NAME           = "Mesa array_cache" | ||||
| PROJECT_NUMBER         =  | ||||
| OUTPUT_DIRECTORY       =  | ||||
| OUTPUT_LANGUAGE        = English | ||||
| EXTRACT_ALL            = NO | ||||
| EXTRACT_PRIVATE        = NO | ||||
| EXTRACT_STATIC         = NO | ||||
| EXTRACT_LOCAL_CLASSES  = YES | ||||
| HIDE_UNDOC_MEMBERS     = NO | ||||
| HIDE_UNDOC_CLASSES     = NO | ||||
| BRIEF_MEMBER_DESC      = YES | ||||
| REPEAT_BRIEF           = YES | ||||
| ALWAYS_DETAILED_SEC    = NO | ||||
| INLINE_INHERITED_MEMB  = NO | ||||
| FULL_PATH_NAMES        = NO | ||||
| STRIP_FROM_PATH        =  | ||||
| INTERNAL_DOCS          = NO | ||||
| STRIP_CODE_COMMENTS    = YES | ||||
| CASE_SENSE_NAMES       = YES | ||||
| SHORT_NAMES            = NO | ||||
| HIDE_SCOPE_NAMES       = NO | ||||
| VERBATIM_HEADERS       = YES | ||||
| SHOW_INCLUDE_FILES     = YES | ||||
| JAVADOC_AUTOBRIEF      = NO | ||||
| INHERIT_DOCS           = YES | ||||
| INLINE_INFO            = YES | ||||
| SORT_MEMBER_DOCS       = NO | ||||
| DISTRIBUTE_GROUP_DOC   = NO | ||||
| TAB_SIZE               = 8 | ||||
| GENERATE_TODOLIST      = YES | ||||
| GENERATE_TESTLIST      = YES | ||||
| GENERATE_BUGLIST       = YES | ||||
| ALIASES                =  | ||||
| ENABLED_SECTIONS       =  | ||||
| MAX_INITIALIZER_LINES  = 30 | ||||
| OPTIMIZE_OUTPUT_FOR_C  = NO | ||||
| SHOW_USED_FILES        = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to warning and progress messages | ||||
| #--------------------------------------------------------------------------- | ||||
| QUIET                  = YES | ||||
| WARNINGS               = YES | ||||
| WARN_IF_UNDOCUMENTED   = NO | ||||
| WARN_FORMAT            =  | ||||
| WARN_LOGFILE           =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the input files | ||||
| #--------------------------------------------------------------------------- | ||||
| INPUT                  = ../src/array_cache/ | ||||
| FILE_PATTERNS          = *.c \ | ||||
|                          *.h | ||||
| RECURSIVE              = NO | ||||
| EXCLUDE                =  | ||||
| EXCLUDE_PATTERNS       =  | ||||
| EXAMPLE_PATH           =  | ||||
| EXAMPLE_PATTERNS       =  | ||||
| EXAMPLE_RECURSIVE      = NO | ||||
| IMAGE_PATH             =  | ||||
| INPUT_FILTER           =  | ||||
| FILTER_SOURCE_FILES    = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to source browsing | ||||
| #--------------------------------------------------------------------------- | ||||
| SOURCE_BROWSER         = NO | ||||
| INLINE_SOURCES         = NO | ||||
| REFERENCED_BY_RELATION = YES | ||||
| REFERENCES_RELATION    = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the alphabetical class index | ||||
| #--------------------------------------------------------------------------- | ||||
| ALPHABETICAL_INDEX     = YES | ||||
| COLS_IN_ALPHA_INDEX    = 5 | ||||
| IGNORE_PREFIX          =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the HTML output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_HTML          = YES | ||||
| HTML_OUTPUT            = array_cache | ||||
| HTML_HEADER            = header.html | ||||
| HTML_FOOTER            =  | ||||
| HTML_STYLESHEET        =  | ||||
| HTML_ALIGN_MEMBERS     = YES | ||||
| GENERATE_HTMLHELP      = NO | ||||
| GENERATE_CHI           = NO | ||||
| BINARY_TOC             = NO | ||||
| TOC_EXPAND             = NO | ||||
| DISABLE_INDEX          = NO | ||||
| ENUM_VALUES_PER_LINE   = 4 | ||||
| GENERATE_TREEVIEW      = NO | ||||
| TREEVIEW_WIDTH         = 250 | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the LaTeX output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_LATEX         = NO | ||||
| LATEX_OUTPUT           =  | ||||
| COMPACT_LATEX          = NO | ||||
| PAPER_TYPE             = a4wide | ||||
| EXTRA_PACKAGES         =  | ||||
| LATEX_HEADER           =  | ||||
| PDF_HYPERLINKS         = NO | ||||
| USE_PDFLATEX           = NO | ||||
| LATEX_BATCHMODE        = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the RTF output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_RTF           = NO | ||||
| RTF_OUTPUT             =  | ||||
| COMPACT_RTF            = NO | ||||
| RTF_HYPERLINKS         = NO | ||||
| RTF_STYLESHEET_FILE    =  | ||||
| RTF_EXTENSIONS_FILE    =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the man page output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_MAN           = NO | ||||
| MAN_OUTPUT             =  | ||||
| MAN_EXTENSION          =  | ||||
| MAN_LINKS              = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the XML output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_XML           = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options for the AutoGen Definitions output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_AUTOGEN_DEF   = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration options related to the preprocessor    | ||||
| #--------------------------------------------------------------------------- | ||||
| ENABLE_PREPROCESSING   = YES | ||||
| MACRO_EXPANSION        = NO | ||||
| EXPAND_ONLY_PREDEF     = NO | ||||
| SEARCH_INCLUDES        = YES | ||||
| INCLUDE_PATH           =  | ||||
| INCLUDE_FILE_PATTERNS  =  | ||||
| PREDEFINED             =  | ||||
| EXPAND_AS_DEFINED      =  | ||||
| SKIP_FUNCTION_MACROS   = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration::addtions related to external references    | ||||
| #--------------------------------------------------------------------------- | ||||
| TAGFILES               = core.tag=../core \ | ||||
| 			 tnl.tag=../tnl \ | ||||
| 			 swrast_setup.tag=../swrast_setup \ | ||||
| 			 swrast.tag=../swrast \ | ||||
| 			 math.tag=../math \ | ||||
| 			 tnl_dd.tag=../tnl_dd | ||||
| GENERATE_TAGFILE       = array_cache.tag | ||||
| ALLEXTERNALS           = NO | ||||
| PERL_PATH              =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration options related to the dot tool    | ||||
| #--------------------------------------------------------------------------- | ||||
| CLASS_DIAGRAMS         = YES | ||||
| HAVE_DOT               = NO | ||||
| CLASS_GRAPH            = YES | ||||
| COLLABORATION_GRAPH    = YES | ||||
| TEMPLATE_RELATIONS     = YES | ||||
| HIDE_UNDOC_RELATIONS   = YES | ||||
| INCLUDE_GRAPH          = YES | ||||
| INCLUDED_BY_GRAPH      = YES | ||||
| GRAPHICAL_HIERARCHY    = YES | ||||
| DOT_PATH               =  | ||||
| DOTFILE_DIRS           =  | ||||
| MAX_DOT_GRAPH_WIDTH    = 1024 | ||||
| MAX_DOT_GRAPH_HEIGHT   = 1024 | ||||
| GENERATE_LEGEND        = YES | ||||
| DOT_CLEANUP            = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration::addtions related to the search engine    | ||||
| #--------------------------------------------------------------------------- | ||||
| SEARCHENGINE           = NO | ||||
| CGI_NAME               =  | ||||
| CGI_URL                =  | ||||
| DOC_URL                =  | ||||
| DOC_ABSPATH            =  | ||||
| BIN_ABSPATH            =  | ||||
| EXT_DOC_PATHS          =  | ||||
							
								
								
									
										182
									
								
								doxygen/core.doxy
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										182
									
								
								doxygen/core.doxy
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,182 @@ | ||||
| # Doxyfile 0.1 | ||||
|  | ||||
| #--------------------------------------------------------------------------- | ||||
| # General configuration options | ||||
| #--------------------------------------------------------------------------- | ||||
| PROJECT_NAME           = "Mesa Core" | ||||
| PROJECT_NUMBER         =  | ||||
| OUTPUT_DIRECTORY       =  | ||||
| OUTPUT_LANGUAGE        = English | ||||
| EXTRACT_ALL            = NO | ||||
| EXTRACT_PRIVATE        = NO | ||||
| EXTRACT_STATIC         = YES | ||||
| EXTRACT_LOCAL_CLASSES  = YES | ||||
| HIDE_UNDOC_MEMBERS     = NO | ||||
| HIDE_UNDOC_CLASSES     = NO | ||||
| BRIEF_MEMBER_DESC      = YES | ||||
| REPEAT_BRIEF           = YES | ||||
| ALWAYS_DETAILED_SEC    = NO | ||||
| INLINE_INHERITED_MEMB  = NO | ||||
| FULL_PATH_NAMES        = NO | ||||
| STRIP_FROM_PATH        =  | ||||
| INTERNAL_DOCS          = YES | ||||
| STRIP_CODE_COMMENTS    = YES | ||||
| CASE_SENSE_NAMES       = YES | ||||
| SHORT_NAMES            = NO | ||||
| HIDE_SCOPE_NAMES       = NO | ||||
| VERBATIM_HEADERS       = YES | ||||
| SHOW_INCLUDE_FILES     = YES | ||||
| JAVADOC_AUTOBRIEF      = NO | ||||
| INHERIT_DOCS           = YES | ||||
| INLINE_INFO            = YES | ||||
| SORT_MEMBER_DOCS       = NO | ||||
| DISTRIBUTE_GROUP_DOC   = NO | ||||
| TAB_SIZE               = 8 | ||||
| GENERATE_TODOLIST      = YES | ||||
| GENERATE_TESTLIST      = YES | ||||
| GENERATE_BUGLIST       = YES | ||||
| ALIASES                =  | ||||
| ENABLED_SECTIONS       =  | ||||
| MAX_INITIALIZER_LINES  = 30 | ||||
| OPTIMIZE_OUTPUT_FOR_C  = NO | ||||
| SHOW_USED_FILES        = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to warning and progress messages | ||||
| #--------------------------------------------------------------------------- | ||||
| QUIET                  = YES | ||||
| WARNINGS               = YES | ||||
| WARN_IF_UNDOCUMENTED   = NO | ||||
| WARN_FORMAT            =  | ||||
| WARN_LOGFILE           =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the input files | ||||
| #--------------------------------------------------------------------------- | ||||
| INPUT                  = ../src/ | ||||
| FILE_PATTERNS          = *.c *.h | ||||
| RECURSIVE              = NO | ||||
| EXCLUDE                = ../src/glapitemp.h ../src/glapioffsets.h | ||||
| EXCLUDE_PATTERNS       = subset_* | ||||
| EXAMPLE_PATH           =  | ||||
| EXAMPLE_PATTERNS       =  | ||||
| EXAMPLE_RECURSIVE      = NO | ||||
| IMAGE_PATH             =  | ||||
| INPUT_FILTER           =  | ||||
| FILTER_SOURCE_FILES    = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to source browsing | ||||
| #--------------------------------------------------------------------------- | ||||
| SOURCE_BROWSER         = YES | ||||
| INLINE_SOURCES         = NO | ||||
| REFERENCED_BY_RELATION = YES | ||||
| REFERENCES_RELATION    = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the alphabetical class index | ||||
| #--------------------------------------------------------------------------- | ||||
| ALPHABETICAL_INDEX     = NO | ||||
| COLS_IN_ALPHA_INDEX    = 5 | ||||
| IGNORE_PREFIX          =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the HTML output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_HTML          = YES | ||||
| HTML_OUTPUT            = core | ||||
| HTML_HEADER            = header.html | ||||
| HTML_FOOTER            =  | ||||
| HTML_STYLESHEET        =  | ||||
| HTML_ALIGN_MEMBERS     = YES | ||||
| GENERATE_HTMLHELP      = NO | ||||
| GENERATE_CHI           = NO | ||||
| BINARY_TOC             = NO | ||||
| TOC_EXPAND             = NO | ||||
| DISABLE_INDEX          = NO | ||||
| ENUM_VALUES_PER_LINE   = 4 | ||||
| GENERATE_TREEVIEW      = NO | ||||
| TREEVIEW_WIDTH         = 250 | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the LaTeX output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_LATEX         = NO | ||||
| LATEX_OUTPUT           =  | ||||
| COMPACT_LATEX          = NO | ||||
| PAPER_TYPE             = a4wide | ||||
| EXTRA_PACKAGES         =  | ||||
| LATEX_HEADER           =  | ||||
| PDF_HYPERLINKS         = NO | ||||
| USE_PDFLATEX           = NO | ||||
| LATEX_BATCHMODE        = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the RTF output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_RTF           = NO | ||||
| RTF_OUTPUT             =  | ||||
| COMPACT_RTF            = NO | ||||
| RTF_HYPERLINKS         = NO | ||||
| RTF_STYLESHEET_FILE    =  | ||||
| RTF_EXTENSIONS_FILE    =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the man page output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_MAN           = NO | ||||
| MAN_OUTPUT             =  | ||||
| MAN_EXTENSION          =  | ||||
| MAN_LINKS              = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the XML output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_XML           = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options for the AutoGen Definitions output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_AUTOGEN_DEF   = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration options related to the preprocessor    | ||||
| #--------------------------------------------------------------------------- | ||||
| ENABLE_PREPROCESSING   = YES | ||||
| MACRO_EXPANSION        = YES | ||||
| EXPAND_ONLY_PREDEF     = YES | ||||
| SEARCH_INCLUDES        = YES | ||||
| INCLUDE_PATH           = ../include/ | ||||
| INCLUDE_FILE_PATTERNS  =  | ||||
| PREDEFINED             = _HAVE_FULL_GL=1 | ||||
| EXPAND_AS_DEFINED      = _glthread_DECLARE_STATIC_MUTEX | ||||
| SKIP_FUNCTION_MACROS   = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration::addtions related to external references    | ||||
| #--------------------------------------------------------------------------- | ||||
| TAGFILES		= tnl_dd.tag=../tnl_dd \ | ||||
| 			 array_cache.tag=../array_cache \ | ||||
|                          math.tag=../math \ | ||||
|                          swrast.tag=../swrast \ | ||||
|                          swrast_setup.tag=../swrast_setup \ | ||||
|                          tnl.tag=../tnl | ||||
| GENERATE_TAGFILE       = core.tag | ||||
| ALLEXTERNALS           = NO | ||||
| PERL_PATH              =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration options related to the dot tool    | ||||
| #--------------------------------------------------------------------------- | ||||
| CLASS_DIAGRAMS         = NO | ||||
| HAVE_DOT               = NO | ||||
| CLASS_GRAPH            = YES | ||||
| COLLABORATION_GRAPH    = YES | ||||
| TEMPLATE_RELATIONS     = YES | ||||
| HIDE_UNDOC_RELATIONS   = YES | ||||
| INCLUDE_GRAPH          = YES | ||||
| INCLUDED_BY_GRAPH      = YES | ||||
| GRAPHICAL_HIERARCHY    = YES | ||||
| DOT_PATH               =  | ||||
| DOTFILE_DIRS           =  | ||||
| MAX_DOT_GRAPH_WIDTH    = 1024 | ||||
| MAX_DOT_GRAPH_HEIGHT   = 1024 | ||||
| GENERATE_LEGEND        = YES | ||||
| DOT_CLEANUP            = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration::addtions related to the search engine    | ||||
| #--------------------------------------------------------------------------- | ||||
| SEARCHENGINE           = NO | ||||
| CGI_NAME               =  | ||||
| CGI_URL                =  | ||||
| DOC_URL                =  | ||||
| DOC_ABSPATH            =  | ||||
| BIN_ABSPATH            =  | ||||
| EXT_DOC_PATHS          =  | ||||
							
								
								
									
										226
									
								
								doxygen/core_subset.doxy
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										226
									
								
								doxygen/core_subset.doxy
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,226 @@ | ||||
| # Doxyfile 0.1 | ||||
|  | ||||
| #--------------------------------------------------------------------------- | ||||
| # General configuration options | ||||
| #--------------------------------------------------------------------------- | ||||
| PROJECT_NAME           = "Mesa Core" | ||||
| PROJECT_NUMBER         =  | ||||
| OUTPUT_DIRECTORY       =  | ||||
| OUTPUT_LANGUAGE        = English | ||||
| EXTRACT_ALL            = NO | ||||
| EXTRACT_PRIVATE        = NO | ||||
| EXTRACT_STATIC         = YES | ||||
| EXTRACT_LOCAL_CLASSES  = YES | ||||
| HIDE_UNDOC_MEMBERS     = NO | ||||
| HIDE_UNDOC_CLASSES     = NO | ||||
| BRIEF_MEMBER_DESC      = YES | ||||
| REPEAT_BRIEF           = YES | ||||
| ALWAYS_DETAILED_SEC    = NO | ||||
| INLINE_INHERITED_MEMB  = NO | ||||
| FULL_PATH_NAMES        = NO | ||||
| STRIP_FROM_PATH        =  | ||||
| INTERNAL_DOCS          = YES | ||||
| STRIP_CODE_COMMENTS    = YES | ||||
| CASE_SENSE_NAMES       = YES | ||||
| SHORT_NAMES            = NO | ||||
| HIDE_SCOPE_NAMES       = NO | ||||
| VERBATIM_HEADERS       = YES | ||||
| SHOW_INCLUDE_FILES     = YES | ||||
| JAVADOC_AUTOBRIEF      = NO | ||||
| INHERIT_DOCS           = YES | ||||
| INLINE_INFO            = YES | ||||
| SORT_MEMBER_DOCS       = NO | ||||
| DISTRIBUTE_GROUP_DOC   = NO | ||||
| TAB_SIZE               = 8 | ||||
| GENERATE_TODOLIST      = YES | ||||
| GENERATE_TESTLIST      = YES | ||||
| GENERATE_BUGLIST       = YES | ||||
| ALIASES                =  | ||||
| ENABLED_SECTIONS       = subset | ||||
| MAX_INITIALIZER_LINES  = 30 | ||||
| OPTIMIZE_OUTPUT_FOR_C  = NO | ||||
| SHOW_USED_FILES        = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to warning and progress messages | ||||
| #--------------------------------------------------------------------------- | ||||
| QUIET                  = YES | ||||
| WARNINGS               = YES | ||||
| WARN_IF_UNDOCUMENTED   = NO | ||||
| WARN_FORMAT            =  | ||||
| WARN_LOGFILE           =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the input files | ||||
| #--------------------------------------------------------------------------- | ||||
| INPUT                  = ../src/ | ||||
| FILE_PATTERNS          = \ | ||||
| 			accum.h \ | ||||
| 			attrib.h \ | ||||
| 			blend.[ch] \ | ||||
| 			buffers.[ch] \ | ||||
| 			dd.h \ | ||||
| 			debug.h \ | ||||
| 			depth.h \ | ||||
| 			dlist.h \ | ||||
| 			context.[ch] \ | ||||
| 			config.h \ | ||||
| 			colormac.h \ | ||||
| 			colortab.h \ | ||||
| 			enable.h \ | ||||
| 			enums.h \ | ||||
| 			eval.h \ | ||||
| 			extensions.h \ | ||||
| 			feedback.[ch] \ | ||||
| 			fog.h \ | ||||
| 			get.h \ | ||||
| 			glheader.h \ | ||||
| 			glthread.h \ | ||||
| 			hash.[ch] \ | ||||
| 			hint.h \ | ||||
| 			histogram.h \ | ||||
| 			image.[ch] \ | ||||
| 			imports.[ch] \ | ||||
| 			lines.[ch] \ | ||||
| 			light.h \ | ||||
| 			matrix.[ch] \ | ||||
| 			macros.h \ | ||||
| 			mmath.h \ | ||||
| 			mtypes.h \ | ||||
| 			pixel.h \ | ||||
| 			points.[ch] \ | ||||
| 			polygon.[ch] \ | ||||
| 			rastpos.[ch] \ | ||||
| 			simple_list.h \ | ||||
| 			state.[ch] \ | ||||
| 			stencil.[ch] \ | ||||
| 			subset_*.c \ | ||||
| 			texformat.h \ | ||||
| 			teximage.h \ | ||||
| 			texstate.h \ | ||||
| 			texstore.h \ | ||||
| 			texobj.[ch] \ | ||||
| 			texutil_tmp.h \ | ||||
| 			varray.h | ||||
| RECURSIVE              = NO | ||||
| EXCLUDE                =  | ||||
| EXCLUDE_PATTERNS       =  | ||||
| EXAMPLE_PATH           =  | ||||
| EXAMPLE_PATTERNS       =  | ||||
| EXAMPLE_RECURSIVE      = NO | ||||
| IMAGE_PATH             =  | ||||
| INPUT_FILTER           =  | ||||
| FILTER_SOURCE_FILES    = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to source browsing | ||||
| #--------------------------------------------------------------------------- | ||||
| SOURCE_BROWSER         = YES | ||||
| INLINE_SOURCES         = NO | ||||
| REFERENCED_BY_RELATION = YES | ||||
| REFERENCES_RELATION    = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the alphabetical class index | ||||
| #--------------------------------------------------------------------------- | ||||
| ALPHABETICAL_INDEX     = NO | ||||
| COLS_IN_ALPHA_INDEX    = 5 | ||||
| IGNORE_PREFIX          =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the HTML output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_HTML          = YES | ||||
| HTML_OUTPUT            = core_subset | ||||
| HTML_HEADER            = header_subset.html | ||||
| HTML_FOOTER            =  | ||||
| HTML_STYLESHEET        =  | ||||
| HTML_ALIGN_MEMBERS     = YES | ||||
| GENERATE_HTMLHELP      = NO | ||||
| GENERATE_CHI           = NO | ||||
| BINARY_TOC             = NO | ||||
| TOC_EXPAND             = NO | ||||
| DISABLE_INDEX          = NO | ||||
| ENUM_VALUES_PER_LINE   = 4 | ||||
| GENERATE_TREEVIEW      = NO | ||||
| TREEVIEW_WIDTH         = 250 | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the LaTeX output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_LATEX         = NO | ||||
| LATEX_OUTPUT           =  | ||||
| COMPACT_LATEX          = NO | ||||
| PAPER_TYPE             = a4wide | ||||
| EXTRA_PACKAGES         =  | ||||
| LATEX_HEADER           =  | ||||
| PDF_HYPERLINKS         = NO | ||||
| USE_PDFLATEX           = NO | ||||
| LATEX_BATCHMODE        = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the RTF output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_RTF           = NO | ||||
| RTF_OUTPUT             =  | ||||
| COMPACT_RTF            = NO | ||||
| RTF_HYPERLINKS         = NO | ||||
| RTF_STYLESHEET_FILE    =  | ||||
| RTF_EXTENSIONS_FILE    =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the man page output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_MAN           = NO | ||||
| MAN_OUTPUT             =  | ||||
| MAN_EXTENSION          =  | ||||
| MAN_LINKS              = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the XML output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_XML           = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options for the AutoGen Definitions output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_AUTOGEN_DEF   = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration options related to the preprocessor    | ||||
| #--------------------------------------------------------------------------- | ||||
| ENABLE_PREPROCESSING   = YES | ||||
| MACRO_EXPANSION        = NO | ||||
| EXPAND_ONLY_PREDEF     = NO | ||||
| SEARCH_INCLUDES        = YES | ||||
| INCLUDE_PATH           = ../include/ | ||||
| INCLUDE_FILE_PATTERNS  =  | ||||
| PREDEFINED             =  | ||||
| EXPAND_AS_DEFINED      =  | ||||
| SKIP_FUNCTION_MACROS   = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration::addtions related to external references    | ||||
| #--------------------------------------------------------------------------- | ||||
| TAGFILES		= \ | ||||
| 			 math_subset.tag=../math_subset \ | ||||
| 			 miniglx.tag=../miniglx | ||||
| GENERATE_TAGFILE       = core_subset.tag | ||||
| ALLEXTERNALS           = NO | ||||
| PERL_PATH              =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration options related to the dot tool    | ||||
| #--------------------------------------------------------------------------- | ||||
| CLASS_DIAGRAMS         = NO | ||||
| HAVE_DOT               = NO | ||||
| CLASS_GRAPH            = YES | ||||
| COLLABORATION_GRAPH    = YES | ||||
| TEMPLATE_RELATIONS     = YES | ||||
| HIDE_UNDOC_RELATIONS   = YES | ||||
| INCLUDE_GRAPH          = YES | ||||
| INCLUDED_BY_GRAPH      = YES | ||||
| GRAPHICAL_HIERARCHY    = YES | ||||
| DOT_PATH               =  | ||||
| DOTFILE_DIRS           =  | ||||
| MAX_DOT_GRAPH_WIDTH    = 1024 | ||||
| MAX_DOT_GRAPH_HEIGHT   = 1024 | ||||
| GENERATE_LEGEND        = YES | ||||
| DOT_CLEANUP            = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration::addtions related to the search engine    | ||||
| #--------------------------------------------------------------------------- | ||||
| SEARCHENGINE           = NO | ||||
| CGI_NAME               =  | ||||
| CGI_URL                =  | ||||
| DOC_URL                =  | ||||
| DOC_ABSPATH            =  | ||||
| BIN_ABSPATH            =  | ||||
| EXT_DOC_PATHS          =  | ||||
							
								
								
									
										14
									
								
								doxygen/doxy.bat
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								doxygen/doxy.bat
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | ||||
| doxygen tnl_dd.doxy | ||||
| doxygen array_cache.doxy | ||||
| doxygen math.doxy | ||||
| doxygen swrast.doxy | ||||
| doxygen swrast_setup.doxy | ||||
| doxygen tnl.doxy | ||||
| doxygen core.doxy | ||||
| echo Building again, to resolve tags | ||||
| doxygen tnl_dd.doxy | ||||
| doxygen array_cache.doxy | ||||
| doxygen math.doxy | ||||
| doxygen swrast.doxy | ||||
| doxygen swrast_setup.doxy | ||||
| doxygen tnl.doxy | ||||
							
								
								
									
										12
									
								
								doxygen/header.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								doxygen/header.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | ||||
| <html><head><title>Mesa Source Code Documentation</title> | ||||
| <link href="doxygen.css" rel="stylesheet" type="text/css"> | ||||
| </head> | ||||
| <body><center> | ||||
| <a href="../core/index.html">Mesa Core</a>  | ||||
| <a href="../array_cache/index.html">array_cache</a>  | ||||
| <a href="../math/index.html">math</a>  | ||||
| <a href="../swrast/index.html">swrast</a>  | ||||
| <a href="../swrast_setup/index.html">swrast_setup</a>  | ||||
| <a href="../tnl/index.html">tnl</a>  | ||||
| <a href="../tnl_dd/index.html">tnl_dd</a>  | ||||
| </center> | ||||
							
								
								
									
										9
									
								
								doxygen/header_subset.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								doxygen/header_subset.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | ||||
| <html><head><title>Mesa Source Code Documentation</title> | ||||
| <link href="doxygen.css" rel="stylesheet" type="text/css"> | ||||
| </head> | ||||
| <body><center> | ||||
| <a href="../core_subset/index.html">Mesa Core</a>  | ||||
| <a href="../math_subset/index.html">math</a>  | ||||
| <a href="../miniglx/index.html">MiniGLX</a>  | ||||
| <a href="../radeon_subset/index.html">radeon_subset</a>  | ||||
| </center> | ||||
							
								
								
									
										44
									
								
								doxygen/makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								doxygen/makefile
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,44 @@ | ||||
| default: subset | ||||
|  | ||||
| full: | ||||
| 	doxygen tnl_dd.doxy | ||||
| 	doxygen array_cache.doxy | ||||
| 	doxygen math.doxy | ||||
| 	doxygen swrast.doxy | ||||
| 	doxygen swrast_setup.doxy | ||||
| 	doxygen tnl.doxy | ||||
| 	doxygen core.doxy | ||||
| 	echo "Building again, to resolve tags" | ||||
| 	doxygen tnl_dd.doxy | ||||
| 	doxygen array_cache.doxy | ||||
| 	doxygen math.doxy | ||||
| 	doxygen swrast.doxy | ||||
| 	doxygen swrast_setup.doxy | ||||
| 	doxygen tnl.doxy | ||||
| 	doxygen core.doxy | ||||
|  | ||||
| subset: | ||||
| 	doxygen core_subset.doxy | ||||
| 	doxygen math_subset.doxy | ||||
| 	doxygen miniglx.doxy | ||||
| 	echo "Building again, to resolve tags" | ||||
| 	doxygen core_subset.doxy | ||||
| 	doxygen math_subset.doxy | ||||
| 	doxygen miniglx.doxy | ||||
| 	doxygen radeon_subset.doxy | ||||
|  | ||||
| clean: | ||||
| 	rm -rf \ | ||||
| 		array_cache \ | ||||
| 		core \ | ||||
| 		core_subset \ | ||||
| 		math \ | ||||
| 		math_subset \ | ||||
| 		swrast \ | ||||
| 		swrast_setup \ | ||||
| 		tnl_dd \ | ||||
| 		tnl \ | ||||
| 		miniglx \ | ||||
| 		radeon_subset | ||||
| 	rm -rf *.tag | ||||
|  | ||||
							
								
								
									
										183
									
								
								doxygen/math.doxy
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										183
									
								
								doxygen/math.doxy
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,183 @@ | ||||
| # Doxyfile 0.1 | ||||
|  | ||||
| #--------------------------------------------------------------------------- | ||||
| # General configuration options | ||||
| #--------------------------------------------------------------------------- | ||||
| PROJECT_NAME           = "Mesa math module" | ||||
| PROJECT_NUMBER         =  | ||||
| OUTPUT_DIRECTORY       = . | ||||
| OUTPUT_LANGUAGE        = English | ||||
| EXTRACT_ALL            = YES | ||||
| EXTRACT_PRIVATE        = NO | ||||
| EXTRACT_STATIC         = YES | ||||
| EXTRACT_LOCAL_CLASSES  = YES | ||||
| HIDE_UNDOC_MEMBERS     = NO | ||||
| HIDE_UNDOC_CLASSES     = NO | ||||
| BRIEF_MEMBER_DESC      = YES | ||||
| REPEAT_BRIEF           = YES | ||||
| ALWAYS_DETAILED_SEC    = NO | ||||
| INLINE_INHERITED_MEMB  = NO | ||||
| FULL_PATH_NAMES        = NO | ||||
| STRIP_FROM_PATH        =  | ||||
| INTERNAL_DOCS          = NO | ||||
| STRIP_CODE_COMMENTS    = YES | ||||
| CASE_SENSE_NAMES       = YES | ||||
| SHORT_NAMES            = NO | ||||
| HIDE_SCOPE_NAMES       = NO | ||||
| VERBATIM_HEADERS       = YES | ||||
| SHOW_INCLUDE_FILES     = YES | ||||
| JAVADOC_AUTOBRIEF      = NO | ||||
| INHERIT_DOCS           = YES | ||||
| INLINE_INFO            = YES | ||||
| SORT_MEMBER_DOCS       = NO | ||||
| DISTRIBUTE_GROUP_DOC   = NO | ||||
| TAB_SIZE               = 8 | ||||
| GENERATE_TODOLIST      = YES | ||||
| GENERATE_TESTLIST      = YES | ||||
| GENERATE_BUGLIST       = YES | ||||
| ALIASES                =  | ||||
| ENABLED_SECTIONS       =  | ||||
| MAX_INITIALIZER_LINES  = 30 | ||||
| OPTIMIZE_OUTPUT_FOR_C  = YES | ||||
| SHOW_USED_FILES        = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to warning and progress messages | ||||
| #--------------------------------------------------------------------------- | ||||
| QUIET                  = YES | ||||
| WARNINGS               = YES | ||||
| WARN_IF_UNDOCUMENTED   = YES | ||||
| WARN_FORMAT            =  | ||||
| WARN_LOGFILE           =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the input files | ||||
| #--------------------------------------------------------------------------- | ||||
| INPUT                  = ../src/math/ | ||||
| FILE_PATTERNS          = *.c \ | ||||
|                          *.h | ||||
| RECURSIVE              = NO | ||||
| EXCLUDE                =  | ||||
| EXCLUDE_PATTERNS       =  | ||||
| EXAMPLE_PATH           =  | ||||
| EXAMPLE_PATTERNS       =  | ||||
| EXAMPLE_RECURSIVE      = NO | ||||
| IMAGE_PATH             =  | ||||
| INPUT_FILTER           =  | ||||
| FILTER_SOURCE_FILES    = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to source browsing | ||||
| #--------------------------------------------------------------------------- | ||||
| SOURCE_BROWSER         = NO | ||||
| INLINE_SOURCES         = NO | ||||
| REFERENCED_BY_RELATION = YES | ||||
| REFERENCES_RELATION    = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the alphabetical class index | ||||
| #--------------------------------------------------------------------------- | ||||
| ALPHABETICAL_INDEX     = NO | ||||
| COLS_IN_ALPHA_INDEX    = 5 | ||||
| IGNORE_PREFIX          =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the HTML output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_HTML          = YES | ||||
| HTML_OUTPUT            = math | ||||
| HTML_HEADER            = header.html | ||||
| HTML_FOOTER            =  | ||||
| HTML_STYLESHEET        =  | ||||
| HTML_ALIGN_MEMBERS     = YES | ||||
| GENERATE_HTMLHELP      = NO | ||||
| GENERATE_CHI           = NO | ||||
| BINARY_TOC             = NO | ||||
| TOC_EXPAND             = NO | ||||
| DISABLE_INDEX          = NO | ||||
| ENUM_VALUES_PER_LINE   = 4 | ||||
| GENERATE_TREEVIEW      = NO | ||||
| TREEVIEW_WIDTH         = 250 | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the LaTeX output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_LATEX         = NO | ||||
| LATEX_OUTPUT           =  | ||||
| COMPACT_LATEX          = NO | ||||
| PAPER_TYPE             = a4wide | ||||
| EXTRA_PACKAGES         =  | ||||
| LATEX_HEADER           =  | ||||
| PDF_HYPERLINKS         = NO | ||||
| USE_PDFLATEX           = NO | ||||
| LATEX_BATCHMODE        = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the RTF output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_RTF           = NO | ||||
| RTF_OUTPUT             =  | ||||
| COMPACT_RTF            = NO | ||||
| RTF_HYPERLINKS         = NO | ||||
| RTF_STYLESHEET_FILE    =  | ||||
| RTF_EXTENSIONS_FILE    =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the man page output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_MAN           = NO | ||||
| MAN_OUTPUT             =  | ||||
| MAN_EXTENSION          =  | ||||
| MAN_LINKS              = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the XML output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_XML           = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options for the AutoGen Definitions output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_AUTOGEN_DEF   = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration options related to the preprocessor    | ||||
| #--------------------------------------------------------------------------- | ||||
| ENABLE_PREPROCESSING   = YES | ||||
| MACRO_EXPANSION        = NO | ||||
| EXPAND_ONLY_PREDEF     = NO | ||||
| SEARCH_INCLUDES        = YES | ||||
| INCLUDE_PATH           =  | ||||
| INCLUDE_FILE_PATTERNS  =  | ||||
| PREDEFINED             =  | ||||
| EXPAND_AS_DEFINED      =  | ||||
| SKIP_FUNCTION_MACROS   = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration::addtions related to external references    | ||||
| #--------------------------------------------------------------------------- | ||||
| TAGFILES               = tnl_dd.tag=../tnl_dd \ | ||||
|                          core.tag=../core \ | ||||
|                          swrast.tag=../swrast \ | ||||
|                          swrast_setup.tag=../swrast_setup \ | ||||
|                          tnl.tag=../tnl \ | ||||
|                          array_cache.tag=../array_cache | ||||
| GENERATE_TAGFILE       = math.tag | ||||
| ALLEXTERNALS           = NO | ||||
| PERL_PATH              =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration options related to the dot tool    | ||||
| #--------------------------------------------------------------------------- | ||||
| CLASS_DIAGRAMS         = YES | ||||
| HAVE_DOT               = NO | ||||
| CLASS_GRAPH            = YES | ||||
| COLLABORATION_GRAPH    = YES | ||||
| TEMPLATE_RELATIONS     = YES | ||||
| HIDE_UNDOC_RELATIONS   = YES | ||||
| INCLUDE_GRAPH          = YES | ||||
| INCLUDED_BY_GRAPH      = YES | ||||
| GRAPHICAL_HIERARCHY    = YES | ||||
| DOT_PATH               =  | ||||
| DOTFILE_DIRS           =  | ||||
| MAX_DOT_GRAPH_WIDTH    = 1024 | ||||
| MAX_DOT_GRAPH_HEIGHT   = 1024 | ||||
| GENERATE_LEGEND        = YES | ||||
| DOT_CLEANUP            = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration::addtions related to the search engine    | ||||
| #--------------------------------------------------------------------------- | ||||
| SEARCHENGINE           = NO | ||||
| CGI_NAME               =  | ||||
| CGI_URL                =  | ||||
| DOC_URL                =  | ||||
| DOC_ABSPATH            =  | ||||
| BIN_ABSPATH            =  | ||||
| EXT_DOC_PATHS          =  | ||||
							
								
								
									
										177
									
								
								doxygen/math_subset.doxy
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										177
									
								
								doxygen/math_subset.doxy
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,177 @@ | ||||
| # Doxyfile 0.1 | ||||
|  | ||||
| #--------------------------------------------------------------------------- | ||||
| # General configuration options | ||||
| #--------------------------------------------------------------------------- | ||||
| PROJECT_NAME           = "Mesa math module" | ||||
| PROJECT_NUMBER         =  | ||||
| OUTPUT_DIRECTORY       = . | ||||
| OUTPUT_LANGUAGE        = English | ||||
| EXTRACT_ALL            = NO | ||||
| EXTRACT_PRIVATE        = NO | ||||
| EXTRACT_STATIC         = YES | ||||
| EXTRACT_LOCAL_CLASSES  = YES | ||||
| HIDE_UNDOC_MEMBERS     = NO | ||||
| HIDE_UNDOC_CLASSES     = NO | ||||
| BRIEF_MEMBER_DESC      = YES | ||||
| REPEAT_BRIEF           = YES | ||||
| ALWAYS_DETAILED_SEC    = NO | ||||
| INLINE_INHERITED_MEMB  = NO | ||||
| FULL_PATH_NAMES        = NO | ||||
| STRIP_FROM_PATH        =  | ||||
| INTERNAL_DOCS          = NO | ||||
| STRIP_CODE_COMMENTS    = YES | ||||
| CASE_SENSE_NAMES       = YES | ||||
| SHORT_NAMES            = NO | ||||
| HIDE_SCOPE_NAMES       = NO | ||||
| VERBATIM_HEADERS       = YES | ||||
| SHOW_INCLUDE_FILES     = YES | ||||
| JAVADOC_AUTOBRIEF      = NO | ||||
| INHERIT_DOCS           = YES | ||||
| INLINE_INFO            = YES | ||||
| SORT_MEMBER_DOCS       = NO | ||||
| DISTRIBUTE_GROUP_DOC   = NO | ||||
| TAB_SIZE               = 8 | ||||
| GENERATE_TODOLIST      = YES | ||||
| GENERATE_TESTLIST      = YES | ||||
| GENERATE_BUGLIST       = YES | ||||
| ALIASES                =  | ||||
| ENABLED_SECTIONS       =  | ||||
| MAX_INITIALIZER_LINES  = 30 | ||||
| OPTIMIZE_OUTPUT_FOR_C  = YES | ||||
| SHOW_USED_FILES        = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to warning and progress messages | ||||
| #--------------------------------------------------------------------------- | ||||
| QUIET                  = YES | ||||
| WARNINGS               = YES | ||||
| WARN_IF_UNDOCUMENTED   = YES | ||||
| WARN_FORMAT            =  | ||||
| WARN_LOGFILE           =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the input files | ||||
| #--------------------------------------------------------------------------- | ||||
| INPUT                  = ../src/math/ | ||||
| FILE_PATTERNS          = m_matrix.[ch] | ||||
| RECURSIVE              = NO | ||||
| EXCLUDE                =  | ||||
| EXCLUDE_PATTERNS       =  | ||||
| EXAMPLE_PATH           =  | ||||
| EXAMPLE_PATTERNS       =  | ||||
| EXAMPLE_RECURSIVE      = NO | ||||
| IMAGE_PATH             =  | ||||
| INPUT_FILTER           =  | ||||
| FILTER_SOURCE_FILES    = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to source browsing | ||||
| #--------------------------------------------------------------------------- | ||||
| SOURCE_BROWSER         = NO | ||||
| INLINE_SOURCES         = NO | ||||
| REFERENCED_BY_RELATION = YES | ||||
| REFERENCES_RELATION    = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the alphabetical class index | ||||
| #--------------------------------------------------------------------------- | ||||
| ALPHABETICAL_INDEX     = NO | ||||
| COLS_IN_ALPHA_INDEX    = 5 | ||||
| IGNORE_PREFIX          =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the HTML output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_HTML          = YES | ||||
| HTML_OUTPUT            = math_subset | ||||
| HTML_HEADER            = header_subset.html | ||||
| HTML_FOOTER            =  | ||||
| HTML_STYLESHEET        =  | ||||
| HTML_ALIGN_MEMBERS     = YES | ||||
| GENERATE_HTMLHELP      = NO | ||||
| GENERATE_CHI           = NO | ||||
| BINARY_TOC             = NO | ||||
| TOC_EXPAND             = NO | ||||
| DISABLE_INDEX          = NO | ||||
| ENUM_VALUES_PER_LINE   = 4 | ||||
| GENERATE_TREEVIEW      = NO | ||||
| TREEVIEW_WIDTH         = 250 | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the LaTeX output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_LATEX         = NO | ||||
| LATEX_OUTPUT           =  | ||||
| COMPACT_LATEX          = NO | ||||
| PAPER_TYPE             = a4wide | ||||
| EXTRA_PACKAGES         =  | ||||
| LATEX_HEADER           =  | ||||
| PDF_HYPERLINKS         = NO | ||||
| USE_PDFLATEX           = NO | ||||
| LATEX_BATCHMODE        = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the RTF output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_RTF           = NO | ||||
| RTF_OUTPUT             =  | ||||
| COMPACT_RTF            = NO | ||||
| RTF_HYPERLINKS         = NO | ||||
| RTF_STYLESHEET_FILE    =  | ||||
| RTF_EXTENSIONS_FILE    =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the man page output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_MAN           = NO | ||||
| MAN_OUTPUT             =  | ||||
| MAN_EXTENSION          =  | ||||
| MAN_LINKS              = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the XML output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_XML           = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options for the AutoGen Definitions output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_AUTOGEN_DEF   = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration options related to the preprocessor    | ||||
| #--------------------------------------------------------------------------- | ||||
| ENABLE_PREPROCESSING   = YES | ||||
| MACRO_EXPANSION        = NO | ||||
| EXPAND_ONLY_PREDEF     = NO | ||||
| SEARCH_INCLUDES        = YES | ||||
| INCLUDE_PATH           =  | ||||
| INCLUDE_FILE_PATTERNS  =  | ||||
| PREDEFINED             =  | ||||
| EXPAND_AS_DEFINED      =  | ||||
| SKIP_FUNCTION_MACROS   = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration::addtions related to external references    | ||||
| #--------------------------------------------------------------------------- | ||||
| TAGFILES               = core_subset.tag=../core_subset | ||||
| GENERATE_TAGFILE       = math_subset.tag | ||||
| ALLEXTERNALS           = NO | ||||
| PERL_PATH              =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration options related to the dot tool    | ||||
| #--------------------------------------------------------------------------- | ||||
| CLASS_DIAGRAMS         = YES | ||||
| HAVE_DOT               = NO | ||||
| CLASS_GRAPH            = YES | ||||
| COLLABORATION_GRAPH    = YES | ||||
| TEMPLATE_RELATIONS     = YES | ||||
| HIDE_UNDOC_RELATIONS   = YES | ||||
| INCLUDE_GRAPH          = YES | ||||
| INCLUDED_BY_GRAPH      = YES | ||||
| GRAPHICAL_HIERARCHY    = YES | ||||
| DOT_PATH               =  | ||||
| DOTFILE_DIRS           =  | ||||
| MAX_DOT_GRAPH_WIDTH    = 1024 | ||||
| MAX_DOT_GRAPH_HEIGHT   = 1024 | ||||
| GENERATE_LEGEND        = YES | ||||
| DOT_CLEANUP            = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration::addtions related to the search engine    | ||||
| #--------------------------------------------------------------------------- | ||||
| SEARCHENGINE           = NO | ||||
| CGI_NAME               =  | ||||
| CGI_URL                =  | ||||
| DOC_URL                =  | ||||
| DOC_ABSPATH            =  | ||||
| BIN_ABSPATH            =  | ||||
| EXT_DOC_PATHS          =  | ||||
							
								
								
									
										179
									
								
								doxygen/miniglx.doxy
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										179
									
								
								doxygen/miniglx.doxy
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,179 @@ | ||||
| # Doxyfile 0.1 | ||||
|  | ||||
| #--------------------------------------------------------------------------- | ||||
| # General configuration options | ||||
| #--------------------------------------------------------------------------- | ||||
| PROJECT_NAME           = "MiniGLX" | ||||
| PROJECT_NUMBER         =  | ||||
| OUTPUT_DIRECTORY       =  | ||||
| OUTPUT_LANGUAGE        = English | ||||
| EXTRACT_ALL            = NO | ||||
| EXTRACT_PRIVATE        = NO | ||||
| EXTRACT_STATIC         = YES | ||||
| EXTRACT_LOCAL_CLASSES  = YES | ||||
| HIDE_UNDOC_MEMBERS     = NO | ||||
| HIDE_UNDOC_CLASSES     = NO | ||||
| BRIEF_MEMBER_DESC      = YES | ||||
| REPEAT_BRIEF           = YES | ||||
| ALWAYS_DETAILED_SEC    = NO | ||||
| INLINE_INHERITED_MEMB  = NO | ||||
| FULL_PATH_NAMES        = NO | ||||
| STRIP_FROM_PATH        =  | ||||
| INTERNAL_DOCS          = YES | ||||
| STRIP_CODE_COMMENTS    = YES | ||||
| CASE_SENSE_NAMES       = YES | ||||
| SHORT_NAMES            = NO | ||||
| HIDE_SCOPE_NAMES       = NO | ||||
| VERBATIM_HEADERS       = NO | ||||
| SHOW_INCLUDE_FILES     = NO | ||||
| JAVADOC_AUTOBRIEF      = NO | ||||
| INHERIT_DOCS           = YES | ||||
| INLINE_INFO            = YES | ||||
| SORT_MEMBER_DOCS       = NO | ||||
| DISTRIBUTE_GROUP_DOC   = NO | ||||
| TAB_SIZE               = 8 | ||||
| GENERATE_TODOLIST      = YES | ||||
| GENERATE_TESTLIST      = YES | ||||
| GENERATE_BUGLIST       = YES | ||||
| ALIASES                =  | ||||
| ENABLED_SECTIONS       =  | ||||
| MAX_INITIALIZER_LINES  = 30 | ||||
| OPTIMIZE_OUTPUT_FOR_C  = NO | ||||
| SHOW_USED_FILES        = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to warning and progress messages | ||||
| #--------------------------------------------------------------------------- | ||||
| QUIET                  = YES | ||||
| WARNINGS               = YES | ||||
| WARN_IF_UNDOCUMENTED   = NO | ||||
| WARN_FORMAT            =  | ||||
| WARN_LOGFILE           =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the input files | ||||
| #--------------------------------------------------------------------------- | ||||
| INPUT                  = ../src/miniglx/ ../include/GL/miniglx.h | ||||
| FILE_PATTERNS          = *.h *.c | ||||
| RECURSIVE              = NO | ||||
| EXCLUDE                = ../src/miniglx/glapi.c | ||||
| EXCLUDE_PATTERNS       =  | ||||
| EXAMPLE_PATH           =  | ||||
| EXAMPLE_PATTERNS       =  | ||||
| EXAMPLE_RECURSIVE      = NO | ||||
| IMAGE_PATH             =  | ||||
| INPUT_FILTER           =  | ||||
| FILTER_SOURCE_FILES    = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to source browsing | ||||
| #--------------------------------------------------------------------------- | ||||
| SOURCE_BROWSER         = NO | ||||
| INLINE_SOURCES         = NO | ||||
| REFERENCED_BY_RELATION = YES | ||||
| REFERENCES_RELATION    = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the alphabetical class index | ||||
| #--------------------------------------------------------------------------- | ||||
| ALPHABETICAL_INDEX     = NO | ||||
| COLS_IN_ALPHA_INDEX    = 5 | ||||
| IGNORE_PREFIX          =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the HTML output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_HTML          = YES | ||||
| HTML_OUTPUT            = miniglx | ||||
| HTML_HEADER            = header_subset.html | ||||
| HTML_FOOTER            =  | ||||
| HTML_STYLESHEET        =  | ||||
| HTML_ALIGN_MEMBERS     = YES | ||||
| GENERATE_HTMLHELP      = NO | ||||
| GENERATE_CHI           = NO | ||||
| BINARY_TOC             = NO | ||||
| TOC_EXPAND             = NO | ||||
| DISABLE_INDEX          = NO | ||||
| ENUM_VALUES_PER_LINE   = 4 | ||||
| GENERATE_TREEVIEW      = NO | ||||
| TREEVIEW_WIDTH         = 250 | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the LaTeX output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_LATEX         = NO | ||||
| LATEX_OUTPUT           =  | ||||
| COMPACT_LATEX          = NO | ||||
| PAPER_TYPE             = a4wide | ||||
| EXTRA_PACKAGES         =  | ||||
| LATEX_HEADER           =  | ||||
| PDF_HYPERLINKS         = NO | ||||
| USE_PDFLATEX           = NO | ||||
| LATEX_BATCHMODE        = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the RTF output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_RTF           = NO | ||||
| RTF_OUTPUT             =  | ||||
| COMPACT_RTF            = NO | ||||
| RTF_HYPERLINKS         = NO | ||||
| RTF_STYLESHEET_FILE    =  | ||||
| RTF_EXTENSIONS_FILE    =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the man page output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_MAN           = NO | ||||
| MAN_OUTPUT             =  | ||||
| MAN_EXTENSION          =  | ||||
| MAN_LINKS              = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the XML output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_XML           = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options for the AutoGen Definitions output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_AUTOGEN_DEF   = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration options related to the preprocessor    | ||||
| #--------------------------------------------------------------------------- | ||||
| ENABLE_PREPROCESSING   = YES | ||||
| MACRO_EXPANSION        = NO | ||||
| EXPAND_ONLY_PREDEF     = NO | ||||
| SEARCH_INCLUDES        = YES | ||||
| INCLUDE_PATH           = ../include/ | ||||
| INCLUDE_FILE_PATTERNS  =  | ||||
| PREDEFINED             =  | ||||
| EXPAND_AS_DEFINED      =  | ||||
| SKIP_FUNCTION_MACROS   = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration::addtions related to external references    | ||||
| #--------------------------------------------------------------------------- | ||||
| TAGFILES		= \ | ||||
| 			 core_subset.tag=../core_subset \ | ||||
|                          math_subset.tag=../math_subset | ||||
| GENERATE_TAGFILE       = miniglx.tag | ||||
| ALLEXTERNALS           = NO | ||||
| PERL_PATH              =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration options related to the dot tool    | ||||
| #--------------------------------------------------------------------------- | ||||
| CLASS_DIAGRAMS         = NO | ||||
| HAVE_DOT               = NO | ||||
| CLASS_GRAPH            = YES | ||||
| COLLABORATION_GRAPH    = YES | ||||
| TEMPLATE_RELATIONS     = YES | ||||
| HIDE_UNDOC_RELATIONS   = YES | ||||
| INCLUDE_GRAPH          = YES | ||||
| INCLUDED_BY_GRAPH      = YES | ||||
| GRAPHICAL_HIERARCHY    = YES | ||||
| DOT_PATH               =  | ||||
| DOTFILE_DIRS           =  | ||||
| MAX_DOT_GRAPH_WIDTH    = 1024 | ||||
| MAX_DOT_GRAPH_HEIGHT   = 1024 | ||||
| GENERATE_LEGEND        = YES | ||||
| DOT_CLEANUP            = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration::addtions related to the search engine    | ||||
| #--------------------------------------------------------------------------- | ||||
| SEARCHENGINE           = NO | ||||
| CGI_NAME               =  | ||||
| CGI_URL                =  | ||||
| DOC_URL                =  | ||||
| DOC_ABSPATH            =  | ||||
| BIN_ABSPATH            =  | ||||
| EXT_DOC_PATHS          =  | ||||
							
								
								
									
										203
									
								
								doxygen/radeon_subset.doxy
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										203
									
								
								doxygen/radeon_subset.doxy
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,203 @@ | ||||
| # Doxyfile 0.1 | ||||
|  | ||||
| #--------------------------------------------------------------------------- | ||||
| # General configuration options | ||||
| #--------------------------------------------------------------------------- | ||||
| PROJECT_NAME           = "Radeon Subset Driver" | ||||
| PROJECT_NUMBER         =  | ||||
| OUTPUT_DIRECTORY       =  | ||||
| OUTPUT_LANGUAGE        = English | ||||
| EXTRACT_ALL            = NO | ||||
| EXTRACT_PRIVATE        = NO | ||||
| EXTRACT_STATIC         = YES | ||||
| EXTRACT_LOCAL_CLASSES  = YES | ||||
| HIDE_UNDOC_MEMBERS     = NO | ||||
| HIDE_UNDOC_CLASSES     = NO | ||||
| BRIEF_MEMBER_DESC      = YES | ||||
| REPEAT_BRIEF           = YES | ||||
| ALWAYS_DETAILED_SEC    = NO | ||||
| INLINE_INHERITED_MEMB  = NO | ||||
| FULL_PATH_NAMES        = NO | ||||
| STRIP_FROM_PATH        =  | ||||
| INTERNAL_DOCS          = YES | ||||
| STRIP_CODE_COMMENTS    = YES | ||||
| CASE_SENSE_NAMES       = YES | ||||
| SHORT_NAMES            = NO | ||||
| HIDE_SCOPE_NAMES       = NO | ||||
| VERBATIM_HEADERS       = NO | ||||
| SHOW_INCLUDE_FILES     = NO | ||||
| JAVADOC_AUTOBRIEF      = NO | ||||
| INHERIT_DOCS           = YES | ||||
| INLINE_INFO            = YES | ||||
| SORT_MEMBER_DOCS       = NO | ||||
| DISTRIBUTE_GROUP_DOC   = NO | ||||
| TAB_SIZE               = 8 | ||||
| GENERATE_TODOLIST      = YES | ||||
| GENERATE_TESTLIST      = YES | ||||
| GENERATE_BUGLIST       = YES | ||||
| ALIASES                =  | ||||
| ENABLED_SECTIONS       =  | ||||
| MAX_INITIALIZER_LINES  = 30 | ||||
| OPTIMIZE_OUTPUT_FOR_C  = NO | ||||
| SHOW_USED_FILES        = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to warning and progress messages | ||||
| #--------------------------------------------------------------------------- | ||||
| QUIET                  = YES | ||||
| WARNINGS               = YES | ||||
| WARN_IF_UNDOCUMENTED   = NO | ||||
| WARN_FORMAT            =  | ||||
| WARN_LOGFILE           =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the input files | ||||
| #--------------------------------------------------------------------------- | ||||
| INPUT                  = \ | ||||
| 			../src/drv/common/mm.c \ | ||||
| 			../src/drv/common/mm.h \ | ||||
| 			../src/drv/radeon/radeon_context.c \ | ||||
| 			../src/drv/radeon/radeon_context.h \ | ||||
| 		 	../src/drv/radeon/radeon_ioctl.c \ | ||||
| 		 	../src/drv/radeon/radeon_ioctl.h \ | ||||
| 		 	../src/drv/radeon/radeon_lock.c \ | ||||
| 		 	../src/drv/radeon/radeon_lock.h \ | ||||
| 		 	../src/drv/radeon/radeon_screen.c \ | ||||
| 		 	../src/drv/radeon/radeon_screen.h \ | ||||
| 		 	../src/drv/radeon/radeon_state.c \ | ||||
| 		 	../src/drv/radeon/radeon_state.h \ | ||||
| 		 	../src/drv/radeon/radeon_state_init.c \ | ||||
| 			../src/drv/radeon/radeon_subset.h \ | ||||
| 			../src/drv/radeon/radeon_subset_bitmap.c \ | ||||
| 			../src/drv/radeon/radeon_subset_readpix.c \ | ||||
| 			../src/drv/radeon/radeon_subset_select.c \ | ||||
| 			../src/drv/radeon/radeon_subset_tex.c \ | ||||
| 			../src/drv/radeon/radeon_subset_vtx.c \ | ||||
| 		 	../src/drv/radeon/radeon_tcl.h \ | ||||
| 		 	../src/drv/radeon/radeon_tex.h \ | ||||
| 		 	../src/drv/radeon/radeon_vtxfmt.h \ | ||||
| 			../src/drv/radeon/server | ||||
| FILE_PATTERNS          = *.h *.c | ||||
| RECURSIVE              = NO | ||||
| EXCLUDE                =  | ||||
| EXCLUDE_PATTERNS       =  | ||||
| EXAMPLE_PATH           =  | ||||
| EXAMPLE_PATTERNS       =  | ||||
| EXAMPLE_RECURSIVE      = NO | ||||
| IMAGE_PATH             =  | ||||
| INPUT_FILTER           =  | ||||
| FILTER_SOURCE_FILES    = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to source browsing | ||||
| #--------------------------------------------------------------------------- | ||||
| SOURCE_BROWSER         = NO | ||||
| INLINE_SOURCES         = NO | ||||
| REFERENCED_BY_RELATION = YES | ||||
| REFERENCES_RELATION    = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the alphabetical class index | ||||
| #--------------------------------------------------------------------------- | ||||
| ALPHABETICAL_INDEX     = NO | ||||
| COLS_IN_ALPHA_INDEX    = 5 | ||||
| IGNORE_PREFIX          =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the HTML output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_HTML          = YES | ||||
| HTML_OUTPUT            = radeon_subset | ||||
| HTML_HEADER            = header_subset.html | ||||
| HTML_FOOTER            =  | ||||
| HTML_STYLESHEET        =  | ||||
| HTML_ALIGN_MEMBERS     = YES | ||||
| GENERATE_HTMLHELP      = NO | ||||
| GENERATE_CHI           = NO | ||||
| BINARY_TOC             = NO | ||||
| TOC_EXPAND             = NO | ||||
| DISABLE_INDEX          = NO | ||||
| ENUM_VALUES_PER_LINE   = 4 | ||||
| GENERATE_TREEVIEW      = NO | ||||
| TREEVIEW_WIDTH         = 250 | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the LaTeX output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_LATEX         = NO | ||||
| LATEX_OUTPUT           =  | ||||
| COMPACT_LATEX          = NO | ||||
| PAPER_TYPE             = a4wide | ||||
| EXTRA_PACKAGES         =  | ||||
| LATEX_HEADER           =  | ||||
| PDF_HYPERLINKS         = NO | ||||
| USE_PDFLATEX           = NO | ||||
| LATEX_BATCHMODE        = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the RTF output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_RTF           = NO | ||||
| RTF_OUTPUT             =  | ||||
| COMPACT_RTF            = NO | ||||
| RTF_HYPERLINKS         = NO | ||||
| RTF_STYLESHEET_FILE    =  | ||||
| RTF_EXTENSIONS_FILE    =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the man page output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_MAN           = NO | ||||
| MAN_OUTPUT             =  | ||||
| MAN_EXTENSION          =  | ||||
| MAN_LINKS              = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the XML output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_XML           = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options for the AutoGen Definitions output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_AUTOGEN_DEF   = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration options related to the preprocessor    | ||||
| #--------------------------------------------------------------------------- | ||||
| ENABLE_PREPROCESSING   = YES | ||||
| MACRO_EXPANSION        = NO | ||||
| EXPAND_ONLY_PREDEF     = NO | ||||
| SEARCH_INCLUDES        = YES | ||||
| INCLUDE_PATH           = ../include/ | ||||
| INCLUDE_FILE_PATTERNS  =  | ||||
| PREDEFINED             =  | ||||
| EXPAND_AS_DEFINED      =  | ||||
| SKIP_FUNCTION_MACROS   = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration::addtions related to external references    | ||||
| #--------------------------------------------------------------------------- | ||||
| TAGFILES		= \ | ||||
| 			 core_subset.tag=../core_subset \ | ||||
|                          math_subset.tag=../math_subset \ | ||||
|                          miniglx.tag=../miniglx | ||||
| GENERATE_TAGFILE       = radeon_subset.tag | ||||
| ALLEXTERNALS           = NO | ||||
| PERL_PATH              =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration options related to the dot tool    | ||||
| #--------------------------------------------------------------------------- | ||||
| CLASS_DIAGRAMS         = NO | ||||
| HAVE_DOT               = NO | ||||
| CLASS_GRAPH            = YES | ||||
| COLLABORATION_GRAPH    = YES | ||||
| TEMPLATE_RELATIONS     = YES | ||||
| HIDE_UNDOC_RELATIONS   = YES | ||||
| INCLUDE_GRAPH          = YES | ||||
| INCLUDED_BY_GRAPH      = YES | ||||
| GRAPHICAL_HIERARCHY    = YES | ||||
| DOT_PATH               =  | ||||
| DOTFILE_DIRS           =  | ||||
| MAX_DOT_GRAPH_WIDTH    = 1024 | ||||
| MAX_DOT_GRAPH_HEIGHT   = 1024 | ||||
| GENERATE_LEGEND        = YES | ||||
| DOT_CLEANUP            = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration::addtions related to the search engine    | ||||
| #--------------------------------------------------------------------------- | ||||
| SEARCHENGINE           = NO | ||||
| CGI_NAME               =  | ||||
| CGI_URL                =  | ||||
| DOC_URL                =  | ||||
| DOC_ABSPATH            =  | ||||
| BIN_ABSPATH            =  | ||||
| EXT_DOC_PATHS          =  | ||||
							
								
								
									
										182
									
								
								doxygen/swrast.doxy
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										182
									
								
								doxygen/swrast.doxy
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,182 @@ | ||||
| # Doxyfile 0.1 | ||||
|  | ||||
| #--------------------------------------------------------------------------- | ||||
| # General configuration options | ||||
| #--------------------------------------------------------------------------- | ||||
| PROJECT_NAME           = "Mesa Software Rasterization (swrast)" | ||||
| PROJECT_NUMBER         =  | ||||
| OUTPUT_DIRECTORY       =  | ||||
| OUTPUT_LANGUAGE        = English | ||||
| EXTRACT_ALL            = NO | ||||
| EXTRACT_PRIVATE        = NO | ||||
| EXTRACT_STATIC         = NO | ||||
| EXTRACT_LOCAL_CLASSES  = YES | ||||
| HIDE_UNDOC_MEMBERS     = NO | ||||
| HIDE_UNDOC_CLASSES     = NO | ||||
| BRIEF_MEMBER_DESC      = YES | ||||
| REPEAT_BRIEF           = YES | ||||
| ALWAYS_DETAILED_SEC    = NO | ||||
| INLINE_INHERITED_MEMB  = NO | ||||
| FULL_PATH_NAMES        = NO | ||||
| STRIP_FROM_PATH        =  | ||||
| INTERNAL_DOCS          = YES | ||||
| STRIP_CODE_COMMENTS    = YES | ||||
| CASE_SENSE_NAMES       = YES | ||||
| SHORT_NAMES            = NO | ||||
| HIDE_SCOPE_NAMES       = NO | ||||
| VERBATIM_HEADERS       = YES | ||||
| SHOW_INCLUDE_FILES     = YES | ||||
| JAVADOC_AUTOBRIEF      = NO | ||||
| INHERIT_DOCS           = YES | ||||
| INLINE_INFO            = YES | ||||
| SORT_MEMBER_DOCS       = NO | ||||
| DISTRIBUTE_GROUP_DOC   = NO | ||||
| TAB_SIZE               = 8 | ||||
| GENERATE_TODOLIST      = YES | ||||
| GENERATE_TESTLIST      = YES | ||||
| GENERATE_BUGLIST       = YES | ||||
| ALIASES                =  | ||||
| ENABLED_SECTIONS       =  | ||||
| MAX_INITIALIZER_LINES  = 30 | ||||
| OPTIMIZE_OUTPUT_FOR_C  = YES | ||||
| SHOW_USED_FILES        = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to warning and progress messages | ||||
| #--------------------------------------------------------------------------- | ||||
| QUIET                  = YES | ||||
| WARNINGS               = YES | ||||
| WARN_IF_UNDOCUMENTED   = NO | ||||
| WARN_FORMAT            =  | ||||
| WARN_LOGFILE           =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the input files | ||||
| #--------------------------------------------------------------------------- | ||||
| INPUT                  = ../src/swrast/ | ||||
| FILE_PATTERNS          = *.c *.h | ||||
| RECURSIVE              = NO | ||||
| EXCLUDE                =  | ||||
| EXCLUDE_PATTERNS       =  | ||||
| EXAMPLE_PATH           =  | ||||
| EXAMPLE_PATTERNS       =  | ||||
| EXAMPLE_RECURSIVE      = NO | ||||
| IMAGE_PATH             =  | ||||
| INPUT_FILTER           =  | ||||
| FILTER_SOURCE_FILES    = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to source browsing | ||||
| #--------------------------------------------------------------------------- | ||||
| SOURCE_BROWSER         = NO | ||||
| INLINE_SOURCES         = NO | ||||
| REFERENCED_BY_RELATION = YES | ||||
| REFERENCES_RELATION    = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the alphabetical class index | ||||
| #--------------------------------------------------------------------------- | ||||
| ALPHABETICAL_INDEX     = YES | ||||
| COLS_IN_ALPHA_INDEX    = 5 | ||||
| IGNORE_PREFIX          =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the HTML output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_HTML          = YES | ||||
| HTML_OUTPUT            = swrast | ||||
| HTML_HEADER            = header.html | ||||
| HTML_FOOTER            =  | ||||
| HTML_STYLESHEET        =  | ||||
| HTML_ALIGN_MEMBERS     = YES | ||||
| GENERATE_HTMLHELP      = NO | ||||
| GENERATE_CHI           = NO | ||||
| BINARY_TOC             = NO | ||||
| TOC_EXPAND             = NO | ||||
| DISABLE_INDEX          = NO | ||||
| ENUM_VALUES_PER_LINE   = 4 | ||||
| GENERATE_TREEVIEW      = NO | ||||
| TREEVIEW_WIDTH         = 250 | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the LaTeX output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_LATEX         = NO | ||||
| LATEX_OUTPUT           =  | ||||
| COMPACT_LATEX          = NO | ||||
| PAPER_TYPE             = a4wide | ||||
| EXTRA_PACKAGES         =  | ||||
| LATEX_HEADER           =  | ||||
| PDF_HYPERLINKS         = NO | ||||
| USE_PDFLATEX           = NO | ||||
| LATEX_BATCHMODE        = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the RTF output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_RTF           = NO | ||||
| RTF_OUTPUT             =  | ||||
| COMPACT_RTF            = NO | ||||
| RTF_HYPERLINKS         = NO | ||||
| RTF_STYLESHEET_FILE    =  | ||||
| RTF_EXTENSIONS_FILE    =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the man page output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_MAN           = NO | ||||
| MAN_OUTPUT             =  | ||||
| MAN_EXTENSION          =  | ||||
| MAN_LINKS              = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the XML output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_XML           = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options for the AutoGen Definitions output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_AUTOGEN_DEF   = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration options related to the preprocessor    | ||||
| #--------------------------------------------------------------------------- | ||||
| ENABLE_PREPROCESSING   = YES | ||||
| MACRO_EXPANSION        = NO | ||||
| EXPAND_ONLY_PREDEF     = NO | ||||
| SEARCH_INCLUDES        = YES | ||||
| INCLUDE_PATH           = ../include/ | ||||
| INCLUDE_FILE_PATTERNS  =  | ||||
| PREDEFINED             =  | ||||
| EXPAND_AS_DEFINED      =  | ||||
| SKIP_FUNCTION_MACROS   = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration::addtions related to external references    | ||||
| #--------------------------------------------------------------------------- | ||||
| TAGFILES               = core.tag=../core \ | ||||
|                          math.tag=../math \ | ||||
|                          tnl_dd.tag=../tnl_dd \ | ||||
|                          swrast_setup.tag=../swrast_setup \ | ||||
|                          tnl.tag=../tnl \ | ||||
|                          array_cache.tag=array_cache | ||||
| GENERATE_TAGFILE       = swrast.tag | ||||
| ALLEXTERNALS           = NO | ||||
| PERL_PATH              =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration options related to the dot tool    | ||||
| #--------------------------------------------------------------------------- | ||||
| CLASS_DIAGRAMS         = NO | ||||
| HAVE_DOT               = NO | ||||
| CLASS_GRAPH            = YES | ||||
| COLLABORATION_GRAPH    = YES | ||||
| TEMPLATE_RELATIONS     = YES | ||||
| HIDE_UNDOC_RELATIONS   = YES | ||||
| INCLUDE_GRAPH          = YES | ||||
| INCLUDED_BY_GRAPH      = YES | ||||
| GRAPHICAL_HIERARCHY    = YES | ||||
| DOT_PATH               =  | ||||
| DOTFILE_DIRS           =  | ||||
| MAX_DOT_GRAPH_WIDTH    = 1024 | ||||
| MAX_DOT_GRAPH_HEIGHT   = 1024 | ||||
| GENERATE_LEGEND        = YES | ||||
| DOT_CLEANUP            = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration::addtions related to the search engine    | ||||
| #--------------------------------------------------------------------------- | ||||
| SEARCHENGINE           = NO | ||||
| CGI_NAME               =  | ||||
| CGI_URL                =  | ||||
| DOC_URL                =  | ||||
| DOC_ABSPATH            =  | ||||
| BIN_ABSPATH            =  | ||||
| EXT_DOC_PATHS          =  | ||||
							
								
								
									
										183
									
								
								doxygen/swrast_setup.doxy
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										183
									
								
								doxygen/swrast_setup.doxy
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,183 @@ | ||||
| # Doxyfile 0.1 | ||||
|  | ||||
| #--------------------------------------------------------------------------- | ||||
| # General configuration options | ||||
| #--------------------------------------------------------------------------- | ||||
| PROJECT_NAME           = "Mesa swrast_setup" | ||||
| PROJECT_NUMBER         =  | ||||
| OUTPUT_DIRECTORY       =  | ||||
| OUTPUT_LANGUAGE        = English | ||||
| EXTRACT_ALL            = YES | ||||
| EXTRACT_PRIVATE        = NO | ||||
| EXTRACT_STATIC         = NO | ||||
| EXTRACT_LOCAL_CLASSES  = YES | ||||
| HIDE_UNDOC_MEMBERS     = NO | ||||
| HIDE_UNDOC_CLASSES     = NO | ||||
| BRIEF_MEMBER_DESC      = YES | ||||
| REPEAT_BRIEF           = YES | ||||
| ALWAYS_DETAILED_SEC    = NO | ||||
| INLINE_INHERITED_MEMB  = NO | ||||
| FULL_PATH_NAMES        = NO | ||||
| STRIP_FROM_PATH        =  | ||||
| INTERNAL_DOCS          = NO | ||||
| STRIP_CODE_COMMENTS    = YES | ||||
| CASE_SENSE_NAMES       = YES | ||||
| SHORT_NAMES            = NO | ||||
| HIDE_SCOPE_NAMES       = NO | ||||
| VERBATIM_HEADERS       = YES | ||||
| SHOW_INCLUDE_FILES     = YES | ||||
| JAVADOC_AUTOBRIEF      = NO | ||||
| INHERIT_DOCS           = YES | ||||
| INLINE_INFO            = YES | ||||
| SORT_MEMBER_DOCS       = NO | ||||
| DISTRIBUTE_GROUP_DOC   = NO | ||||
| TAB_SIZE               = 8 | ||||
| GENERATE_TODOLIST      = YES | ||||
| GENERATE_TESTLIST      = YES | ||||
| GENERATE_BUGLIST       = YES | ||||
| ALIASES                =  | ||||
| ENABLED_SECTIONS       =  | ||||
| MAX_INITIALIZER_LINES  = 30 | ||||
| OPTIMIZE_OUTPUT_FOR_C  = YES | ||||
| SHOW_USED_FILES        = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to warning and progress messages | ||||
| #--------------------------------------------------------------------------- | ||||
| QUIET                  = YES | ||||
| WARNINGS               = YES | ||||
| WARN_IF_UNDOCUMENTED   = YES | ||||
| WARN_FORMAT            =  | ||||
| WARN_LOGFILE           =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the input files | ||||
| #--------------------------------------------------------------------------- | ||||
| INPUT                  = ../src/swrast_setup/ | ||||
| FILE_PATTERNS          = *.c \ | ||||
|                          *.h | ||||
| RECURSIVE              = NO | ||||
| EXCLUDE                =  | ||||
| EXCLUDE_PATTERNS       =  | ||||
| EXAMPLE_PATH           =  | ||||
| EXAMPLE_PATTERNS       =  | ||||
| EXAMPLE_RECURSIVE      = NO | ||||
| IMAGE_PATH             =  | ||||
| INPUT_FILTER           =  | ||||
| FILTER_SOURCE_FILES    = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to source browsing | ||||
| #--------------------------------------------------------------------------- | ||||
| SOURCE_BROWSER         = NO | ||||
| INLINE_SOURCES         = NO | ||||
| REFERENCED_BY_RELATION = YES | ||||
| REFERENCES_RELATION    = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the alphabetical class index | ||||
| #--------------------------------------------------------------------------- | ||||
| ALPHABETICAL_INDEX     = YES | ||||
| COLS_IN_ALPHA_INDEX    = 5 | ||||
| IGNORE_PREFIX          =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the HTML output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_HTML          = YES | ||||
| HTML_OUTPUT            = swrast_setup | ||||
| HTML_HEADER            = header.html | ||||
| HTML_FOOTER            =  | ||||
| HTML_STYLESHEET        =  | ||||
| HTML_ALIGN_MEMBERS     = YES | ||||
| GENERATE_HTMLHELP      = NO | ||||
| GENERATE_CHI           = NO | ||||
| BINARY_TOC             = NO | ||||
| TOC_EXPAND             = NO | ||||
| DISABLE_INDEX          = NO | ||||
| ENUM_VALUES_PER_LINE   = 4 | ||||
| GENERATE_TREEVIEW      = NO | ||||
| TREEVIEW_WIDTH         = 250 | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the LaTeX output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_LATEX         = NO | ||||
| LATEX_OUTPUT           =  | ||||
| COMPACT_LATEX          = NO | ||||
| PAPER_TYPE             = a4wide | ||||
| EXTRA_PACKAGES         =  | ||||
| LATEX_HEADER           =  | ||||
| PDF_HYPERLINKS         = NO | ||||
| USE_PDFLATEX           = NO | ||||
| LATEX_BATCHMODE        = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the RTF output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_RTF           = NO | ||||
| RTF_OUTPUT             =  | ||||
| COMPACT_RTF            = NO | ||||
| RTF_HYPERLINKS         = NO | ||||
| RTF_STYLESHEET_FILE    =  | ||||
| RTF_EXTENSIONS_FILE    =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the man page output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_MAN           = NO | ||||
| MAN_OUTPUT             =  | ||||
| MAN_EXTENSION          =  | ||||
| MAN_LINKS              = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the XML output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_XML           = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options for the AutoGen Definitions output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_AUTOGEN_DEF   = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration options related to the preprocessor    | ||||
| #--------------------------------------------------------------------------- | ||||
| ENABLE_PREPROCESSING   = YES | ||||
| MACRO_EXPANSION        = NO | ||||
| EXPAND_ONLY_PREDEF     = NO | ||||
| SEARCH_INCLUDES        = YES | ||||
| INCLUDE_PATH           =  | ||||
| INCLUDE_FILE_PATTERNS  =  | ||||
| PREDEFINED             =  | ||||
| EXPAND_AS_DEFINED      =  | ||||
| SKIP_FUNCTION_MACROS   = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration::addtions related to external references    | ||||
| #--------------------------------------------------------------------------- | ||||
| TAGFILES               = tnl_dd.tag=../tnl_dd \ | ||||
|                          core.tag=../core \ | ||||
|                          math.tag=../math \ | ||||
|                          swrast.tag=../swrast \ | ||||
|                          tnl.tag=../tnl \ | ||||
|                          array_cache.tag=../array_cache | ||||
| GENERATE_TAGFILE       = swrast_setup.tag | ||||
| ALLEXTERNALS           = YES | ||||
| PERL_PATH              =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration options related to the dot tool    | ||||
| #--------------------------------------------------------------------------- | ||||
| CLASS_DIAGRAMS         = YES | ||||
| HAVE_DOT               = NO | ||||
| CLASS_GRAPH            = YES | ||||
| COLLABORATION_GRAPH    = YES | ||||
| TEMPLATE_RELATIONS     = YES | ||||
| HIDE_UNDOC_RELATIONS   = YES | ||||
| INCLUDE_GRAPH          = YES | ||||
| INCLUDED_BY_GRAPH      = YES | ||||
| GRAPHICAL_HIERARCHY    = YES | ||||
| DOT_PATH               =  | ||||
| DOTFILE_DIRS           =  | ||||
| MAX_DOT_GRAPH_WIDTH    = 1024 | ||||
| MAX_DOT_GRAPH_HEIGHT   = 1024 | ||||
| GENERATE_LEGEND        = YES | ||||
| DOT_CLEANUP            = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration::addtions related to the search engine    | ||||
| #--------------------------------------------------------------------------- | ||||
| SEARCHENGINE           = NO | ||||
| CGI_NAME               =  | ||||
| CGI_URL                =  | ||||
| DOC_URL                =  | ||||
| DOC_ABSPATH            =  | ||||
| BIN_ABSPATH            =  | ||||
| EXT_DOC_PATHS          =  | ||||
							
								
								
									
										183
									
								
								doxygen/tnl.doxy
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										183
									
								
								doxygen/tnl.doxy
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,183 @@ | ||||
| # Doxyfile 0.1 | ||||
|  | ||||
| #--------------------------------------------------------------------------- | ||||
| # General configuration options | ||||
| #--------------------------------------------------------------------------- | ||||
| PROJECT_NAME           = "Mesa Transform and Lighting (tnl)" | ||||
| PROJECT_NUMBER         =  | ||||
| OUTPUT_DIRECTORY       =  | ||||
| OUTPUT_LANGUAGE        = English | ||||
| EXTRACT_ALL            = YES | ||||
| EXTRACT_PRIVATE        = NO | ||||
| EXTRACT_STATIC         = NO | ||||
| EXTRACT_LOCAL_CLASSES  = YES | ||||
| HIDE_UNDOC_MEMBERS     = NO | ||||
| HIDE_UNDOC_CLASSES     = NO | ||||
| BRIEF_MEMBER_DESC      = YES | ||||
| REPEAT_BRIEF           = YES | ||||
| ALWAYS_DETAILED_SEC    = NO | ||||
| INLINE_INHERITED_MEMB  = NO | ||||
| FULL_PATH_NAMES        = NO | ||||
| STRIP_FROM_PATH        =  | ||||
| INTERNAL_DOCS          = NO | ||||
| STRIP_CODE_COMMENTS    = YES | ||||
| CASE_SENSE_NAMES       = YES | ||||
| SHORT_NAMES            = NO | ||||
| HIDE_SCOPE_NAMES       = NO | ||||
| VERBATIM_HEADERS       = YES | ||||
| SHOW_INCLUDE_FILES     = YES | ||||
| JAVADOC_AUTOBRIEF      = NO | ||||
| INHERIT_DOCS           = YES | ||||
| INLINE_INFO            = YES | ||||
| SORT_MEMBER_DOCS       = NO | ||||
| DISTRIBUTE_GROUP_DOC   = NO | ||||
| TAB_SIZE               = 8 | ||||
| GENERATE_TODOLIST      = YES | ||||
| GENERATE_TESTLIST      = YES | ||||
| GENERATE_BUGLIST       = YES | ||||
| ALIASES                =  | ||||
| ENABLED_SECTIONS       =  | ||||
| MAX_INITIALIZER_LINES  = 30 | ||||
| OPTIMIZE_OUTPUT_FOR_C  = YES | ||||
| SHOW_USED_FILES        = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to warning and progress messages | ||||
| #--------------------------------------------------------------------------- | ||||
| QUIET                  = YES | ||||
| WARNINGS               = YES | ||||
| WARN_IF_UNDOCUMENTED   = YES | ||||
| WARN_FORMAT            =  | ||||
| WARN_LOGFILE           =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the input files | ||||
| #--------------------------------------------------------------------------- | ||||
| INPUT                  = ../src/tnl/ | ||||
| FILE_PATTERNS          = *.c \ | ||||
|                          *.h | ||||
| RECURSIVE              = NO | ||||
| EXCLUDE                =  | ||||
| EXCLUDE_PATTERNS       =  | ||||
| EXAMPLE_PATH           =  | ||||
| EXAMPLE_PATTERNS       =  | ||||
| EXAMPLE_RECURSIVE      = NO | ||||
| IMAGE_PATH             =  | ||||
| INPUT_FILTER           =  | ||||
| FILTER_SOURCE_FILES    = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to source browsing | ||||
| #--------------------------------------------------------------------------- | ||||
| SOURCE_BROWSER         = NO | ||||
| INLINE_SOURCES         = NO | ||||
| REFERENCED_BY_RELATION = YES | ||||
| REFERENCES_RELATION    = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the alphabetical class index | ||||
| #--------------------------------------------------------------------------- | ||||
| ALPHABETICAL_INDEX     = YES | ||||
| COLS_IN_ALPHA_INDEX    = 5 | ||||
| IGNORE_PREFIX          =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the HTML output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_HTML          = YES | ||||
| HTML_OUTPUT            = tnl | ||||
| HTML_HEADER            = header.html | ||||
| HTML_FOOTER            =  | ||||
| HTML_STYLESHEET        =  | ||||
| HTML_ALIGN_MEMBERS     = YES | ||||
| GENERATE_HTMLHELP      = NO | ||||
| GENERATE_CHI           = NO | ||||
| BINARY_TOC             = NO | ||||
| TOC_EXPAND             = NO | ||||
| DISABLE_INDEX          = NO | ||||
| ENUM_VALUES_PER_LINE   = 4 | ||||
| GENERATE_TREEVIEW      = NO | ||||
| TREEVIEW_WIDTH         = 250 | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the LaTeX output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_LATEX         = NO | ||||
| LATEX_OUTPUT           =  | ||||
| COMPACT_LATEX          = NO | ||||
| PAPER_TYPE             = a4wide | ||||
| EXTRA_PACKAGES         =  | ||||
| LATEX_HEADER           =  | ||||
| PDF_HYPERLINKS         = NO | ||||
| USE_PDFLATEX           = NO | ||||
| LATEX_BATCHMODE        = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the RTF output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_RTF           = NO | ||||
| RTF_OUTPUT             =  | ||||
| COMPACT_RTF            = NO | ||||
| RTF_HYPERLINKS         = NO | ||||
| RTF_STYLESHEET_FILE    =  | ||||
| RTF_EXTENSIONS_FILE    =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the man page output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_MAN           = NO | ||||
| MAN_OUTPUT             =  | ||||
| MAN_EXTENSION          =  | ||||
| MAN_LINKS              = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the XML output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_XML           = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options for the AutoGen Definitions output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_AUTOGEN_DEF   = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration options related to the preprocessor    | ||||
| #--------------------------------------------------------------------------- | ||||
| ENABLE_PREPROCESSING   = YES | ||||
| MACRO_EXPANSION        = NO | ||||
| EXPAND_ONLY_PREDEF     = NO | ||||
| SEARCH_INCLUDES        = YES | ||||
| INCLUDE_PATH           =  | ||||
| INCLUDE_FILE_PATTERNS  =  | ||||
| PREDEFINED             =  | ||||
| EXPAND_AS_DEFINED      =  | ||||
| SKIP_FUNCTION_MACROS   = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration::addtions related to external references    | ||||
| #--------------------------------------------------------------------------- | ||||
| TAGFILES               = tnl_dd.tag=../tnl \ | ||||
|                          core.tag=../core \ | ||||
|                          math.tag=../math \ | ||||
|                          swrast.tag=../swrast \ | ||||
|                          swrast_setup.tag=swrast_setup \ | ||||
|                          array_cache.tag=array_cache | ||||
| GENERATE_TAGFILE       = tnl.tag | ||||
| ALLEXTERNALS           = YES | ||||
| PERL_PATH              =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration options related to the dot tool    | ||||
| #--------------------------------------------------------------------------- | ||||
| CLASS_DIAGRAMS         = YES | ||||
| HAVE_DOT               = NO | ||||
| CLASS_GRAPH            = YES | ||||
| COLLABORATION_GRAPH    = YES | ||||
| TEMPLATE_RELATIONS     = YES | ||||
| HIDE_UNDOC_RELATIONS   = YES | ||||
| INCLUDE_GRAPH          = YES | ||||
| INCLUDED_BY_GRAPH      = YES | ||||
| GRAPHICAL_HIERARCHY    = YES | ||||
| DOT_PATH               =  | ||||
| DOTFILE_DIRS           =  | ||||
| MAX_DOT_GRAPH_WIDTH    = 1024 | ||||
| MAX_DOT_GRAPH_HEIGHT   = 1024 | ||||
| GENERATE_LEGEND        = YES | ||||
| DOT_CLEANUP            = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration::addtions related to the search engine    | ||||
| #--------------------------------------------------------------------------- | ||||
| SEARCHENGINE           = NO | ||||
| CGI_NAME               =  | ||||
| CGI_URL                =  | ||||
| DOC_URL                =  | ||||
| DOC_ABSPATH            =  | ||||
| BIN_ABSPATH            =  | ||||
| EXT_DOC_PATHS          =  | ||||
							
								
								
									
										182
									
								
								doxygen/tnl_dd.doxy
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										182
									
								
								doxygen/tnl_dd.doxy
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,182 @@ | ||||
| # Doxyfile 0.1 | ||||
|  | ||||
| #--------------------------------------------------------------------------- | ||||
| # General configuration options | ||||
| #--------------------------------------------------------------------------- | ||||
| PROJECT_NAME           = "Mesa tnl_dd" | ||||
| PROJECT_NUMBER         =  | ||||
| OUTPUT_DIRECTORY       =  | ||||
| OUTPUT_LANGUAGE        = English | ||||
| EXTRACT_ALL            = YES | ||||
| EXTRACT_PRIVATE        = NO | ||||
| EXTRACT_STATIC         = NO | ||||
| EXTRACT_LOCAL_CLASSES  = YES | ||||
| HIDE_UNDOC_MEMBERS     = NO | ||||
| HIDE_UNDOC_CLASSES     = NO | ||||
| BRIEF_MEMBER_DESC      = YES | ||||
| REPEAT_BRIEF           = YES | ||||
| ALWAYS_DETAILED_SEC    = NO | ||||
| INLINE_INHERITED_MEMB  = NO | ||||
| FULL_PATH_NAMES        = NO | ||||
| STRIP_FROM_PATH        =  | ||||
| INTERNAL_DOCS          = NO | ||||
| STRIP_CODE_COMMENTS    = YES | ||||
| CASE_SENSE_NAMES       = YES | ||||
| SHORT_NAMES            = NO | ||||
| HIDE_SCOPE_NAMES       = NO | ||||
| VERBATIM_HEADERS       = YES | ||||
| SHOW_INCLUDE_FILES     = YES | ||||
| JAVADOC_AUTOBRIEF      = NO | ||||
| INHERIT_DOCS           = YES | ||||
| INLINE_INFO            = NO | ||||
| SORT_MEMBER_DOCS       = NO | ||||
| DISTRIBUTE_GROUP_DOC   = NO | ||||
| TAB_SIZE               = 8 | ||||
| GENERATE_TODOLIST      = YES | ||||
| GENERATE_TESTLIST      = YES | ||||
| GENERATE_BUGLIST       = YES | ||||
| ALIASES                =  | ||||
| ENABLED_SECTIONS       =  | ||||
| MAX_INITIALIZER_LINES  = 30 | ||||
| OPTIMIZE_OUTPUT_FOR_C  = YES | ||||
| SHOW_USED_FILES        = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to warning and progress messages | ||||
| #--------------------------------------------------------------------------- | ||||
| QUIET                  = YES | ||||
| WARNINGS               = YES | ||||
| WARN_IF_UNDOCUMENTED   = YES | ||||
| WARN_FORMAT            =  | ||||
| WARN_LOGFILE           =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the input files | ||||
| #--------------------------------------------------------------------------- | ||||
| INPUT                  = ../src/tnl_dd/ | ||||
| FILE_PATTERNS          = *.c *.h | ||||
| RECURSIVE              = YES | ||||
| EXCLUDE                =  | ||||
| EXCLUDE_PATTERNS       =  | ||||
| EXAMPLE_PATH           =  | ||||
| EXAMPLE_PATTERNS       =  | ||||
| EXAMPLE_RECURSIVE      = NO | ||||
| IMAGE_PATH             =  | ||||
| INPUT_FILTER           =  | ||||
| FILTER_SOURCE_FILES    = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to source browsing | ||||
| #--------------------------------------------------------------------------- | ||||
| SOURCE_BROWSER         = NO | ||||
| INLINE_SOURCES         = NO | ||||
| REFERENCED_BY_RELATION = YES | ||||
| REFERENCES_RELATION    = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the alphabetical class index | ||||
| #--------------------------------------------------------------------------- | ||||
| ALPHABETICAL_INDEX     = YES | ||||
| COLS_IN_ALPHA_INDEX    = 5 | ||||
| IGNORE_PREFIX          =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the HTML output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_HTML          = YES | ||||
| HTML_OUTPUT            = tnl_dd | ||||
| HTML_HEADER            = header.html | ||||
| HTML_FOOTER            =  | ||||
| HTML_STYLESHEET        =  | ||||
| HTML_ALIGN_MEMBERS     = YES | ||||
| GENERATE_HTMLHELP      = NO | ||||
| GENERATE_CHI           = NO | ||||
| BINARY_TOC             = NO | ||||
| TOC_EXPAND             = NO | ||||
| DISABLE_INDEX          = NO | ||||
| ENUM_VALUES_PER_LINE   = 4 | ||||
| GENERATE_TREEVIEW      = NO | ||||
| TREEVIEW_WIDTH         = 250 | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the LaTeX output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_LATEX         = NO | ||||
| LATEX_OUTPUT           =  | ||||
| COMPACT_LATEX          = NO | ||||
| PAPER_TYPE             = a4wide | ||||
| EXTRA_PACKAGES         =  | ||||
| LATEX_HEADER           =  | ||||
| PDF_HYPERLINKS         = NO | ||||
| USE_PDFLATEX           = NO | ||||
| LATEX_BATCHMODE        = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the RTF output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_RTF           = NO | ||||
| RTF_OUTPUT             =  | ||||
| COMPACT_RTF            = NO | ||||
| RTF_HYPERLINKS         = NO | ||||
| RTF_STYLESHEET_FILE    =  | ||||
| RTF_EXTENSIONS_FILE    =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the man page output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_MAN           = NO | ||||
| MAN_OUTPUT             =  | ||||
| MAN_EXTENSION          =  | ||||
| MAN_LINKS              = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options related to the XML output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_XML           = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # configuration options for the AutoGen Definitions output | ||||
| #--------------------------------------------------------------------------- | ||||
| GENERATE_AUTOGEN_DEF   = NO | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration options related to the preprocessor    | ||||
| #--------------------------------------------------------------------------- | ||||
| ENABLE_PREPROCESSING   = YES | ||||
| MACRO_EXPANSION        = NO | ||||
| EXPAND_ONLY_PREDEF     = NO | ||||
| SEARCH_INCLUDES        = YES | ||||
| INCLUDE_PATH           =  | ||||
| INCLUDE_FILE_PATTERNS  =  | ||||
| PREDEFINED             =  | ||||
| EXPAND_AS_DEFINED      =  | ||||
| SKIP_FUNCTION_MACROS   = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration::addtions related to external references    | ||||
| #--------------------------------------------------------------------------- | ||||
| TAGFILES               = core.tag=../core \ | ||||
|                          math.tag=../math \ | ||||
|                          swrast.tag=../swrast \ | ||||
|                          swrast_setup.tag=../swrast_setup \ | ||||
|                          tnl.tag=../tnl \ | ||||
|                          array_cache.tag=array_cache | ||||
| GENERATE_TAGFILE       = tnl_dd.tag | ||||
| ALLEXTERNALS           = NO | ||||
| PERL_PATH              =  | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration options related to the dot tool    | ||||
| #--------------------------------------------------------------------------- | ||||
| CLASS_DIAGRAMS         = YES | ||||
| HAVE_DOT               = NO | ||||
| CLASS_GRAPH            = YES | ||||
| COLLABORATION_GRAPH    = YES | ||||
| TEMPLATE_RELATIONS     = YES | ||||
| HIDE_UNDOC_RELATIONS   = YES | ||||
| INCLUDE_GRAPH          = YES | ||||
| INCLUDED_BY_GRAPH      = YES | ||||
| GRAPHICAL_HIERARCHY    = YES | ||||
| DOT_PATH               =  | ||||
| DOTFILE_DIRS           =  | ||||
| MAX_DOT_GRAPH_WIDTH    = 1024 | ||||
| MAX_DOT_GRAPH_HEIGHT   = 1024 | ||||
| GENERATE_LEGEND        = YES | ||||
| DOT_CLEANUP            = YES | ||||
| #--------------------------------------------------------------------------- | ||||
| # Configuration::addtions related to the search engine    | ||||
| #--------------------------------------------------------------------------- | ||||
| SEARCHENGINE           = NO | ||||
| CGI_NAME               =  | ||||
| CGI_URL                =  | ||||
| DOC_URL                =  | ||||
| DOC_ABSPATH            =  | ||||
| BIN_ABSPATH            =  | ||||
| EXT_DOC_PATHS          =  | ||||
| @@ -2,33 +2,42 @@ | ||||
|  | ||||
| GLincludedir = $(includedir)/GL | ||||
|  | ||||
| if HAVE_FX | ||||
| INC_FX = fxmesa.h | ||||
| INC_GGI = ggimesa.h | ||||
| INC_OSMESA = osmesa.h | ||||
| INC_SVGA = svgamesa.h | ||||
| INC_X11 = glx.h glxext.h glx_mangle.h xmesa.h xmesa_x.h xmesa_xf86.h | ||||
| INC_GLUT = glut.h glutf90.h | ||||
|  | ||||
| if HAVE_FX | ||||
| sel_inc_fx = $(INC_FX) | ||||
| endif | ||||
|  | ||||
| if HAVE_GGI | ||||
| INC_GGI = ggimesa.h | ||||
| sel_inc_ggi = $(INC_GGI) | ||||
| endif | ||||
|  | ||||
| if HAVE_OSMESA | ||||
| INC_OSMESA = osmesa.h | ||||
| sel_inc_osmesa = $(INC_OSMESA) | ||||
| endif | ||||
|  | ||||
| if HAVE_SVGA | ||||
| INC_SVGA = svgamesa.h | ||||
| sel_inc_svga = $(INC_SVGA) | ||||
| endif | ||||
|  | ||||
| if HAVE_X11 | ||||
| INC_X11 = glx.h glx_mangle.h xmesa.h xmesa_x.h xmesa_xf86.h | ||||
| sel_inc_x11 = $(INC_X11) | ||||
| endif | ||||
|  | ||||
| if NEED_GLUT | ||||
| INC_GLUT = glut.h | ||||
| sel_inc_glut = $(INC_GLUT) | ||||
| endif | ||||
|  | ||||
| EXTRA_DIST = fxmesa.h ggimesa.h osmesa.h svgamesa.h \ | ||||
| 	glx.h glx_mangle.h xmesa.h xmesa_x.h xmesa_xf86.h | ||||
|  | ||||
| GLinclude_HEADERS = gl.h gl_mangle.h glu.h glu_mangle.h \ | ||||
| EXTRA_HEADERS = amesa.h dosmesa.h foomesa.h glut_h.dja mesa_wgl.h mglmesa.h \ | ||||
| 	vms_x_fix.h wmesa.h \ | ||||
| 	$(INC_FX) $(INC_GGI) $(INC_OSMESA) $(INC_SVGA) $(INC_X11) $(INC_GLUT) | ||||
|  | ||||
| GLinclude_HEADERS = gl.h glext.h gl_mangle.h glu.h glu_mangle.h \ | ||||
| 	$(sel_inc_fx) $(sel_inc_ggi) $(sel_inc_osmesa) $(sel_inc_svga) \ | ||||
| 	$(sel_inc_x11) $(sel_inc_glut) | ||||
| include $(top_srcdir)/common_rules.make | ||||
|   | ||||
							
								
								
									
										79
									
								
								include/GL/dmesa.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										79
									
								
								include/GL/dmesa.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,79 @@ | ||||
| /* | ||||
|  * Mesa 3-D graphics library | ||||
|  * Version:  5.0 | ||||
|  *  | ||||
|  * Copyright (C) 1999-2002  Brian Paul   All Rights Reserved. | ||||
|  *  | ||||
|  * Permission is hereby granted, free of charge, to any person obtaining a | ||||
|  * copy of this software and associated documentation files (the "Software"), | ||||
|  * to deal in the Software without restriction, including without limitation | ||||
|  * the rights to use, copy, modify, merge, publish, distribute, sublicense, | ||||
|  * and/or sell copies of the Software, and to permit persons to whom the | ||||
|  * Software is furnished to do so, subject to the following conditions: | ||||
|  *  | ||||
|  * The above copyright notice and this permission notice shall be included | ||||
|  * in all copies or substantial portions of the Software. | ||||
|  *  | ||||
|  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | ||||
|  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
|  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL | ||||
|  * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN | ||||
|  * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||||
|  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||
|  */ | ||||
|  | ||||
| /* | ||||
|  * DOS/DJGPP device driver v1.2 for Mesa 4.1 | ||||
|  * | ||||
|  *  Copyright (C) 2002 - Borca Daniel | ||||
|  *  Email : dborca@yahoo.com | ||||
|  *  Web   : http://www.geocities.com/dborca | ||||
|  */ | ||||
|  | ||||
|  | ||||
| #ifndef DMESA_H_included | ||||
| #define DMESA_H_included | ||||
|  | ||||
| #define DMESA_MAJOR_VERSION 5 | ||||
| #define DMESA_MINOR_VERSION 0 | ||||
|  | ||||
| typedef struct dmesa_context *DMesaContext; | ||||
| typedef struct dmesa_visual *DMesaVisual; | ||||
| typedef struct dmesa_buffer *DMesaBuffer; | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| DMesaVisual DMesaCreateVisual (GLint width, GLint height, | ||||
|                                GLint colDepth, | ||||
|                                GLboolean dbFlag, | ||||
|                                GLint depthSize, | ||||
|                                GLint stencilSize, | ||||
|                                GLint accumSize); | ||||
|  | ||||
| void DMesaDestroyVisual (DMesaVisual v); | ||||
|  | ||||
| DMesaBuffer DMesaCreateBuffer (DMesaVisual visual, | ||||
|                                GLint xpos, GLint ypos, | ||||
|                                GLint width, GLint height); | ||||
|  | ||||
| void DMesaDestroyBuffer (DMesaBuffer b); | ||||
|  | ||||
| DMesaContext DMesaCreateContext (DMesaVisual visual, DMesaContext share); | ||||
|  | ||||
| void DMesaDestroyContext (DMesaContext c); | ||||
|  | ||||
| GLboolean DMesaViewport (DMesaBuffer b, | ||||
|                          GLint xpos, GLint ypos, | ||||
|                          GLint width, GLint height); | ||||
|  | ||||
| GLboolean DMesaMakeCurrent (DMesaContext c, DMesaBuffer b); | ||||
|  | ||||
| void DMesaSwapBuffers (DMesaBuffer b); | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif | ||||
| @@ -1,9 +1,9 @@ | ||||
| /* $Id: fxmesa.h,v 1.2 1999/11/24 18:44:53 brianp Exp $ */ | ||||
| /* $Id: fxmesa.h,v 1.4 2001/09/23 16:06:13 brianp Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * Mesa 3-D graphics library | ||||
|  * Version:  3.3 | ||||
|  * Copyright (C) 1995-1999  Brian Paul | ||||
|  * Version:  4.0 | ||||
|  * Copyright (C) 1995-2001  Brian Paul | ||||
|  * | ||||
|  * This library is free software; you can redistribute it and/or | ||||
|  * modify it under the terms of the GNU Library General Public | ||||
| @@ -40,8 +40,8 @@ extern "C" { | ||||
| #endif | ||||
|  | ||||
|  | ||||
| #define FXMESA_MAJOR_VERSION 3 | ||||
| #define FXMESA_MINOR_VERSION 3 | ||||
| #define FXMESA_MAJOR_VERSION 4 | ||||
| #define FXMESA_MINOR_VERSION 0 | ||||
|  | ||||
|  | ||||
| /* | ||||
|   | ||||
| @@ -1,10 +1,11 @@ | ||||
| /* $Id: ggimesa.h,v 1.3 2000/02/09 19:03:28 brianp Exp $ */ | ||||
| /* $Id: ggimesa.h,v 1.4 2002/06/10 15:16:44 brianp Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * Mesa 3-D graphics library | ||||
|  * Version:  3.3 | ||||
|  * Mesa 3-D graphics library GGI bindings (GGIGL [giggle]) | ||||
|  * Version:  4.0 | ||||
|  * Copyright (C) 1995-2000  Brian Paul | ||||
|  * Copyright (C) 1998  Uwe Maurer | ||||
|  * Copyrigth (C) 2001 Filip Spacek | ||||
|  * | ||||
|  * This library is free software; you can redistribute it and/or | ||||
|  * modify it under the terms of the GNU Library General Public | ||||
| @@ -25,34 +26,59 @@ | ||||
| #ifndef GGIMESA_H | ||||
| #define GGIMESA_H | ||||
|  | ||||
|  | ||||
| #define GGIMESA_MAJOR_VERSION 3 | ||||
| #define GGIMESA_MINOR_VERSION 3 | ||||
|  | ||||
| #define GGIMESA_MAJOR_VERSION 4 | ||||
| #define GGIMESA_MINOR_VERSION 0 | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| #include "GL/gl.h" | ||||
|  | ||||
|  | ||||
| typedef struct ggi_mesa_context *GGIMesaContext; | ||||
|  | ||||
| #include <ggi/ggi.h> | ||||
| #include "GL/gl.h" | ||||
|    | ||||
| typedef struct ggi_mesa_context *ggi_mesa_context_t; | ||||
|  | ||||
| extern GGIMesaContext GGIMesaCreateContext(void); | ||||
| /* | ||||
|  * Initialize Mesa GGI extension | ||||
|  */ | ||||
| int ggiMesaInit(void); | ||||
| /* | ||||
|  * Clean up Mesa GGI exension | ||||
|  */ | ||||
| int ggiMesaExit(void); | ||||
|  | ||||
| extern void GGIMesaDestroyContext(GGIMesaContext ctx); | ||||
| /* | ||||
|  * Attach Mesa GGI extension to the visual 'vis' | ||||
|  */ | ||||
| int ggiMesaAttach(ggi_visual_t vis); | ||||
| /* | ||||
|  * Detach Mesa GGI extension from the visual 'vis' | ||||
|  */ | ||||
| int ggiMesaDetach(ggi_visual_t vis); | ||||
|  | ||||
| extern void GGIMesaMakeCurrent(GGIMesaContext ctx); | ||||
| int ggiMesaExtendVisual(ggi_visual_t vis, GLboolean alpha_flag, | ||||
| 			GLboolean stereo_flag, GLint depth_size, | ||||
| 			GLint stencil_size, GLint accum_red_size, | ||||
| 			GLint accum_green_size, GLint accum_blue_size, | ||||
| 			GLint accum_alpha_size, GLint num_samples); | ||||
|  | ||||
| extern GGIMesaContext GGIMesaGetCurrentContext(void); | ||||
| /* | ||||
|  * Create a new context capable of displaying on the visual vis. | ||||
|  */ | ||||
| ggi_mesa_context_t ggiMesaCreateContext(ggi_visual_t vis); | ||||
| /* | ||||
|  * Destroy the context 'ctx' | ||||
|  */ | ||||
| void ggiMesaDestroyContext(ggi_mesa_context_t ctx); | ||||
|  | ||||
| extern void GGIMesaSwapBuffers(void); | ||||
| /* | ||||
|  * Make context 'ctx' the current context and bind it to visual 'vis'. | ||||
|  * Note that the context must have been created with respect to that visual. | ||||
|  */ | ||||
| void ggiMesaMakeCurrent(ggi_mesa_context_t ctx, ggi_visual_t vis); | ||||
|  | ||||
| void ggiMesaSwapBuffers(void); | ||||
|  | ||||
| extern int GGIMesaSetVisual(GGIMesaContext ctx, ggi_visual_t vis, | ||||
| 			    GLboolean rgb_flag, GLboolean db_flag); | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
|   | ||||
							
								
								
									
										889
									
								
								include/GL/gl.h
									
									
									
									
									
								
							
							
						
						
									
										889
									
								
								include/GL/gl.h
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										3088
									
								
								include/GL/glext.h
									
									
									
									
									
								
							
							
						
						
									
										3088
									
								
								include/GL/glext.h
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										817
									
								
								include/GL/glu.h
									
									
									
									
									
								
							
							
						
						
									
										817
									
								
								include/GL/glu.h
									
									
									
									
									
								
							| @@ -1,534 +1,335 @@ | ||||
| /* $Id: glu.h,v 1.22 2000/07/11 14:11:44 brianp Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * Mesa 3-D graphics library | ||||
|  * Version:  3.3 | ||||
|  * Copyright (C) 1995-2000  Brian Paul | ||||
|  * | ||||
|  * This library is free software; you can redistribute it and/or | ||||
|  * modify it under the terms of the GNU Library General Public | ||||
|  * License as published by the Free Software Foundation; either | ||||
|  * version 2 of the License, or (at your option) any later version. | ||||
|  * | ||||
|  * This library is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | ||||
|  * Library General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU Library General Public | ||||
|  * License along with this library; if not, write to the Free | ||||
|  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||||
|  */ | ||||
|  | ||||
|  | ||||
| #ifndef GLU_H | ||||
| #define GLU_H | ||||
| ** License Applicability. Except to the extent portions of this file are | ||||
| ** made subject to an alternative license as permitted in the SGI Free | ||||
| ** Software License B, Version 1.1 (the "License"), the contents of this | ||||
| ** file are subject only to the provisions of the License. You may not use | ||||
| ** this file except in compliance with the License. You may obtain a copy | ||||
| ** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 | ||||
| ** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at: | ||||
| **  | ||||
| ** http://oss.sgi.com/projects/FreeB | ||||
| **  | ||||
| ** Note that, as provided in the License, the Software is distributed on an | ||||
| ** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS | ||||
| ** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND | ||||
| ** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A | ||||
| ** PARTICULAR PURPOSE, AND NON-INFRINGEMENT. | ||||
| **  | ||||
| ** Original Code. The Original Code is: OpenGL Sample Implementation, | ||||
| ** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics, | ||||
| ** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc. | ||||
| ** Copyright in any portions created by third parties is as indicated | ||||
| ** elsewhere herein. All Rights Reserved. | ||||
| **  | ||||
| ** Additional Notice Provisions: This software was created using the | ||||
| ** OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has | ||||
| ** not been independently verified as being compliant with the OpenGL(R) | ||||
| ** version 1.2.1 Specification. | ||||
| */ | ||||
|  | ||||
| #ifndef __glu_h__ | ||||
| #define __glu_h__ | ||||
|  | ||||
| #if defined(USE_MGL_NAMESPACE) | ||||
| #include "glu_mangle.h" | ||||
| #endif | ||||
|  | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
|  | ||||
| #include <GL/gl.h> | ||||
|  | ||||
|  | ||||
| 	/* to facilitate clean DLL building ... */ | ||||
| #if !defined(OPENSTEP) && (defined(__WIN32__) || defined(__CYGWIN__)) | ||||
| #	if defined(_MSC_VER) && defined(BUILD_GLU32) /* tag specify we're building mesa as a DLL */ | ||||
| #		define GLUAPI __declspec(dllexport) | ||||
| #	elif defined(_MSC_VER) && defined(_DLL) /* tag specifying we're building for DLL runtime support */ | ||||
| #		define GLUAPI __declspec(dllimport) | ||||
| #	else /* for use with static link lib build of Win32 edition only */ | ||||
| #		define GLUAPI extern | ||||
| #	endif /* _STATIC_MESA support */ | ||||
| #	define GLCALLBACK __stdcall | ||||
| #	define GLCALLBACKP __stdcall * | ||||
| #else | ||||
| #	define GLUAPI extern | ||||
| #	define GLCALLBACK | ||||
| #	define GLCALLBACKP * | ||||
| #endif /* WIN32 / CYGWIN bracket */ | ||||
|  | ||||
| /* compatability guard so we don't need to change client code */ | ||||
| #if defined(_WIN32) && !defined(_WINDEF_) && !defined(_GNU_H_WINDOWS32_BASE) && !defined(OPENSTEP) | ||||
| #	define CALLBACK GLCALLBACK | ||||
| #endif | ||||
|  | ||||
|  | ||||
| #ifdef macintosh | ||||
| 	#pragma enumsalwaysint on | ||||
| 	#if PRAGMA_IMPORT_SUPPORTED | ||||
| 	#pragma import on | ||||
| 	#endif | ||||
| #endif | ||||
|  | ||||
| #ifndef GLUAPI | ||||
| #define GLUAPI | ||||
| #endif | ||||
|  | ||||
| #ifndef GLAPIENTRY | ||||
| #define GLAPIENTRY | ||||
| #endif | ||||
|  | ||||
| #ifndef GLCALLBACK | ||||
| #define GLCALLBACK | ||||
| #ifndef GLAPI | ||||
| #define GLAPI | ||||
| #endif | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| #define GLU_VERSION_1_1			1 | ||||
| /*************************************************************/ | ||||
|  | ||||
| /* Extensions */ | ||||
| #define GLU_EXT_object_space_tess          1 | ||||
| #define GLU_EXT_nurbs_tessellator          1 | ||||
|  | ||||
| /* Boolean */ | ||||
| #define GLU_FALSE                          0 | ||||
| #define GLU_TRUE                           1 | ||||
|  | ||||
| /* Version */ | ||||
| #define GLU_VERSION_1_1                    1 | ||||
| #define GLU_VERSION_1_2                    1 | ||||
| #define GLU_VERSION_1_3                    1 | ||||
|  | ||||
| /* StringName */ | ||||
| #define GLU_VERSION                        100800 | ||||
| #define GLU_EXTENSIONS                     100801 | ||||
|  | ||||
| /* ErrorCode */ | ||||
| #define GLU_INVALID_ENUM                   100900 | ||||
| #define GLU_INVALID_VALUE                  100901 | ||||
| #define GLU_OUT_OF_MEMORY                  100902 | ||||
| #define GLU_INVALID_OPERATION              100904 | ||||
|  | ||||
| /* NurbsDisplay */ | ||||
| /*      GLU_FILL */ | ||||
| #define GLU_OUTLINE_POLYGON                100240 | ||||
| #define GLU_OUTLINE_PATCH                  100241 | ||||
|  | ||||
| /* NurbsCallback */ | ||||
| #define GLU_NURBS_ERROR                    100103 | ||||
| #define GLU_ERROR                          100103 | ||||
| #define GLU_NURBS_BEGIN                    100164 | ||||
| #define GLU_NURBS_BEGIN_EXT                100164 | ||||
| #define GLU_NURBS_VERTEX                   100165 | ||||
| #define GLU_NURBS_VERTEX_EXT               100165 | ||||
| #define GLU_NURBS_NORMAL                   100166 | ||||
| #define GLU_NURBS_NORMAL_EXT               100166 | ||||
| #define GLU_NURBS_COLOR                    100167 | ||||
| #define GLU_NURBS_COLOR_EXT                100167 | ||||
| #define GLU_NURBS_TEXTURE_COORD            100168 | ||||
| #define GLU_NURBS_TEX_COORD_EXT            100168 | ||||
| #define GLU_NURBS_END                      100169 | ||||
| #define GLU_NURBS_END_EXT                  100169 | ||||
| #define GLU_NURBS_BEGIN_DATA               100170 | ||||
| #define GLU_NURBS_BEGIN_DATA_EXT           100170 | ||||
| #define GLU_NURBS_VERTEX_DATA              100171 | ||||
| #define GLU_NURBS_VERTEX_DATA_EXT          100171 | ||||
| #define GLU_NURBS_NORMAL_DATA              100172 | ||||
| #define GLU_NURBS_NORMAL_DATA_EXT          100172 | ||||
| #define GLU_NURBS_COLOR_DATA               100173 | ||||
| #define GLU_NURBS_COLOR_DATA_EXT           100173 | ||||
| #define GLU_NURBS_TEXTURE_COORD_DATA       100174 | ||||
| #define GLU_NURBS_TEX_COORD_DATA_EXT       100174 | ||||
| #define GLU_NURBS_END_DATA                 100175 | ||||
| #define GLU_NURBS_END_DATA_EXT             100175 | ||||
|  | ||||
| /* NurbsError */ | ||||
| #define GLU_NURBS_ERROR1                   100251 | ||||
| #define GLU_NURBS_ERROR2                   100252 | ||||
| #define GLU_NURBS_ERROR3                   100253 | ||||
| #define GLU_NURBS_ERROR4                   100254 | ||||
| #define GLU_NURBS_ERROR5                   100255 | ||||
| #define GLU_NURBS_ERROR6                   100256 | ||||
| #define GLU_NURBS_ERROR7                   100257 | ||||
| #define GLU_NURBS_ERROR8                   100258 | ||||
| #define GLU_NURBS_ERROR9                   100259 | ||||
| #define GLU_NURBS_ERROR10                  100260 | ||||
| #define GLU_NURBS_ERROR11                  100261 | ||||
| #define GLU_NURBS_ERROR12                  100262 | ||||
| #define GLU_NURBS_ERROR13                  100263 | ||||
| #define GLU_NURBS_ERROR14                  100264 | ||||
| #define GLU_NURBS_ERROR15                  100265 | ||||
| #define GLU_NURBS_ERROR16                  100266 | ||||
| #define GLU_NURBS_ERROR17                  100267 | ||||
| #define GLU_NURBS_ERROR18                  100268 | ||||
| #define GLU_NURBS_ERROR19                  100269 | ||||
| #define GLU_NURBS_ERROR20                  100270 | ||||
| #define GLU_NURBS_ERROR21                  100271 | ||||
| #define GLU_NURBS_ERROR22                  100272 | ||||
| #define GLU_NURBS_ERROR23                  100273 | ||||
| #define GLU_NURBS_ERROR24                  100274 | ||||
| #define GLU_NURBS_ERROR25                  100275 | ||||
| #define GLU_NURBS_ERROR26                  100276 | ||||
| #define GLU_NURBS_ERROR27                  100277 | ||||
| #define GLU_NURBS_ERROR28                  100278 | ||||
| #define GLU_NURBS_ERROR29                  100279 | ||||
| #define GLU_NURBS_ERROR30                  100280 | ||||
| #define GLU_NURBS_ERROR31                  100281 | ||||
| #define GLU_NURBS_ERROR32                  100282 | ||||
| #define GLU_NURBS_ERROR33                  100283 | ||||
| #define GLU_NURBS_ERROR34                  100284 | ||||
| #define GLU_NURBS_ERROR35                  100285 | ||||
| #define GLU_NURBS_ERROR36                  100286 | ||||
| #define GLU_NURBS_ERROR37                  100287 | ||||
|  | ||||
| /* NurbsProperty */ | ||||
| #define GLU_AUTO_LOAD_MATRIX               100200 | ||||
| #define GLU_CULLING                        100201 | ||||
| #define GLU_SAMPLING_TOLERANCE             100203 | ||||
| #define GLU_DISPLAY_MODE                   100204 | ||||
| #define GLU_PARAMETRIC_TOLERANCE           100202 | ||||
| #define GLU_SAMPLING_METHOD                100205 | ||||
| #define GLU_U_STEP                         100206 | ||||
| #define GLU_V_STEP                         100207 | ||||
| #define GLU_NURBS_MODE                     100160 | ||||
| #define GLU_NURBS_MODE_EXT                 100160 | ||||
| #define GLU_NURBS_TESSELLATOR              100161 | ||||
| #define GLU_NURBS_TESSELLATOR_EXT          100161 | ||||
| #define GLU_NURBS_RENDERER                 100162 | ||||
| #define GLU_NURBS_RENDERER_EXT             100162 | ||||
|  | ||||
| /* NurbsSampling */ | ||||
| #define GLU_OBJECT_PARAMETRIC_ERROR        100208 | ||||
| #define GLU_OBJECT_PARAMETRIC_ERROR_EXT    100208 | ||||
| #define GLU_OBJECT_PATH_LENGTH             100209 | ||||
| #define GLU_OBJECT_PATH_LENGTH_EXT         100209 | ||||
| #define GLU_PATH_LENGTH                    100215 | ||||
| #define GLU_PARAMETRIC_ERROR               100216 | ||||
| #define GLU_DOMAIN_DISTANCE                100217 | ||||
|  | ||||
| /* NurbsTrim */ | ||||
| #define GLU_MAP1_TRIM_2                    100210 | ||||
| #define GLU_MAP1_TRIM_3                    100211 | ||||
|  | ||||
| /* QuadricDrawStyle */ | ||||
| #define GLU_POINT                          100010 | ||||
| #define GLU_LINE                           100011 | ||||
| #define GLU_FILL                           100012 | ||||
| #define GLU_SILHOUETTE                     100013 | ||||
|  | ||||
| /* QuadricCallback */ | ||||
| /*      GLU_ERROR */ | ||||
|  | ||||
| /* QuadricNormal */ | ||||
| #define GLU_SMOOTH                         100000 | ||||
| #define GLU_FLAT                           100001 | ||||
| #define GLU_NONE                           100002 | ||||
|  | ||||
| /* QuadricOrientation */ | ||||
| #define GLU_OUTSIDE                        100020 | ||||
| #define GLU_INSIDE                         100021 | ||||
|  | ||||
| /* TessCallback */ | ||||
| #define GLU_TESS_BEGIN                     100100 | ||||
| #define GLU_BEGIN                          100100 | ||||
| #define GLU_TESS_VERTEX                    100101 | ||||
| #define GLU_VERTEX                         100101 | ||||
| #define GLU_TESS_END                       100102 | ||||
| #define GLU_END                            100102 | ||||
| #define GLU_TESS_ERROR                     100103 | ||||
| #define GLU_TESS_EDGE_FLAG                 100104 | ||||
| #define GLU_EDGE_FLAG                      100104 | ||||
| #define GLU_TESS_COMBINE                   100105 | ||||
| #define GLU_TESS_BEGIN_DATA                100106 | ||||
| #define GLU_TESS_VERTEX_DATA               100107 | ||||
| #define GLU_TESS_END_DATA                  100108 | ||||
| #define GLU_TESS_ERROR_DATA                100109 | ||||
| #define GLU_TESS_EDGE_FLAG_DATA            100110 | ||||
| #define GLU_TESS_COMBINE_DATA              100111 | ||||
|  | ||||
| /* TessContour */ | ||||
| #define GLU_CW                             100120 | ||||
| #define GLU_CCW                            100121 | ||||
| #define GLU_INTERIOR                       100122 | ||||
| #define GLU_EXTERIOR                       100123 | ||||
| #define GLU_UNKNOWN                        100124 | ||||
|  | ||||
| /* TessProperty */ | ||||
| #define GLU_TESS_WINDING_RULE              100140 | ||||
| #define GLU_TESS_BOUNDARY_ONLY             100141 | ||||
| #define GLU_TESS_TOLERANCE                 100142 | ||||
|  | ||||
| /* TessError */ | ||||
| #define GLU_TESS_ERROR1                    100151 | ||||
| #define GLU_TESS_ERROR2                    100152 | ||||
| #define GLU_TESS_ERROR3                    100153 | ||||
| #define GLU_TESS_ERROR4                    100154 | ||||
| #define GLU_TESS_ERROR5                    100155 | ||||
| #define GLU_TESS_ERROR6                    100156 | ||||
| #define GLU_TESS_ERROR7                    100157 | ||||
| #define GLU_TESS_ERROR8                    100158 | ||||
| #define GLU_TESS_MISSING_BEGIN_POLYGON     100151 | ||||
| #define GLU_TESS_MISSING_BEGIN_CONTOUR     100152 | ||||
| #define GLU_TESS_MISSING_END_POLYGON       100153 | ||||
| #define GLU_TESS_MISSING_END_CONTOUR       100154 | ||||
| #define GLU_TESS_COORD_TOO_LARGE           100155 | ||||
| #define GLU_TESS_NEED_COMBINE_CALLBACK     100156 | ||||
|  | ||||
| /* TessWinding */ | ||||
| #define GLU_TESS_WINDING_ODD               100130 | ||||
| #define GLU_TESS_WINDING_NONZERO           100131 | ||||
| #define GLU_TESS_WINDING_POSITIVE          100132 | ||||
| #define GLU_TESS_WINDING_NEGATIVE          100133 | ||||
| #define GLU_TESS_WINDING_ABS_GEQ_TWO       100134 | ||||
|  | ||||
| /*************************************************************/ | ||||
|  | ||||
|  | ||||
|  | ||||
| #define GLU_TRUE			1 | ||||
| #define GLU_FALSE			0 | ||||
|  | ||||
|  | ||||
| /* Normal vectors */ | ||||
| #define GLU_SMOOTH			100000 | ||||
| #define GLU_FLAT			100001 | ||||
| #define GLU_NONE			100002 | ||||
|  | ||||
| /* Quadric draw styles */ | ||||
| #define GLU_POINT			100010 | ||||
| #define GLU_LINE			100011 | ||||
| #define GLU_FILL			100012 | ||||
| #define GLU_SILHOUETTE			100013 | ||||
|  | ||||
| /* Quadric orientation */ | ||||
| #define GLU_OUTSIDE			100020 | ||||
| #define GLU_INSIDE			100021 | ||||
|  | ||||
| /* Tessellator */ | ||||
| #define GLU_TESS_BEGIN			100100 | ||||
| #define GLU_TESS_VERTEX			100101 | ||||
| #define GLU_TESS_END			100102 | ||||
| #define GLU_TESS_ERROR			100103 | ||||
| #define GLU_TESS_EDGE_FLAG		100104 | ||||
| #define GLU_TESS_COMBINE		100105 | ||||
|  | ||||
| #define GLU_TESS_BEGIN_DATA		100106 | ||||
| #define GLU_TESS_VERTEX_DATA		100107 | ||||
| #define GLU_TESS_END_DATA		100108 | ||||
| #define GLU_TESS_ERROR_DATA		100109 | ||||
| #define GLU_TESS_EDGE_FLAG_DATA		100110 | ||||
| #define GLU_TESS_COMBINE_DATA		100111 | ||||
|  | ||||
| /* Winding rules */ | ||||
| #define GLU_TESS_WINDING_ODD		100130 | ||||
| #define GLU_TESS_WINDING_NONZERO	100131 | ||||
| #define GLU_TESS_WINDING_POSITIVE	100132 | ||||
| #define GLU_TESS_WINDING_NEGATIVE	100133 | ||||
| #define GLU_TESS_WINDING_ABS_GEQ_TWO	100134 | ||||
|  | ||||
| /* Tessellation properties */ | ||||
| #define GLU_TESS_WINDING_RULE		100140 | ||||
| #define GLU_TESS_BOUNDARY_ONLY		100141 | ||||
| #define GLU_TESS_TOLERANCE		100142 | ||||
|  | ||||
| /* Tessellation errors */ | ||||
| #define GLU_TESS_ERROR1			100151  /* Missing gluBeginPolygon */ | ||||
| #define GLU_TESS_ERROR2			100152  /* Missing gluBeginContour */ | ||||
| #define GLU_TESS_ERROR3			100153  /* Missing gluEndPolygon */ | ||||
| #define GLU_TESS_ERROR4			100154  /* Missing gluEndContour */ | ||||
| #define GLU_TESS_ERROR5			100155  /* */ | ||||
| #define GLU_TESS_ERROR6			100156  /* */ | ||||
| #define GLU_TESS_ERROR7			100157  /* */ | ||||
| #define GLU_TESS_ERROR8			100158  /* */ | ||||
|  | ||||
| /* NURBS */ | ||||
| #define GLU_AUTO_LOAD_MATRIX		100200 | ||||
| #define GLU_CULLING			100201 | ||||
| #define GLU_PARAMETRIC_TOLERANCE	100202 | ||||
| #define GLU_SAMPLING_TOLERANCE		100203 | ||||
| #define GLU_DISPLAY_MODE		100204 | ||||
| #define GLU_SAMPLING_METHOD		100205 | ||||
| #define GLU_U_STEP			100206 | ||||
| #define GLU_V_STEP			100207 | ||||
|  | ||||
| #define GLU_PATH_LENGTH			100215 | ||||
| #define GLU_PARAMETRIC_ERROR		100216 | ||||
| #define GLU_DOMAIN_DISTANCE		100217 | ||||
|  | ||||
| #define GLU_MAP1_TRIM_2			100210 | ||||
| #define GLU_MAP1_TRIM_3			100211 | ||||
|  | ||||
| #define GLU_OUTLINE_POLYGON		100240 | ||||
| #define GLU_OUTLINE_PATCH		100241 | ||||
|  | ||||
| #define GLU_NURBS_ERROR1	100251   /* spline order un-supported */ | ||||
| #define GLU_NURBS_ERROR2	100252   /* too few knots */ | ||||
| #define GLU_NURBS_ERROR3	100253   /* valid knot range is empty */ | ||||
| #define GLU_NURBS_ERROR4	100254   /* decreasing knot sequence */ | ||||
| #define GLU_NURBS_ERROR5	100255   /* knot multiplicity > spline order */ | ||||
| #define GLU_NURBS_ERROR6	100256   /* endcurve() must follow bgncurve() */ | ||||
| #define GLU_NURBS_ERROR7	100257   /* bgncurve() must precede endcurve() */ | ||||
| #define GLU_NURBS_ERROR8	100258   /* ctrlarray or knot vector is NULL */ | ||||
| #define GLU_NURBS_ERROR9 	100259   /* can't draw pwlcurves */ | ||||
| #define GLU_NURBS_ERROR10	100260   /* missing gluNurbsCurve() */ | ||||
| #define GLU_NURBS_ERROR11	100261   /* missing gluNurbsSurface() */ | ||||
| #define GLU_NURBS_ERROR12	100262   /* endtrim() must precede endsurface() */ | ||||
| #define GLU_NURBS_ERROR13	100263   /* bgnsurface() must precede endsurface() */ | ||||
| #define GLU_NURBS_ERROR14	100264   /* curve of improper type passed as trim curve */ | ||||
| #define GLU_NURBS_ERROR15	100265   /* bgnsurface() must precede bgntrim() */ | ||||
| #define GLU_NURBS_ERROR16	100266   /* endtrim() must follow bgntrim() */ | ||||
| #define GLU_NURBS_ERROR17	100267   /* bgntrim() must precede endtrim()*/ | ||||
| #define GLU_NURBS_ERROR18	100268   /* invalid or missing trim curve*/ | ||||
| #define GLU_NURBS_ERROR19	100269   /* bgntrim() must precede pwlcurve() */ | ||||
| #define GLU_NURBS_ERROR20	100270   /* pwlcurve referenced twice*/ | ||||
| #define GLU_NURBS_ERROR21	100271   /* pwlcurve and nurbscurve mixed */ | ||||
| #define GLU_NURBS_ERROR22	100272   /* improper usage of trim data type */ | ||||
| #define GLU_NURBS_ERROR23	100273   /* nurbscurve referenced twice */ | ||||
| #define GLU_NURBS_ERROR24	100274   /* nurbscurve and pwlcurve mixed */ | ||||
| #define GLU_NURBS_ERROR25	100275   /* nurbssurface referenced twice */ | ||||
| #define GLU_NURBS_ERROR26	100276   /* invalid property */ | ||||
| #define GLU_NURBS_ERROR27	100277   /* endsurface() must follow bgnsurface() */ | ||||
| #define GLU_NURBS_ERROR28	100278   /* intersecting or misoriented trim curves */ | ||||
| #define GLU_NURBS_ERROR29	100279   /* intersecting trim curves */ | ||||
| #define GLU_NURBS_ERROR30	100280   /* UNUSED */ | ||||
| #define GLU_NURBS_ERROR31	100281   /* unconnected trim curves */ | ||||
| #define GLU_NURBS_ERROR32	100282   /* unknown knot error */ | ||||
| #define GLU_NURBS_ERROR33	100283   /* negative vertex count encountered */ | ||||
| #define GLU_NURBS_ERROR34	100284   /* negative byte-stride */ | ||||
| #define GLU_NURBS_ERROR35	100285   /* unknown type descriptor */ | ||||
| #define GLU_NURBS_ERROR36	100286   /* null control point reference */ | ||||
| #define GLU_NURBS_ERROR37	100287   /* duplicate point on pwlcurve */ | ||||
|  | ||||
| /* GLU 1.3 and later */ | ||||
| #define GLU_NURBS_MODE ? | ||||
|  | ||||
|  | ||||
| /* Errors */ | ||||
| #define GLU_INVALID_ENUM		100900 | ||||
| #define GLU_INVALID_VALUE		100901 | ||||
| #define GLU_OUT_OF_MEMORY		100902 | ||||
| #define GLU_INCOMPATIBLE_GL_VERSION	100903 | ||||
|  | ||||
| /* GLU 1.1 and later */ | ||||
| #define GLU_VERSION			100800 | ||||
| #define GLU_EXTENSIONS			100801 | ||||
|  | ||||
|  | ||||
| /*** GLU 1.0 tessellation  ***/ | ||||
|  | ||||
| /* Contour types */ | ||||
| #define GLU_CW				100120 | ||||
| #define GLU_CCW				100121 | ||||
| #define GLU_INTERIOR			100122 | ||||
| #define GLU_EXTERIOR			100123 | ||||
| #define GLU_UNKNOWN			100124 | ||||
|  | ||||
| /* Tessellator */ | ||||
| #define GLU_BEGIN			GLU_TESS_BEGIN | ||||
| #define GLU_VERTEX			GLU_TESS_VERTEX | ||||
| #define GLU_END				GLU_TESS_END | ||||
| #define GLU_ERROR			GLU_TESS_ERROR | ||||
| #define GLU_EDGE_FLAG			GLU_TESS_EDGE_FLAG | ||||
|  | ||||
|  | ||||
|  | ||||
| #if defined(__BEOS__) | ||||
|     /* The BeOS does something funky and makes these typedefs in one | ||||
|      * of its system headers. | ||||
|      */ | ||||
| #ifdef __cplusplus | ||||
| class GLUnurbs; | ||||
| class GLUquadric; | ||||
| class GLUtesselator; | ||||
| #else | ||||
|  | ||||
| #if defined GLU_VERSION_1_2 | ||||
|     typedef struct GLUquadric GLUquadricObj; | ||||
|     typedef struct GLUnurbs GLUnurbsObj; | ||||
|     /* FIXME: We need to implement the other 1.3 typedefs - GH */ | ||||
|     typedef struct GLUtesselator GLUtesselator; | ||||
|     typedef GLUtesselator GLUtriangulatorObj; | ||||
| #else | ||||
|     /* GLU 1.1 and older */ | ||||
|     typedef struct GLUquadric GLUquadricObj; | ||||
|     typedef struct GLUtriangulatorObj GLUtriangulatorObj; | ||||
|     typedef struct GLUnurbs GLUnurbsObj; | ||||
| #endif | ||||
|  | ||||
| #endif | ||||
|  | ||||
|  | ||||
|  | ||||
| #if defined(__BEOS__) || defined(__QUICKDRAW__) | ||||
| #pragma export on | ||||
| #endif | ||||
|  | ||||
|  | ||||
| /* | ||||
|  * | ||||
|  * Miscellaneous functions | ||||
|  * | ||||
|  */ | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluLookAt( GLdouble eyex, GLdouble eyey, GLdouble eyez, | ||||
|                                   GLdouble centerx, GLdouble centery, | ||||
|                                   GLdouble centerz, | ||||
|                                   GLdouble upx, GLdouble upy, GLdouble upz ); | ||||
|  | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluOrtho2D( GLdouble left, GLdouble right, | ||||
|                                    GLdouble bottom, GLdouble top ); | ||||
|  | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluPerspective( GLdouble fovy, GLdouble aspect, | ||||
|                                        GLdouble zNear, GLdouble zFar ); | ||||
|  | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluPickMatrix( GLdouble x, GLdouble y, | ||||
|                                       GLdouble width, GLdouble height, | ||||
|                                       const GLint viewport[4] ); | ||||
|  | ||||
| GLUAPI GLint GLAPIENTRY gluProject( GLdouble objx, GLdouble objy, GLdouble objz, | ||||
|                                     const GLdouble modelMatrix[16], | ||||
|                                     const GLdouble projMatrix[16], | ||||
|                                     const GLint viewport[4], | ||||
|                                     GLdouble *winx, GLdouble *winy, | ||||
|                                     GLdouble *winz ); | ||||
|  | ||||
| GLUAPI GLint GLAPIENTRY gluUnProject( GLdouble winx, GLdouble winy, | ||||
|                                       GLdouble winz, | ||||
|                                       const GLdouble modelMatrix[16], | ||||
|                                       const GLdouble projMatrix[16], | ||||
|                                       const GLint viewport[4], | ||||
|                                       GLdouble *objx, GLdouble *objy, | ||||
|                                       GLdouble *objz ); | ||||
|  | ||||
| GLUAPI const GLubyte* GLAPIENTRY gluErrorString( GLenum errorCode ); | ||||
|  | ||||
|  | ||||
|  | ||||
| /* | ||||
|  * | ||||
|  * Mipmapping and image scaling | ||||
|  * | ||||
|  */ | ||||
|  | ||||
| GLUAPI GLint GLAPIENTRY gluScaleImage( GLenum format, | ||||
|                                        GLsizei widthin, GLsizei heightin, | ||||
|                                        GLenum typein, const void *datain, | ||||
|                                        GLsizei widthout, GLsizei heightout, | ||||
|                                        GLenum typeout, void *dataout ); | ||||
|  | ||||
| GLUAPI GLint GLAPIENTRY gluBuild1DMipmaps( GLenum target, GLint components, | ||||
|                                            GLsizei width, GLenum format, | ||||
|                                            GLenum type, const void *data ); | ||||
|  | ||||
| GLUAPI GLint GLAPIENTRY gluBuild2DMipmaps( GLenum target, GLint components, | ||||
|                                            GLsizei width, GLsizei height, | ||||
|                                            GLenum format, | ||||
|                                            GLenum type, const void *data ); | ||||
|  | ||||
|  | ||||
|  | ||||
| /* | ||||
|  * | ||||
|  * Quadrics | ||||
|  * | ||||
|  */ | ||||
|  | ||||
| GLUAPI GLUquadricObj* GLAPIENTRY gluNewQuadric( void ); | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluDeleteQuadric( GLUquadricObj *state ); | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluQuadricDrawStyle( GLUquadricObj *quadObject, | ||||
|                                             GLenum drawStyle ); | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluQuadricOrientation( GLUquadricObj *quadObject, | ||||
|                                               GLenum orientation ); | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluQuadricNormals( GLUquadricObj *quadObject, | ||||
|                                           GLenum normals ); | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluQuadricTexture( GLUquadricObj *quadObject, | ||||
|                                           GLboolean textureCoords ); | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluQuadricCallback( GLUquadricObj *qobj, | ||||
|                                            GLenum which, | ||||
|                                            void (GLCALLBACK *fn)() ); | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluCylinder( GLUquadricObj *qobj, | ||||
|                                     GLdouble baseRadius, | ||||
|                                     GLdouble topRadius, | ||||
|                                     GLdouble height, | ||||
|                                     GLint slices, GLint stacks ); | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluSphere( GLUquadricObj *qobj, | ||||
|                                   GLdouble radius, | ||||
|                                   GLint slices, GLint stacks ); | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluDisk( GLUquadricObj *qobj, | ||||
|                                 GLdouble innerRadius, GLdouble outerRadius, | ||||
|                                 GLint slices, GLint loops ); | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluPartialDisk( GLUquadricObj *qobj, | ||||
|                                        GLdouble innerRadius, | ||||
|                                        GLdouble outerRadius, GLint slices, | ||||
|                                        GLint loops, GLdouble startAngle, | ||||
|                                        GLdouble sweepAngle ); | ||||
|  | ||||
|  | ||||
|  | ||||
| /* | ||||
|  * | ||||
|  * Nurbs | ||||
|  * | ||||
|  */ | ||||
|  | ||||
| GLUAPI GLUnurbsObj* GLAPIENTRY gluNewNurbsRenderer( void ); | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluDeleteNurbsRenderer( GLUnurbsObj *nobj ); | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluLoadSamplingMatrices( GLUnurbsObj *nobj, | ||||
|                                                 const GLfloat modelMatrix[16], | ||||
|                                                 const GLfloat projMatrix[16], | ||||
|                                                 const GLint viewport[4] ); | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluNurbsProperty( GLUnurbsObj *nobj, GLenum property, | ||||
|                                          GLfloat value ); | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluGetNurbsProperty( GLUnurbsObj *nobj, GLenum property, | ||||
|                                             GLfloat *value ); | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluBeginCurve( GLUnurbsObj *nobj ); | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluEndCurve( GLUnurbsObj * nobj ); | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluNurbsCurve( GLUnurbsObj *nobj, GLint nknots, | ||||
|                                       GLfloat *knot, GLint stride, | ||||
|                                       GLfloat *ctlarray, GLint order, | ||||
|                                       GLenum type ); | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluBeginSurface( GLUnurbsObj *nobj ); | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluEndSurface( GLUnurbsObj * nobj ); | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluNurbsSurface( GLUnurbsObj *nobj, | ||||
|                                         GLint sknot_count, GLfloat *sknot, | ||||
|                                         GLint tknot_count, GLfloat *tknot, | ||||
|                                         GLint s_stride, GLint t_stride, | ||||
|                                         GLfloat *ctlarray, | ||||
|                                         GLint sorder, GLint torder, | ||||
|                                         GLenum type ); | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluBeginTrim( GLUnurbsObj *nobj ); | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluEndTrim( GLUnurbsObj *nobj ); | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluPwlCurve( GLUnurbsObj *nobj, GLint count, | ||||
|                                     GLfloat *array, | ||||
|                                     GLint stride, GLenum type ); | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluNurbsCallback( GLUnurbsObj *nobj, GLenum which, | ||||
|                                          void (GLCALLBACK *fn)() ); | ||||
|  | ||||
|  | ||||
|  | ||||
| /* | ||||
|  * | ||||
|  * Polygon tessellation | ||||
|  * | ||||
|  */ | ||||
|  | ||||
| #ifdef GLU_VERSION_1_2 | ||||
|  | ||||
| GLUAPI GLUtesselator* GLAPIENTRY gluNewTess( void ); | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluDeleteTess( GLUtesselator *tobj ); | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluTessBeginPolygon( GLUtesselator *tobj, | ||||
| 					    void *polygon_data ); | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluTessBeginContour( GLUtesselator *tobj ); | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluTessVertex( GLUtesselator *tobj, GLdouble coords[3], | ||||
| 				      void *vertex_data ); | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluTessEndContour( GLUtesselator *tobj ); | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluTessEndPolygon( GLUtesselator *tobj ); | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluTessProperty( GLUtesselator *tobj, GLenum which, | ||||
| 					GLdouble value ); | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluTessNormal( GLUtesselator *tobj, GLdouble x, | ||||
| 				      GLdouble y, GLdouble z ); | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluTessCallback( GLUtesselator *tobj, GLenum which, | ||||
| 					void (GLCALLBACK *fn)() ); | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluGetTessProperty( GLUtesselator *tobj, GLenum which, | ||||
| 					   GLdouble *value ); | ||||
|  | ||||
| #else | ||||
|  | ||||
| GLUAPI GLUtriangulatorObj* GLAPIENTRY gluNewTess( void ); | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluTessCallback( GLUtriangulatorObj *tobj, GLenum which, | ||||
|                                         void (GLCALLBACK *fn)() ); | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluDeleteTess( GLUtriangulatorObj *tobj ); | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluBeginPolygon( GLUtriangulatorObj *tobj ); | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluEndPolygon( GLUtriangulatorObj *tobj ); | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluNextContour( GLUtriangulatorObj *tobj, GLenum type ); | ||||
|  | ||||
| GLUAPI void GLAPIENTRY gluTessVertex( GLUtriangulatorObj *tobj, GLdouble v[3], | ||||
|                                       void *data ); | ||||
|  | ||||
| #endif | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| /* | ||||
|  * | ||||
|  * New functions in GLU 1.1 | ||||
|  * | ||||
|  */ | ||||
|  | ||||
| GLUAPI const GLubyte* GLAPIENTRY gluGetString( GLenum name ); | ||||
|  | ||||
|  | ||||
|  | ||||
| /* | ||||
|  * | ||||
|  * GLU 1.3 functions | ||||
|  * | ||||
|  */ | ||||
|  | ||||
| #ifdef GLU_VERSION_1_3 | ||||
|  | ||||
| GLUAPI GLboolean GLAPIENTRY | ||||
| gluCheckExtension( const char *extName, const GLubyte *extString ); | ||||
|  | ||||
| #endif | ||||
|  | ||||
|  | ||||
|  | ||||
| #if defined(__BEOS__) || defined(__QUICKDRAW__) | ||||
| #pragma export off | ||||
| #endif | ||||
|  | ||||
|  | ||||
| #ifdef macintosh | ||||
| 	#pragma enumsalwaysint reset | ||||
| 	#if PRAGMA_IMPORT_SUPPORTED | ||||
| 	#pragma import off | ||||
| 	#endif | ||||
| typedef struct GLUnurbs GLUnurbs; | ||||
| typedef struct GLUquadric GLUquadric; | ||||
| typedef struct GLUtesselator GLUtesselator; | ||||
| #endif | ||||
|  | ||||
| typedef GLUnurbs GLUnurbsObj; | ||||
| typedef GLUquadric GLUquadricObj; | ||||
| typedef GLUtesselator GLUtesselatorObj; | ||||
| typedef GLUtesselator GLUtriangulatorObj; | ||||
|  | ||||
| #define GLU_TESS_MAX_COORD 1.0e150 | ||||
|  | ||||
| /* Internal convenience typedefs */ | ||||
| typedef void (GLAPIENTRY *_GLUfuncptr)(); | ||||
|  | ||||
| GLAPI void GLAPIENTRY gluBeginCurve (GLUnurbs* nurb); | ||||
| GLAPI void GLAPIENTRY gluBeginPolygon (GLUtesselator* tess); | ||||
| GLAPI void GLAPIENTRY gluBeginSurface (GLUnurbs* nurb); | ||||
| GLAPI void GLAPIENTRY gluBeginTrim (GLUnurbs* nurb); | ||||
| GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); | ||||
| GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); | ||||
| GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); | ||||
| GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); | ||||
| GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); | ||||
| GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); | ||||
| GLAPI GLboolean GLAPIENTRY gluCheckExtension (const GLubyte *extName, const GLubyte *extString); | ||||
| GLAPI void GLAPIENTRY gluCylinder (GLUquadric* quad, GLdouble base, GLdouble top, GLdouble height, GLint slices, GLint stacks); | ||||
| GLAPI void GLAPIENTRY gluDeleteNurbsRenderer (GLUnurbs* nurb); | ||||
| GLAPI void GLAPIENTRY gluDeleteQuadric (GLUquadric* quad); | ||||
| GLAPI void GLAPIENTRY gluDeleteTess (GLUtesselator* tess); | ||||
| GLAPI void GLAPIENTRY gluDisk (GLUquadric* quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops); | ||||
| GLAPI void GLAPIENTRY gluEndCurve (GLUnurbs* nurb); | ||||
| GLAPI void GLAPIENTRY gluEndPolygon (GLUtesselator* tess); | ||||
| GLAPI void GLAPIENTRY gluEndSurface (GLUnurbs* nurb); | ||||
| GLAPI void GLAPIENTRY gluEndTrim (GLUnurbs* nurb); | ||||
| GLAPI const GLubyte * GLAPIENTRY gluErrorString (GLenum error); | ||||
| GLAPI void GLAPIENTRY gluGetNurbsProperty (GLUnurbs* nurb, GLenum property, GLfloat* data); | ||||
| GLAPI const GLubyte * GLAPIENTRY gluGetString (GLenum name); | ||||
| GLAPI void GLAPIENTRY gluGetTessProperty (GLUtesselator* tess, GLenum which, GLdouble* data); | ||||
| GLAPI void GLAPIENTRY gluLoadSamplingMatrices (GLUnurbs* nurb, const GLfloat *model, const GLfloat *perspective, const GLint *view); | ||||
| GLAPI void GLAPIENTRY gluLookAt (GLdouble eyeX, GLdouble eyeY, GLdouble eyeZ, GLdouble centerX, GLdouble centerY, GLdouble centerZ, GLdouble upX, GLdouble upY, GLdouble upZ); | ||||
| GLAPI GLUnurbs* GLAPIENTRY gluNewNurbsRenderer (void); | ||||
| GLAPI GLUquadric* GLAPIENTRY gluNewQuadric (void); | ||||
| GLAPI GLUtesselator* GLAPIENTRY gluNewTess (void); | ||||
| GLAPI void GLAPIENTRY gluNextContour (GLUtesselator* tess, GLenum type); | ||||
| GLAPI void GLAPIENTRY gluNurbsCallback (GLUnurbs* nurb, GLenum which, _GLUfuncptr CallBackFunc); | ||||
| GLAPI void GLAPIENTRY gluNurbsCallbackData (GLUnurbs* nurb, GLvoid* userData); | ||||
| GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); | ||||
| GLAPI void GLAPIENTRY gluNurbsCurve (GLUnurbs* nurb, GLint knotCount, GLfloat *knots, GLint stride, GLfloat *control, GLint order, GLenum type); | ||||
| GLAPI void GLAPIENTRY gluNurbsProperty (GLUnurbs* nurb, GLenum property, GLfloat value); | ||||
| GLAPI void GLAPIENTRY gluNurbsSurface (GLUnurbs* nurb, GLint sKnotCount, GLfloat* sKnots, GLint tKnotCount, GLfloat* tKnots, GLint sStride, GLint tStride, GLfloat* control, GLint sOrder, GLint tOrder, GLenum type); | ||||
| GLAPI void GLAPIENTRY gluOrtho2D (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top); | ||||
| GLAPI void GLAPIENTRY gluPartialDisk (GLUquadric* quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops, GLdouble start, GLdouble sweep); | ||||
| GLAPI void GLAPIENTRY gluPerspective (GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar); | ||||
| GLAPI void GLAPIENTRY gluPickMatrix (GLdouble x, GLdouble y, GLdouble delX, GLdouble delY, GLint *viewport); | ||||
| GLAPI GLint GLAPIENTRY gluProject (GLdouble objX, GLdouble objY, GLdouble objZ, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble* winX, GLdouble* winY, GLdouble* winZ); | ||||
| GLAPI void GLAPIENTRY gluPwlCurve (GLUnurbs* nurb, GLint count, GLfloat* data, GLint stride, GLenum type); | ||||
| GLAPI void GLAPIENTRY gluQuadricCallback (GLUquadric* quad, GLenum which, _GLUfuncptr CallBackFunc); | ||||
| GLAPI void GLAPIENTRY gluQuadricDrawStyle (GLUquadric* quad, GLenum draw); | ||||
| GLAPI void GLAPIENTRY gluQuadricNormals (GLUquadric* quad, GLenum normal); | ||||
| GLAPI void GLAPIENTRY gluQuadricOrientation (GLUquadric* quad, GLenum orientation); | ||||
| GLAPI void GLAPIENTRY gluQuadricTexture (GLUquadric* quad, GLboolean texture); | ||||
| GLAPI GLint GLAPIENTRY gluScaleImage (GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void *dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid* dataOut); | ||||
| GLAPI void GLAPIENTRY gluSphere (GLUquadric* quad, GLdouble radius, GLint slices, GLint stacks); | ||||
| GLAPI void GLAPIENTRY gluTessBeginContour (GLUtesselator* tess); | ||||
| GLAPI void GLAPIENTRY gluTessBeginPolygon (GLUtesselator* tess, GLvoid* data); | ||||
| GLAPI void GLAPIENTRY gluTessCallback (GLUtesselator* tess, GLenum which, _GLUfuncptr CallBackFunc); | ||||
| GLAPI void GLAPIENTRY gluTessEndContour (GLUtesselator* tess); | ||||
| GLAPI void GLAPIENTRY gluTessEndPolygon (GLUtesselator* tess); | ||||
| GLAPI void GLAPIENTRY gluTessNormal (GLUtesselator* tess, GLdouble valueX, GLdouble valueY, GLdouble valueZ); | ||||
| GLAPI void GLAPIENTRY gluTessProperty (GLUtesselator* tess, GLenum which, GLdouble data); | ||||
| GLAPI void GLAPIENTRY gluTessVertex (GLUtesselator* tess, GLdouble *location, GLvoid* data); | ||||
| GLAPI GLint GLAPIENTRY gluUnProject (GLdouble winX, GLdouble winY, GLdouble winZ, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble* objX, GLdouble* objY, GLdouble* objZ); | ||||
| GLAPI GLint GLAPIENTRY gluUnProject4 (GLdouble winX, GLdouble winY, GLdouble winZ, GLdouble clipW, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble nearVal, GLdouble farVal, GLdouble* objX, GLdouble* objY, GLdouble* objZ, GLdouble* objW); | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
|  | ||||
| #endif | ||||
| #endif /* __glu_h__ */ | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| /* $Id: glu_mangle.h,v 1.2 1999/09/10 02:08:19 gareth Exp $ */ | ||||
| /* $Id: glu_mangle.h,v 1.3 2001/09/20 22:18:47 kschultz Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * Mesa 3-D graphics library | ||||
| @@ -23,6 +23,9 @@ | ||||
|  | ||||
| /* | ||||
|  * $Log: glu_mangle.h,v $ | ||||
|  * Revision 1.3  2001/09/20 22:18:47  kschultz | ||||
|  * add mangling for new entry points | ||||
|  * | ||||
|  * Revision 1.2  1999/09/10 02:08:19  gareth | ||||
|  * Added GLU 1.3 tessellation (except winding rule code). | ||||
|  * | ||||
| @@ -92,5 +95,11 @@ | ||||
| #define gluNextContour mgluNextContour | ||||
| #define gluEndPolygon mgluEndPolygon | ||||
| #define gluGetString mgluGetString | ||||
| #define gluBuild1DMipmapLevels mgluBuild1DMipmapLevels | ||||
| #define gluBuild2DMipmapLevels mgluBuild2DMipmapLevels | ||||
| #define gluBuild3DMipmapLevels mgluBuild3DMipmapLevels | ||||
| #define gluBuild3DMipmaps mgluBuild3DMipmaps | ||||
| #define gluCheckExtension mgluCheckExtension | ||||
| #define gluUnProject4 mgluUnProject4 | ||||
|  | ||||
| #endif | ||||
|   | ||||
| @@ -223,9 +223,11 @@ WGLAPI int   GLAPIENTRY SetPixelFormat(HDC,int,const PIXELFORMATDESCRIPTOR *); | ||||
|  video resize subAPI, glutPostWindowRedisplay, glutKeyboardUpFunc, | ||||
|  glutSpecialUpFunc, glutIgnoreKeyRepeat, glutSetKeyRepeat, | ||||
|  glutJoystickFunc, glutForceJoystickFunc (NOT FINALIZED!). | ||||
|  | ||||
|  GLUT_API_VERSION=5  glutGetProcAddress (added by BrianP) | ||||
| **/ | ||||
| #ifndef GLUT_API_VERSION  /* allow this to be overriden */ | ||||
| #define GLUT_API_VERSION		3 | ||||
| #define GLUT_API_VERSION		5 | ||||
| #endif | ||||
|  | ||||
| /** | ||||
| @@ -661,6 +663,9 @@ GLUTAPI int GLUTAPIENTRY glutExtensionSupported(const char *name); | ||||
| GLUTAPI int GLUTAPIENTRY glutGetModifiers(void); | ||||
| GLUTAPI int GLUTAPIENTRY glutLayerGet(GLenum type); | ||||
| #endif | ||||
| #if (GLUT_API_VERSION >= 5) | ||||
| GLUTAPI void * GLUTAPIENTRY glutGetProcAddress(const char *procName); | ||||
| #endif | ||||
|  | ||||
| /* GLUT font sub-API */ | ||||
| GLUTAPI void GLUTAPIENTRY glutBitmapCharacter(void *font, int character); | ||||
|   | ||||
| @@ -3,8 +3,8 @@ | ||||
|  | ||||
| /* Copyright (c) Mark J. Kilgard & Willam F. Mitchell, 1998. */ | ||||
|  | ||||
| /* This program is freely distributable without licensing fees | ||||
|    and is provided without guarantee or warrantee expressed or | ||||
| /* This program is freely distributable without licensing fees  | ||||
|    and is provided without guarantee or warrantee expressed or  | ||||
|    implied. This program is -not- in the public domain. */ | ||||
|  | ||||
| /* This header provides the binding interface for William Mitchell's | ||||
| @@ -75,7 +75,7 @@ typedef void (GLUTCALLBACK *GLUTmenuStatusFCB) (int *, int *, int *); | ||||
| typedef void (GLUTCALLBACK *GLUTidleFCB) (void); | ||||
|  | ||||
| /* Functions that set and return Fortran callback functions. */ | ||||
| extern void* GLUTAPIENTRY __glutGetFCB(int which); | ||||
| extern void GLUTAPIENTRY __glutSetFCB(int which, void *func); | ||||
| GLUTAPI void* APIENTRY __glutGetFCB(int which); | ||||
| GLUTAPI void APIENTRY __glutSetFCB(int which, void *func); | ||||
|  | ||||
| #endif  /* __glutf90_h__ */ | ||||
|   | ||||
| @@ -1,10 +1,10 @@ | ||||
| /* $Id: glx.h,v 1.22 2000/06/23 17:39:18 brianp Exp $ */ | ||||
| /* $Id: glx.h,v 1.38.4.1 2003/02/23 19:37:15 keithw Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * Mesa 3-D graphics library | ||||
|  * Version:  3.3 | ||||
|  * Version:  4.1 | ||||
|  *  | ||||
|  * Copyright (C) 1999-2000  Brian Paul   All Rights Reserved. | ||||
|  * Copyright (C) 1999-2002  Brian Paul   All Rights Reserved. | ||||
|  *  | ||||
|  * Permission is hereby granted, free of charge, to any person obtaining a | ||||
|  * copy of this software and associated documentation files (the "Software"), | ||||
| @@ -30,6 +30,7 @@ | ||||
|  | ||||
|  | ||||
| #ifdef __VMS | ||||
| #include <GL/vms_x_fix.h> | ||||
| # ifdef __cplusplus | ||||
| /* VMS Xlib.h gives problems with C++. | ||||
|  * this avoids a bunch of trivial warnings */ | ||||
| @@ -43,11 +44,11 @@ | ||||
| #pragma message enable nosimpint | ||||
| #endif | ||||
| #endif | ||||
| #include "GL/gl.h" | ||||
| #include <GL/gl.h> | ||||
|  | ||||
|  | ||||
| #if defined(USE_MGL_NAMESPACE) | ||||
| #include "glx_mangle.h" | ||||
| #include <GL/glx_mangle.h> | ||||
| #endif | ||||
|  | ||||
|  | ||||
| @@ -59,6 +60,7 @@ extern "C" { | ||||
| #define GLX_VERSION_1_1		1 | ||||
| #define GLX_VERSION_1_2		1 | ||||
| #define GLX_VERSION_1_3		1 | ||||
| #define GLX_VERSION_1_4		1 | ||||
|  | ||||
| #define GLX_EXTENSION_NAME   "GLX" | ||||
|  | ||||
| @@ -124,7 +126,10 @@ extern "C" { | ||||
| #define GLX_MAX_PBUFFER_HEIGHT		0x8017 | ||||
| #define GLX_MAX_PBUFFER_PIXELS		0x8018 | ||||
| #define GLX_PRESERVED_CONTENTS		0x801B | ||||
| #define GLX_LARGEST_BUFFER		0x801C | ||||
| #define GLX_LARGEST_PBUFFER		0x801C | ||||
| #define GLX_WIDTH			0x801D | ||||
| #define GLX_HEIGHT			0x801E | ||||
| #define GLX_EVENT_MASK			0x801F | ||||
| #define GLX_DRAWABLE_TYPE		0x8010 | ||||
| #define GLX_FBCONFIG_ID			0x8013 | ||||
| #define GLX_VISUAL_ID			0x800B | ||||
| @@ -136,7 +141,6 @@ extern "C" { | ||||
| #define GLX_FRONT_RIGHT_BUFFER_BIT	0x00000002 | ||||
| #define GLX_BACK_LEFT_BUFFER_BIT	0x00000004 | ||||
| #define GLX_BACK_RIGHT_BUFFER_BIT	0x00000008 | ||||
| #define GLX_AUX_BUFFERS_BIT		0x00000010 | ||||
| #define GLX_DEPTH_BUFFER_BIT		0x00000020 | ||||
| #define GLX_STENCIL_BUFFER_BIT		0x00000040 | ||||
| #define GLX_ACCUM_BUFFER_BIT		0x00000080 | ||||
| @@ -150,23 +154,35 @@ extern "C" { | ||||
| #define GLX_STATIC_COLOR		0x8005 | ||||
| #define GLX_GRAY_SCALE			0x8006 | ||||
| #define GLX_STATIC_GRAY			0x8007 | ||||
| #define GLX_TRANSPARENT_RGB		0x8008 | ||||
| #define GLX_TRANSPARENT_INDEX		0x8009 | ||||
| #define GLX_RGBA_TYPE			0x8014 | ||||
| #define GLX_COLOR_INDEX_TYPE		0x8015 | ||||
| #define GLX_COLOR_INDEX_BIT		0x00000002 | ||||
| #define GLX_RGBA_BIT			0x00000001 | ||||
| #define GLX_SCREEN			0x800C | ||||
| #define GLX_PBUFFER_CLOBBER_MASK	0x08000000 | ||||
| #define GLX_DAMAGED			0x8020 | ||||
| #define GLX_SAVED			0x8021 | ||||
| #define GLX_WINDOW			0x8022 | ||||
| #define GLX_PBUFFER			0x8033 | ||||
| #define GLX_PBUFFER			0x8023 | ||||
| #define GLX_PBUFFER_HEIGHT              0x8040 | ||||
| #define GLX_PBUFFER_WIDTH               0x8041 | ||||
|  | ||||
|  | ||||
| /* | ||||
|  * GLX 1.4 and later: | ||||
|  */ | ||||
| #define GLX_SAMPLE_BUFFERS              0x186a0 /*100000*/ | ||||
| #define GLX_SAMPLES                     0x186a1 /*100001*/ | ||||
|  | ||||
|  | ||||
|  | ||||
| typedef void * GLXContext; | ||||
| typedef struct __GLXcontextRec *GLXContext; | ||||
| typedef XID GLXPixmap; | ||||
| typedef XID GLXDrawable; | ||||
| /* GLX 1.3 and later */ | ||||
| typedef void * GLXFBConfig; | ||||
| typedef struct __GLXFBConfigRec *GLXFBConfig; | ||||
| typedef XID GLXFBConfigID; | ||||
| typedef XID GLXContextID; | ||||
| typedef XID GLXWindow; | ||||
| @@ -278,12 +294,15 @@ extern void glXGetSelectedEvent( Display *dpy, GLXDrawable drawable, | ||||
|                                  unsigned long *mask ); | ||||
|  | ||||
|  | ||||
| /* GLX 1.4 and later */ | ||||
| extern void (*glXGetProcAddress(const GLubyte *procname))( void ); | ||||
|  | ||||
| /*#ifndef GLX_GLXEXT_LEGACY*/ | ||||
|  | ||||
| /*#include <GL/glxext.h>*/ | ||||
| #ifndef GLX_GLXEXT_LEGACY | ||||
|  | ||||
| /*#else*/ | ||||
| #include <GL/glxext.h> | ||||
|  | ||||
| #else | ||||
|  | ||||
|  | ||||
| /* | ||||
| @@ -413,7 +432,7 @@ extern Bool glXReleaseBuffersMESA( Display *dpy, GLXDrawable d ); | ||||
| #define GLX_3DFX_WINDOW_MODE_MESA       0x1 | ||||
| #define GLX_3DFX_FULLSCREEN_MODE_MESA   0x2 | ||||
|  | ||||
| extern GLboolean glXSet3DfxModeMESA( GLint mode ); | ||||
| extern Bool glXSet3DfxModeMESA( int mode ); | ||||
|  | ||||
| #endif /* GLX_MESA_set_3dfx_mode */ | ||||
|  | ||||
| @@ -431,7 +450,39 @@ extern void (*glXGetProcAddressARB(const GLubyte *procName))(); | ||||
|  | ||||
|  | ||||
|  | ||||
| /*#endif*/ /* GLX_GLXEXT_LEGACY */ | ||||
| #endif /* GLX_GLXEXT_LEGACY */ | ||||
|  | ||||
|  | ||||
| /** | ||||
|  ** The following aren't in glxext.h yet. | ||||
|  **/ | ||||
|  | ||||
|  | ||||
| /* | ||||
|  * ???. GLX_NV_vertex_array_range | ||||
|  */ | ||||
| #ifndef GLX_NV_vertex_array_range | ||||
| #define GLX_NV_vertex_array_range | ||||
|  | ||||
| extern void *glXAllocateMemoryNV(GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority); | ||||
| extern void glXFreeMemoryNV(GLvoid *pointer); | ||||
| typedef void * ( * PFNGLXALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority); | ||||
| typedef void ( * PFNGLXFREEMEMORYNVPROC) (GLvoid *pointer); | ||||
|  | ||||
| #endif /* GLX_NV_vertex_array_range */ | ||||
|  | ||||
|  | ||||
|  | ||||
| /* | ||||
|  * ???. GLX_MESA_agp_offset | ||||
|  */  | ||||
| #ifndef GLX_MESA_agp_offset | ||||
| #define GLX_MESA_agp_offset 1 | ||||
|  | ||||
| extern GLuint glXGetAGPOffsetMESA(const GLvoid *pointer); | ||||
| typedef GLuint (* PFNGLXGETAGPOFFSETMESAPROC) (const GLvoid *pointer); | ||||
|  | ||||
| #endif /* GLX_MESA_agp_offset */ | ||||
|  | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| /* $Id: glx_mangle.h,v 1.1 1999/08/19 00:55:40 jtg Exp $ */ | ||||
| /* $Id: glx_mangle.h,v 1.2 2001/11/09 22:01:02 brianp Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * Mesa 3-D graphics library | ||||
|  * Version:  3.0 | ||||
|  * Version:  4.1 | ||||
|  * Copyright (C) 1995-1998  Brian Paul | ||||
|  * | ||||
|  * This library is free software; you can redistribute it and/or | ||||
| @@ -21,25 +21,6 @@ | ||||
|  */ | ||||
|  | ||||
|  | ||||
| /* | ||||
|  * $Log: glx_mangle.h,v $ | ||||
|  * Revision 1.1  1999/08/19 00:55:40  jtg | ||||
|  * Initial revision | ||||
|  * | ||||
|  * Revision 3.3  1999/06/21 22:01:00  brianp | ||||
|  * added #ifndef GLX_MANGLE_H stuff, video sync extension functions | ||||
|  * | ||||
|  * Revision 3.2  1998/03/26 02:44:53  brianp | ||||
|  * removed ^M characters | ||||
|  * | ||||
|  * Revision 3.1  1998/03/17 02:41:19  brianp | ||||
|  * updated by Randy Frank | ||||
|  * | ||||
|  * Revision 3.0  1998/02/20 05:04:45  brianp | ||||
|  * initial rev | ||||
|  * | ||||
|  */ | ||||
|  | ||||
| #ifndef GLX_MANGLE_H | ||||
| #define GLX_MANGLE_H | ||||
|  | ||||
| @@ -69,4 +50,8 @@ | ||||
| #define glXGetVideoSyncSGI mglXGetVideoSyncSGI | ||||
| #define glXWaitVideoSyncSGI mglXWaitVideoSyncSGI | ||||
|  | ||||
| /* GLX 1.4 */ | ||||
| #define glXGetProcAddress mglXGetProcAddress | ||||
|  | ||||
|  | ||||
| #endif | ||||
|   | ||||
							
								
								
									
										607
									
								
								include/GL/glxext.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										607
									
								
								include/GL/glxext.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,607 @@ | ||||
| #ifndef __glxext_h_ | ||||
| #define __glxext_h_ | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| /* | ||||
| ** License Applicability. Except to the extent portions of this file are | ||||
| ** made subject to an alternative license as permitted in the SGI Free | ||||
| ** Software License B, Version 1.1 (the "License"), the contents of this | ||||
| ** file are subject only to the provisions of the License. You may not use | ||||
| ** this file except in compliance with the License. You may obtain a copy | ||||
| ** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 | ||||
| ** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at: | ||||
| **  | ||||
| ** http://oss.sgi.com/projects/FreeB | ||||
| **  | ||||
| ** Note that, as provided in the License, the Software is distributed on an | ||||
| ** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS | ||||
| ** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND | ||||
| ** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A | ||||
| ** PARTICULAR PURPOSE, AND NON-INFRINGEMENT. | ||||
| **  | ||||
| ** Original Code. The Original Code is: OpenGL Sample Implementation, | ||||
| ** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics, | ||||
| ** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc. | ||||
| ** Copyright in any portions created by third parties is as indicated | ||||
| ** elsewhere herein. All Rights Reserved. | ||||
| **  | ||||
| ** Additional Notice Provisions: This software was created using the | ||||
| ** OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has | ||||
| ** not been independently verified as being compliant with the OpenGL(R) | ||||
| ** version 1.2.1 Specification. | ||||
| */ | ||||
|  | ||||
| #if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) | ||||
| #define WIN32_LEAN_AND_MEAN 1 | ||||
| #include <windows.h> | ||||
| #endif | ||||
|  | ||||
| #ifndef APIENTRY | ||||
| #define APIENTRY | ||||
| #endif | ||||
| #ifndef GLAPI | ||||
| #define GLAPI extern | ||||
| #endif | ||||
|  | ||||
| /*************************************************************/ | ||||
|  | ||||
| /* Header file version number, required by OpenGL ABI for Linux */ | ||||
| /* glxext.h last updated 2002/03/22 */ | ||||
| /* Current version at http://oss.sgi.com/projects/ogl-sample/registry/ */ | ||||
| #define GLX_GLXEXT_VERSION 5 | ||||
|  | ||||
| #ifndef GLX_VERSION_1_3 | ||||
| #define GLX_WINDOW_BIT                     0x00000001 | ||||
| #define GLX_PIXMAP_BIT                     0x00000002 | ||||
| #define GLX_PBUFFER_BIT                    0x00000004 | ||||
| #define GLX_RGBA_BIT                       0x00000001 | ||||
| #define GLX_COLOR_INDEX_BIT                0x00000002 | ||||
| #define GLX_PBUFFER_CLOBBER_MASK           0x08000000 | ||||
| #define GLX_FRONT_LEFT_BUFFER_BIT          0x00000001 | ||||
| #define GLX_FRONT_RIGHT_BUFFER_BIT         0x00000002 | ||||
| #define GLX_BACK_LEFT_BUFFER_BIT           0x00000004 | ||||
| #define GLX_BACK_RIGHT_BUFFER_BIT          0x00000008 | ||||
| #define GLX_AUX_BUFFERS_BIT                0x00000010 | ||||
| #define GLX_DEPTH_BUFFER_BIT               0x00000020 | ||||
| #define GLX_STENCIL_BUFFER_BIT             0x00000040 | ||||
| #define GLX_ACCUM_BUFFER_BIT               0x00000080 | ||||
| #define GLX_CONFIG_CAVEAT                  0x20 | ||||
| #define GLX_X_VISUAL_TYPE                  0x22 | ||||
| #define GLX_TRANSPARENT_TYPE               0x23 | ||||
| #define GLX_TRANSPARENT_INDEX_VALUE        0x24 | ||||
| #define GLX_TRANSPARENT_RED_VALUE          0x25 | ||||
| #define GLX_TRANSPARENT_GREEN_VALUE        0x26 | ||||
| #define GLX_TRANSPARENT_BLUE_VALUE         0x27 | ||||
| #define GLX_TRANSPARENT_ALPHA_VALUE        0x28 | ||||
| #define GLX_DONT_CARE                      0xFFFFFFFF | ||||
| #define GLX_NONE                           0x8000 | ||||
| #define GLX_SLOW_CONFIG                    0x8001 | ||||
| #define GLX_TRUE_COLOR                     0x8002 | ||||
| #define GLX_DIRECT_COLOR                   0x8003 | ||||
| #define GLX_PSEUDO_COLOR                   0x8004 | ||||
| #define GLX_STATIC_COLOR                   0x8005 | ||||
| #define GLX_GRAY_SCALE                     0x8006 | ||||
| #define GLX_STATIC_GRAY                    0x8007 | ||||
| #define GLX_TRANSPARENT_RGB                0x8008 | ||||
| #define GLX_TRANSPARENT_INDEX              0x8009 | ||||
| #define GLX_VISUAL_ID                      0x800B | ||||
| #define GLX_SCREEN                         0x800C | ||||
| #define GLX_NON_CONFORMANT_CONFIG          0x800D | ||||
| #define GLX_DRAWABLE_TYPE                  0x8010 | ||||
| #define GLX_RENDER_TYPE                    0x8011 | ||||
| #define GLX_X_RENDERABLE                   0x8012 | ||||
| #define GLX_FBCONFIG_ID                    0x8013 | ||||
| #define GLX_RGBA_TYPE                      0x8014 | ||||
| #define GLX_COLOR_INDEX_TYPE               0x8015 | ||||
| #define GLX_MAX_PBUFFER_WIDTH              0x8016 | ||||
| #define GLX_MAX_PBUFFER_HEIGHT             0x8017 | ||||
| #define GLX_MAX_PBUFFER_PIXELS             0x8018 | ||||
| #define GLX_PRESERVED_CONTENTS             0x801B | ||||
| #define GLX_LARGEST_PBUFFER                0x801C | ||||
| #define GLX_WIDTH                          0x801D | ||||
| #define GLX_HEIGHT                         0x801E | ||||
| #define GLX_EVENT_MASK                     0x801F | ||||
| #define GLX_DAMAGED                        0x8020 | ||||
| #define GLX_SAVED                          0x8021 | ||||
| #define GLX_WINDOW                         0x8022 | ||||
| #define GLX_PBUFFER                        0x8023 | ||||
| #define GLX_PBUFFER_HEIGHT                 0x8040 | ||||
| #define GLX_PBUFFER_WIDTH                  0x8041 | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_VERSION_1_4 | ||||
| #define GLX_SAMPLE_BUFFERS                 100000 | ||||
| #define GLX_SAMPLES                        100001 | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_ARB_get_proc_address | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_ARB_multisample | ||||
| #define GLX_SAMPLE_BUFFERS_ARB             100000 | ||||
| #define GLX_SAMPLES_ARB                    100001 | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_SGIS_multisample | ||||
| #define GLX_SAMPLE_BUFFERS_SGIS            100000 | ||||
| #define GLX_SAMPLES_SGIS                   100001 | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_EXT_visual_info | ||||
| #define GLX_X_VISUAL_TYPE_EXT              0x22 | ||||
| #define GLX_TRANSPARENT_TYPE_EXT           0x23 | ||||
| #define GLX_TRANSPARENT_INDEX_VALUE_EXT    0x24 | ||||
| #define GLX_TRANSPARENT_RED_VALUE_EXT      0x25 | ||||
| #define GLX_TRANSPARENT_GREEN_VALUE_EXT    0x26 | ||||
| #define GLX_TRANSPARENT_BLUE_VALUE_EXT     0x27 | ||||
| #define GLX_TRANSPARENT_ALPHA_VALUE_EXT    0x28 | ||||
| #define GLX_NONE_EXT                       0x8000 | ||||
| #define GLX_TRUE_COLOR_EXT                 0x8002 | ||||
| #define GLX_DIRECT_COLOR_EXT               0x8003 | ||||
| #define GLX_PSEUDO_COLOR_EXT               0x8004 | ||||
| #define GLX_STATIC_COLOR_EXT               0x8005 | ||||
| #define GLX_GRAY_SCALE_EXT                 0x8006 | ||||
| #define GLX_STATIC_GRAY_EXT                0x8007 | ||||
| #define GLX_TRANSPARENT_RGB_EXT            0x8008 | ||||
| #define GLX_TRANSPARENT_INDEX_EXT          0x8009 | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_SGI_swap_control | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_SGI_video_sync | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_SGI_make_current_read | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_SGIX_video_source | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_EXT_visual_rating | ||||
| #define GLX_VISUAL_CAVEAT_EXT              0x20 | ||||
| #define GLX_SLOW_VISUAL_EXT                0x8001 | ||||
| #define GLX_NON_CONFORMANT_VISUAL_EXT      0x800D | ||||
| /* reuse GLX_NONE_EXT */ | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_EXT_import_context | ||||
| #define GLX_SHARE_CONTEXT_EXT              0x800A | ||||
| #define GLX_VISUAL_ID_EXT                  0x800B | ||||
| #define GLX_SCREEN_EXT                     0x800C | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_SGIX_fbconfig | ||||
| #define GLX_WINDOW_BIT_SGIX                0x00000001 | ||||
| #define GLX_PIXMAP_BIT_SGIX                0x00000002 | ||||
| #define GLX_RGBA_BIT_SGIX                  0x00000001 | ||||
| #define GLX_COLOR_INDEX_BIT_SGIX           0x00000002 | ||||
| #define GLX_DRAWABLE_TYPE_SGIX             0x8010 | ||||
| #define GLX_RENDER_TYPE_SGIX               0x8011 | ||||
| #define GLX_X_RENDERABLE_SGIX              0x8012 | ||||
| #define GLX_FBCONFIG_ID_SGIX               0x8013 | ||||
| #define GLX_RGBA_TYPE_SGIX                 0x8014 | ||||
| #define GLX_COLOR_INDEX_TYPE_SGIX          0x8015 | ||||
| /* reuse GLX_SCREEN_EXT */ | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_SGIX_pbuffer | ||||
| #define GLX_PBUFFER_BIT_SGIX               0x00000004 | ||||
| #define GLX_BUFFER_CLOBBER_MASK_SGIX       0x08000000 | ||||
| #define GLX_FRONT_LEFT_BUFFER_BIT_SGIX     0x00000001 | ||||
| #define GLX_FRONT_RIGHT_BUFFER_BIT_SGIX    0x00000002 | ||||
| #define GLX_BACK_LEFT_BUFFER_BIT_SGIX      0x00000004 | ||||
| #define GLX_BACK_RIGHT_BUFFER_BIT_SGIX     0x00000008 | ||||
| #define GLX_AUX_BUFFERS_BIT_SGIX           0x00000010 | ||||
| #define GLX_DEPTH_BUFFER_BIT_SGIX          0x00000020 | ||||
| #define GLX_STENCIL_BUFFER_BIT_SGIX        0x00000040 | ||||
| #define GLX_ACCUM_BUFFER_BIT_SGIX          0x00000080 | ||||
| #define GLX_SAMPLE_BUFFERS_BIT_SGIX        0x00000100 | ||||
| #define GLX_MAX_PBUFFER_WIDTH_SGIX         0x8016 | ||||
| #define GLX_MAX_PBUFFER_HEIGHT_SGIX        0x8017 | ||||
| #define GLX_MAX_PBUFFER_PIXELS_SGIX        0x8018 | ||||
| #define GLX_OPTIMAL_PBUFFER_WIDTH_SGIX     0x8019 | ||||
| #define GLX_OPTIMAL_PBUFFER_HEIGHT_SGIX    0x801A | ||||
| #define GLX_PRESERVED_CONTENTS_SGIX        0x801B | ||||
| #define GLX_LARGEST_PBUFFER_SGIX           0x801C | ||||
| #define GLX_WIDTH_SGIX                     0x801D | ||||
| #define GLX_HEIGHT_SGIX                    0x801E | ||||
| #define GLX_EVENT_MASK_SGIX                0x801F | ||||
| #define GLX_DAMAGED_SGIX                   0x8020 | ||||
| #define GLX_SAVED_SGIX                     0x8021 | ||||
| #define GLX_WINDOW_SGIX                    0x8022 | ||||
| #define GLX_PBUFFER_SGIX                   0x8023 | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_SGI_cushion | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_SGIX_video_resize | ||||
| #define GLX_SYNC_FRAME_SGIX                0x00000000 | ||||
| #define GLX_SYNC_SWAP_SGIX                 0x00000001 | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_SGIX_dmbuffer | ||||
| #define GLX_DIGITAL_MEDIA_PBUFFER_SGIX     0x8024 | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_SGIX_swap_group | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_SGIX_swap_barrier | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_SGIS_blended_overlay | ||||
| #define GLX_BLENDED_RGBA_SGIS              0x8025 | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_SGIS_shared_multisample | ||||
| #define GLX_MULTISAMPLE_SUB_RECT_WIDTH_SGIS 0x8026 | ||||
| #define GLX_MULTISAMPLE_SUB_RECT_HEIGHT_SGIS 0x8027 | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_SUN_get_transparent_index | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_3DFX_multisample | ||||
| #define GLX_SAMPLE_BUFFERS_3DFX            0x8050 | ||||
| #define GLX_SAMPLES_3DFX                   0x8051 | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_MESA_copy_sub_buffer | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_MESA_pixmap_colormap | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_MESA_release_buffers | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_MESA_set_3dfx_mode | ||||
| #define GLX_3DFX_WINDOW_MODE_MESA          0x1 | ||||
| #define GLX_3DFX_FULLSCREEN_MODE_MESA      0x2 | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_SGIX_visual_select_group | ||||
| #define GLX_VISUAL_SELECT_GROUP_SGIX       0x8028 | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_OML_swap_method | ||||
| #define GLX_SWAP_METHOD_OML                0x8060 | ||||
| #define GLX_SWAP_EXCHANGE_OML              0x8061 | ||||
| #define GLX_SWAP_COPY_OML                  0x8062 | ||||
| #define GLX_SWAP_UNDEFINED_OML             0x8063 | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_OML_sync_control | ||||
| #endif | ||||
|  | ||||
|  | ||||
| /*************************************************************/ | ||||
|  | ||||
| #ifndef GLX_ARB_get_proc_address | ||||
| typedef void (*__GLXextFuncPtr)(void); | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_SGIX_video_source | ||||
| typedef XID GLXVideoSourceSGIX; | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_SGIX_fbconfig | ||||
| typedef XID GLXFBConfigIDSGIX; | ||||
| typedef struct __GLXFBConfigRec *GLXFBConfigSGIX; | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_SGIX_pbuffer | ||||
| typedef XID GLXPbufferSGIX; | ||||
| typedef struct { | ||||
|     int type; | ||||
|     unsigned long serial;	  /* # of last request processed by server */ | ||||
|     Bool send_event;		  /* true if this came for SendEvent request */ | ||||
|     Display *display;		  /* display the event was read from */ | ||||
|     GLXDrawable drawable;	  /* i.d. of Drawable */ | ||||
|     int event_type;		  /* GLX_DAMAGED_SGIX or GLX_SAVED_SGIX */ | ||||
|     int draw_type;		  /* GLX_WINDOW_SGIX or GLX_PBUFFER_SGIX */ | ||||
|     unsigned int mask;	  /* mask indicating which buffers are affected*/ | ||||
|     int x, y; | ||||
|     int width, height; | ||||
|     int count;		  /* if nonzero, at least this many more */ | ||||
| } GLXBufferClobberEventSGIX; | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_VERSION_1_3 | ||||
| #define GLX_VERSION_1_3 1 | ||||
| #ifdef GLX_GLXEXT_PROTOTYPES | ||||
| extern GLXFBConfig * glXGetFBConfigs (Display *, int, int *); | ||||
| extern GLXFBConfig * glXChooseFBConfig (Display *, int, const int *, int *); | ||||
| extern int glXGetFBConfigAttrib (Display *, GLXFBConfig, int, int *); | ||||
| extern XVisualInfo * glXGetVisualFromFBConfig (Display *, GLXFBConfig); | ||||
| extern GLXWindow glXCreateWindow (Display *, GLXFBConfig, Window, const int *); | ||||
| extern void glXDestroyWindow (Display *, GLXWindow); | ||||
| extern GLXPixmap glXCreatePixmap (Display *, GLXFBConfig, Pixmap, const int *); | ||||
| extern void glXDestroyPixmap (Display *, GLXPixmap); | ||||
| extern GLXPbuffer glXCreatePbuffer (Display *, GLXFBConfig, const int *); | ||||
| extern void glXDestroyPbuffer (Display *, GLXPbuffer); | ||||
| extern void glXQueryDrawable (Display *, GLXDrawable, int, unsigned int *); | ||||
| extern GLXContext glXCreateNewContext (Display *, GLXFBConfig, int, GLXContext, Bool); | ||||
| extern Bool glXMakeContextCurrent (Display *, GLXDrawable, GLXDrawable, GLXContext); | ||||
| extern GLXDrawable glXGetCurrentReadDrawable (void); | ||||
| extern Display * glXGetCurrentDisplay (void); | ||||
| extern int glXQueryContext (Display *, GLXContext, int, int *); | ||||
| extern void glXSelectEvent (Display *, GLXDrawable, unsigned long); | ||||
| extern void glXGetSelectedEvent (Display *, GLXDrawable, unsigned long *); | ||||
| #endif /* GLX_GLXEXT_PROTOTYPES */ | ||||
| typedef GLXFBConfig * ( * PFNGLXGETFBCONFIGSPROC) (Display *dpy, int screen, int *nelements); | ||||
| typedef GLXFBConfig * ( * PFNGLXCHOOSEFBCONFIGPROC) (Display *dpy, int screen, const int *attrib_list, int *nelements); | ||||
| typedef int ( * PFNGLXGETFBCONFIGATTRIBPROC) (Display *dpy, GLXFBConfig config, int attribute, int *value); | ||||
| typedef XVisualInfo * ( * PFNGLXGETVISUALFROMFBCONFIGPROC) (Display *dpy, GLXFBConfig config); | ||||
| typedef GLXWindow ( * PFNGLXCREATEWINDOWPROC) (Display *dpy, GLXFBConfig config, Window win, const int *attrib_list); | ||||
| typedef void ( * PFNGLXDESTROYWINDOWPROC) (Display *dpy, GLXWindow win); | ||||
| typedef GLXPixmap ( * PFNGLXCREATEPIXMAPPROC) (Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list); | ||||
| typedef void ( * PFNGLXDESTROYPIXMAPPROC) (Display *dpy, GLXPixmap pixmap); | ||||
| typedef GLXPbuffer ( * PFNGLXCREATEPBUFFERPROC) (Display *dpy, GLXFBConfig config, const int *attrib_list); | ||||
| typedef void ( * PFNGLXDESTROYPBUFFERPROC) (Display *dpy, GLXPbuffer pbuf); | ||||
| typedef void ( * PFNGLXQUERYDRAWABLEPROC) (Display *dpy, GLXDrawable draw, int attribute, unsigned int *value); | ||||
| typedef GLXContext ( * PFNGLXCREATENEWCONTEXTPROC) (Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct); | ||||
| typedef Bool ( * PFNGLXMAKECONTEXTCURRENTPROC) (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx); | ||||
| typedef GLXDrawable ( * PFNGLXGETCURRENTREADDRAWABLEPROC) (void); | ||||
| typedef Display * ( * PFNGLXGETCURRENTDISPLAYPROC) (void); | ||||
| typedef int ( * PFNGLXQUERYCONTEXTPROC) (Display *dpy, GLXContext ctx, int attribute, int *value); | ||||
| typedef void ( * PFNGLXSELECTEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long event_mask); | ||||
| typedef void ( * PFNGLXGETSELECTEDEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long *event_mask); | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_VERSION_1_4 | ||||
| #define GLX_VERSION_1_4 1 | ||||
| #ifdef GLX_GLXEXT_PROTOTYPES | ||||
| extern __GLXextFuncPtr glXGetProcAddress (const GLubyte *); | ||||
| #endif /* GLX_GLXEXT_PROTOTYPES */ | ||||
| typedef __GLXextFuncPtr ( * PFNGLXGETPROCADDRESSPROC) (const GLubyte *procName); | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_ARB_get_proc_address | ||||
| #define GLX_ARB_get_proc_address 1 | ||||
| #ifdef GLX_GLXEXT_PROTOTYPES | ||||
| extern __GLXextFuncPtr glXGetProcAddressARB (const GLubyte *); | ||||
| #endif /* GLX_GLXEXT_PROTOTYPES */ | ||||
| typedef __GLXextFuncPtr ( * PFNGLXGETPROCADDRESSARBPROC) (const GLubyte *procName); | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_ARB_multisample | ||||
| #define GLX_ARB_multisample 1 | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_SGIS_multisample | ||||
| #define GLX_SGIS_multisample 1 | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_EXT_visual_info | ||||
| #define GLX_EXT_visual_info 1 | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_SGI_swap_control | ||||
| #define GLX_SGI_swap_control 1 | ||||
| #ifdef GLX_GLXEXT_PROTOTYPES | ||||
| extern int glXSwapIntervalSGI (int); | ||||
| #endif /* GLX_GLXEXT_PROTOTYPES */ | ||||
| typedef int ( * PFNGLXSWAPINTERVALSGIPROC) (int interval); | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_SGI_video_sync | ||||
| #define GLX_SGI_video_sync 1 | ||||
| #ifdef GLX_GLXEXT_PROTOTYPES | ||||
| extern int glXGetVideoSyncSGI (unsigned int *); | ||||
| extern int glXWaitVideoSyncSGI (int, int, unsigned int *); | ||||
| #endif /* GLX_GLXEXT_PROTOTYPES */ | ||||
| typedef int ( * PFNGLXGETVIDEOSYNCSGIPROC) (unsigned int *count); | ||||
| typedef int ( * PFNGLXWAITVIDEOSYNCSGIPROC) (int divisor, int remainder, unsigned int *count); | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_SGI_make_current_read | ||||
| #define GLX_SGI_make_current_read 1 | ||||
| #ifdef GLX_GLXEXT_PROTOTYPES | ||||
| extern Bool glXMakeCurrentReadSGI (Display *, GLXDrawable, GLXDrawable, GLXContext); | ||||
| extern GLXDrawable glXGetCurrentReadDrawableSGI (void); | ||||
| #endif /* GLX_GLXEXT_PROTOTYPES */ | ||||
| typedef Bool ( * PFNGLXMAKECURRENTREADSGIPROC) (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx); | ||||
| typedef GLXDrawable ( * PFNGLXGETCURRENTREADDRAWABLESGIPROC) (void); | ||||
| #endif | ||||
|  | ||||
| #ifdef _VL_H | ||||
| #ifndef GLX_SGIX_video_source | ||||
| #define GLX_SGIX_video_source 1 | ||||
| #ifdef GLX_GLXEXT_PROTOTYPES | ||||
| extern GLXVideoSourceSGIX glXCreateGLXVideoSourceSGIX (Display *, int, VLServer, VLPath, int, VLNode); | ||||
| extern void glXDestroyGLXVideoSourceSGIX (Display *, GLXVideoSourceSGIX); | ||||
| #endif /* GLX_GLXEXT_PROTOTYPES */ | ||||
| typedef GLXVideoSourceSGIX ( * PFNGLXCREATEGLXVIDEOSOURCESGIXPROC) (Display *display, int screen, VLServer server, VLPath path, int nodeClass, VLNode drainNode); | ||||
| typedef void ( * PFNGLXDESTROYGLXVIDEOSOURCESGIXPROC) (Display *dpy, GLXVideoSourceSGIX glxvideosource); | ||||
| #endif | ||||
|  | ||||
| #endif /* _VL_H */ | ||||
| #ifndef GLX_EXT_visual_rating | ||||
| #define GLX_EXT_visual_rating 1 | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_EXT_import_context | ||||
| #define GLX_EXT_import_context 1 | ||||
| #ifdef GLX_GLXEXT_PROTOTYPES | ||||
| extern Display * glXGetCurrentDisplayEXT (void); | ||||
| extern int glXQueryContextInfoEXT (Display *, GLXContext, int, int *); | ||||
| extern GLXContextID glXGetContextIDEXT (const GLXContext); | ||||
| extern GLXContext glXImportContextEXT (Display *, GLXContextID); | ||||
| extern void glXFreeContextEXT (Display *, GLXContext); | ||||
| #endif /* GLX_GLXEXT_PROTOTYPES */ | ||||
| typedef Display * ( * PFNGLXGETCURRENTDISPLAYEXTPROC) (void); | ||||
| typedef int ( * PFNGLXQUERYCONTEXTINFOEXTPROC) (Display *dpy, GLXContext context, int attribute, int *value); | ||||
| typedef GLXContextID ( * PFNGLXGETCONTEXTIDEXTPROC) (const GLXContext context); | ||||
| typedef GLXContext ( * PFNGLXIMPORTCONTEXTEXTPROC) (Display *dpy, GLXContextID contextID); | ||||
| typedef void ( * PFNGLXFREECONTEXTEXTPROC) (Display *dpy, GLXContext context); | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_SGIX_fbconfig | ||||
| #define GLX_SGIX_fbconfig 1 | ||||
| #ifdef GLX_GLXEXT_PROTOTYPES | ||||
| extern int glXGetFBConfigAttribSGIX (Display *, GLXFBConfigSGIX, int, int *); | ||||
| extern GLXFBConfigSGIX * glXChooseFBConfigSGIX (Display *, int, int *, int *); | ||||
| extern GLXPixmap glXCreateGLXPixmapWithConfigSGIX (Display *, GLXFBConfigSGIX, Pixmap); | ||||
| extern GLXContext glXCreateContextWithConfigSGIX (Display *, GLXFBConfigSGIX, int, GLXContext, Bool); | ||||
| extern XVisualInfo * glXGetVisualFromFBConfigSGIX (Display *, GLXFBConfigSGIX); | ||||
| extern GLXFBConfigSGIX glXGetFBConfigFromVisualSGIX (Display *, XVisualInfo *); | ||||
| #endif /* GLX_GLXEXT_PROTOTYPES */ | ||||
| typedef int ( * PFNGLXGETFBCONFIGATTRIBSGIXPROC) (Display *dpy, GLXFBConfigSGIX config, int attribute, int *value); | ||||
| typedef GLXFBConfigSGIX * ( * PFNGLXCHOOSEFBCONFIGSGIXPROC) (Display *dpy, int screen, int *attrib_list, int *nelements); | ||||
| typedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC) (Display *dpy, GLXFBConfigSGIX config, Pixmap pixmap); | ||||
| typedef GLXContext ( * PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC) (Display *dpy, GLXFBConfigSGIX config, int render_type, GLXContext share_list, Bool direct); | ||||
| typedef XVisualInfo * ( * PFNGLXGETVISUALFROMFBCONFIGSGIXPROC) (Display *dpy, GLXFBConfigSGIX config); | ||||
| typedef GLXFBConfigSGIX ( * PFNGLXGETFBCONFIGFROMVISUALSGIXPROC) (Display *dpy, XVisualInfo *vis); | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_SGIX_pbuffer | ||||
| #define GLX_SGIX_pbuffer 1 | ||||
| #ifdef GLX_GLXEXT_PROTOTYPES | ||||
| extern GLXPbufferSGIX glXCreateGLXPbufferSGIX (Display *, GLXFBConfigSGIX, unsigned int, unsigned int, int *); | ||||
| extern void glXDestroyGLXPbufferSGIX (Display *, GLXPbufferSGIX); | ||||
| extern int glXQueryGLXPbufferSGIX (Display *, GLXPbufferSGIX, int, unsigned int *); | ||||
| extern void glXSelectEventSGIX (Display *, GLXDrawable, unsigned long); | ||||
| extern void glXGetSelectedEventSGIX (Display *, GLXDrawable, unsigned long *); | ||||
| #endif /* GLX_GLXEXT_PROTOTYPES */ | ||||
| typedef GLXPbufferSGIX ( * PFNGLXCREATEGLXPBUFFERSGIXPROC) (Display *dpy, GLXFBConfigSGIX config, unsigned int width, unsigned int height, int *attrib_list); | ||||
| typedef void ( * PFNGLXDESTROYGLXPBUFFERSGIXPROC) (Display *dpy, GLXPbufferSGIX pbuf); | ||||
| typedef int ( * PFNGLXQUERYGLXPBUFFERSGIXPROC) (Display *dpy, GLXPbufferSGIX pbuf, int attribute, unsigned int *value); | ||||
| typedef void ( * PFNGLXSELECTEVENTSGIXPROC) (Display *dpy, GLXDrawable drawable, unsigned long mask); | ||||
| typedef void ( * PFNGLXGETSELECTEDEVENTSGIXPROC) (Display *dpy, GLXDrawable drawable, unsigned long *mask); | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_SGI_cushion | ||||
| #define GLX_SGI_cushion 1 | ||||
| #ifdef GLX_GLXEXT_PROTOTYPES | ||||
| extern void glXCushionSGI (Display *, Window, float); | ||||
| #endif /* GLX_GLXEXT_PROTOTYPES */ | ||||
| typedef void ( * PFNGLXCUSHIONSGIPROC) (Display *dpy, Window window, float cushion); | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_SGIX_video_resize | ||||
| #define GLX_SGIX_video_resize 1 | ||||
| #ifdef GLX_GLXEXT_PROTOTYPES | ||||
| extern int glXBindChannelToWindowSGIX (Display *, int, int, Window); | ||||
| extern int glXChannelRectSGIX (Display *, int, int, int, int, int, int); | ||||
| extern int glXQueryChannelRectSGIX (Display *, int, int, int *, int *, int *, int *); | ||||
| extern int glXQueryChannelDeltasSGIX (Display *, int, int, int *, int *, int *, int *); | ||||
| extern int glXChannelRectSyncSGIX (Display *, int, int, GLenum); | ||||
| #endif /* GLX_GLXEXT_PROTOTYPES */ | ||||
| typedef int ( * PFNGLXBINDCHANNELTOWINDOWSGIXPROC) (Display *display, int screen, int channel, Window window); | ||||
| typedef int ( * PFNGLXCHANNELRECTSGIXPROC) (Display *display, int screen, int channel, int x, int y, int w, int h); | ||||
| typedef int ( * PFNGLXQUERYCHANNELRECTSGIXPROC) (Display *display, int screen, int channel, int *dx, int *dy, int *dw, int *dh); | ||||
| typedef int ( * PFNGLXQUERYCHANNELDELTASSGIXPROC) (Display *display, int screen, int channel, int *x, int *y, int *w, int *h); | ||||
| typedef int ( * PFNGLXCHANNELRECTSYNCSGIXPROC) (Display *display, int screen, int channel, GLenum synctype); | ||||
| #endif | ||||
|  | ||||
| #ifdef _DM_BUFFER_H_ | ||||
| #ifndef GLX_SGIX_dmbuffer | ||||
| #define GLX_SGIX_dmbuffer 1 | ||||
| #ifdef GLX_GLXEXT_PROTOTYPES | ||||
| extern Bool glXAssociateDMPbufferSGIX (Display *, GLXPbufferSGIX, DMparams *, DMbuffer); | ||||
| #endif /* GLX_GLXEXT_PROTOTYPES */ | ||||
| typedef Bool ( * PFNGLXASSOCIATEDMPBUFFERSGIXPROC) (Display *dpy, GLXPbufferSGIX pbuffer, DMparams *params, DMbuffer dmbuffer); | ||||
| #endif | ||||
|  | ||||
| #endif /* _DM_BUFFER_H_ */ | ||||
| #ifndef GLX_SGIX_swap_group | ||||
| #define GLX_SGIX_swap_group 1 | ||||
| #ifdef GLX_GLXEXT_PROTOTYPES | ||||
| extern void glXJoinSwapGroupSGIX (Display *, GLXDrawable, GLXDrawable); | ||||
| #endif /* GLX_GLXEXT_PROTOTYPES */ | ||||
| typedef void ( * PFNGLXJOINSWAPGROUPSGIXPROC) (Display *dpy, GLXDrawable drawable, GLXDrawable member); | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_SGIX_swap_barrier | ||||
| #define GLX_SGIX_swap_barrier 1 | ||||
| #ifdef GLX_GLXEXT_PROTOTYPES | ||||
| extern void glXBindSwapBarrierSGIX (Display *, GLXDrawable, int); | ||||
| extern Bool glXQueryMaxSwapBarriersSGIX (Display *, int, int *); | ||||
| #endif /* GLX_GLXEXT_PROTOTYPES */ | ||||
| typedef void ( * PFNGLXBINDSWAPBARRIERSGIXPROC) (Display *dpy, GLXDrawable drawable, int barrier); | ||||
| typedef Bool ( * PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC) (Display *dpy, int screen, int *max); | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_SUN_get_transparent_index | ||||
| #define GLX_SUN_get_transparent_index 1 | ||||
| #ifdef GLX_GLXEXT_PROTOTYPES | ||||
| extern Status glXGetTransparentIndexSUN (Display *, Window, Window, long *); | ||||
| #endif /* GLX_GLXEXT_PROTOTYPES */ | ||||
| typedef Status ( * PFNGLXGETTRANSPARENTINDEXSUNPROC) (Display *dpy, Window overlay, Window underlay, long *pTransparentIndex); | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_MESA_copy_sub_buffer | ||||
| #define GLX_MESA_copy_sub_buffer 1 | ||||
| #ifdef GLX_GLXEXT_PROTOTYPES | ||||
| extern void glXCopySubBufferMESA (Display *, GLXDrawable, int, int, int, int); | ||||
| #endif /* GLX_GLXEXT_PROTOTYPES */ | ||||
| typedef void ( * PFNGLXCOPYSUBBUFFERMESAPROC) (Display *dpy, GLXDrawable drawable, int x, int y, int width, int height); | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_MESA_pixmap_colormap | ||||
| #define GLX_MESA_pixmap_colormap 1 | ||||
| #ifdef GLX_GLXEXT_PROTOTYPES | ||||
| extern GLXPixmap glXCreateGLXPixmapMESA (Display *, XVisualInfo *, Pixmap, Colormap); | ||||
| #endif /* GLX_GLXEXT_PROTOTYPES */ | ||||
| typedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPMESAPROC) (Display *dpy, XVisualInfo *visual, Pixmap pixmap, Colormap cmap); | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_MESA_release_buffers | ||||
| #define GLX_MESA_release_buffers 1 | ||||
| #ifdef GLX_GLXEXT_PROTOTYPES | ||||
| extern Bool glXReleaseBuffersMESA (Display *, GLXDrawable); | ||||
| #endif /* GLX_GLXEXT_PROTOTYPES */ | ||||
| typedef Bool ( * PFNGLXRELEASEBUFFERSMESAPROC) (Display *dpy, GLXDrawable drawable); | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_MESA_set_3dfx_mode | ||||
| #define GLX_MESA_set_3dfx_mode 1 | ||||
| #ifdef GLX_GLXEXT_PROTOTYPES | ||||
| extern Bool glXSet3DfxModeMESA (int); | ||||
| #endif /* GLX_GLXEXT_PROTOTYPES */ | ||||
| typedef Bool ( * PFNGLXSET3DFXMODEMESAPROC) (int mode); | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_SGIX_visual_select_group | ||||
| #define GLX_SGIX_visual_select_group 1 | ||||
| #endif | ||||
|  | ||||
| #ifndef GLX_OML_swap_method | ||||
| #define GLX_OML_swap_method 1 | ||||
| #endif | ||||
|  | ||||
| #if defined(__STDC_VERSION__) | ||||
| #if __STDC_VERSION__ >= 199901L | ||||
| /* Include ISO C99 integer types for OML_sync_control; need a better test */ | ||||
| #include <inttypes.h> | ||||
|  | ||||
| #ifndef GLX_OML_sync_control | ||||
| #define GLX_OML_sync_control 1 | ||||
| #ifdef GLX_GLXEXT_PROTOTYPES | ||||
| extern Bool glXGetSyncValuesOML (Display *, GLXDrawable, int64_t *, int64_t *, int64_t *); | ||||
| extern Bool glXGetMscRateOML (Display *, GLXDrawable, int32_t *, int32_t *); | ||||
| extern int64_t glXSwapBuffersMscOML (Display *, GLXDrawable, int64_t, int64_t, int64_t); | ||||
| extern Bool glXWaitForMscOML (Display *, GLXDrawable, int64_t, int64_t, int64_t, int64_t *, int64_t *, int64_t *); | ||||
| extern Bool glXWaitForSbcOML (Display *, GLXDrawable, int64_t, int64_t *, int64_t *, int64_t *); | ||||
| #endif /* GLX_GLXEXT_PROTOTYPES */ | ||||
| typedef Bool ( * PFNGLXGETSYNCVALUESOMLPROC) (Display *dpy, GLXDrawable drawable, int64_t *ust, int64_t *msc, int64_t *sbc); | ||||
| typedef Bool ( * PFNGLXGETMSCRATEOMLPROC) (Display *dpy, GLXDrawable drawable, int32_t *numerator, int32_t *denominator); | ||||
| typedef int64_t ( * PFNGLXSWAPBUFFERSMSCOMLPROC) (Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder); | ||||
| typedef Bool ( * PFNGLXWAITFORMSCOMLPROC) (Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder, int64_t *ust, int64_t *msc, int64_t *sbc); | ||||
| typedef Bool ( * PFNGLXWAITFORSBCOMLPROC) (Display *dpy, GLXDrawable drawable, int64_t target_sbc, int64_t *ust, int64_t *msc, int64_t *sbc); | ||||
| #endif | ||||
|  | ||||
| #endif /* C99 version test */ | ||||
| #endif /* STDC test */ | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif | ||||
							
								
								
									
										424
									
								
								include/GL/internal/glcore-new.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										424
									
								
								include/GL/internal/glcore-new.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,424 @@ | ||||
| #ifndef __gl_core_h_ | ||||
| #define __gl_core_h_ | ||||
|  | ||||
| /* | ||||
| ** License Applicability. Except to the extent portions of this file are | ||||
| ** made subject to an alternative license as permitted in the SGI Free | ||||
| ** Software License B, Version 1.1 (the "License"), the contents of this | ||||
| ** file are subject only to the provisions of the License. You may not use | ||||
| ** this file except in compliance with the License. You may obtain a copy | ||||
| ** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 | ||||
| ** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at: | ||||
| **  | ||||
| ** http://oss.sgi.com/projects/FreeB | ||||
| **  | ||||
| ** Note that, as provided in the License, the Software is distributed on an | ||||
| ** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS | ||||
| ** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND | ||||
| ** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A | ||||
| ** PARTICULAR PURPOSE, AND NON-INFRINGEMENT. | ||||
| **  | ||||
| ** Original Code. The Original Code is: OpenGL Sample Implementation, | ||||
| ** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics, | ||||
| ** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc. | ||||
| ** Copyright in any portions created by third parties is as indicated | ||||
| ** elsewhere herein. All Rights Reserved. | ||||
| **  | ||||
| ** Additional Notice Provisions: The application programming interfaces | ||||
| ** established by SGI in conjunction with the Original Code are The | ||||
| ** OpenGL(R) Graphics System: A Specification (Version 1.2.1), released | ||||
| ** April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version | ||||
| ** 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X | ||||
| ** Window System(R) (Version 1.3), released October 19, 1998. This software | ||||
| ** was created using the OpenGL(R) version 1.2.1 Sample Implementation | ||||
| ** published by SGI, but has not been independently verified as being | ||||
| ** compliant with the OpenGL(R) version 1.2.1 Specification. | ||||
| ** | ||||
| ** $Date: 2001/01/08 03:56:53 $ $Revision: 1.1 $ | ||||
| ** $Header: /home/krh/git/sync/mesa-cvs-repo/Mesa/include/GL/internal/Attic/glcore-new.h,v 1.1 2001/01/08 03:56:53 keithw Exp $ | ||||
| */ | ||||
|  | ||||
| #ifdef XFree86LOADER | ||||
| #include "xf86_ansic.h" | ||||
| #else | ||||
| #include <sys/types.h> | ||||
| #endif | ||||
|  | ||||
| typedef struct __GLcontextRec __GLcontext; | ||||
| typedef struct __GLinterfaceRec __GLinterface; | ||||
|  | ||||
| /* | ||||
| ** This file defines the interface between the GL core and the surrounding | ||||
| ** "operating system" that supports it (currently the GLX or WGL extensions). | ||||
| ** | ||||
| ** Members (data and function pointers) are documented as imported or | ||||
| ** exported according to how they are used by the core rendering functions. | ||||
| ** Imported members are initialized by the "operating system" and used by | ||||
| ** the core functions.  Exported members are initialized by the core functions | ||||
| ** and used by the "operating system". | ||||
| */ | ||||
|  | ||||
| /* | ||||
| ** Mode and limit information for a context.  This information is | ||||
| ** kept around in the context so that values can be used during | ||||
| ** command execution, and for returning information about the | ||||
| ** context to the application. | ||||
| */ | ||||
| typedef struct __GLcontextModesRec { | ||||
|     GLboolean rgbMode; | ||||
|     GLboolean colorIndexMode; | ||||
|     GLboolean doubleBufferMode; | ||||
|     GLboolean stereoMode; | ||||
|  | ||||
|     GLboolean haveAccumBuffer; | ||||
|     GLboolean haveDepthBuffer; | ||||
|     GLboolean haveStencilBuffer; | ||||
|  | ||||
|     GLint redBits, greenBits, blueBits, alphaBits;	/* bits per comp */ | ||||
|     GLuint redMask, greenMask, blueMask, alphaMask; | ||||
|     GLint rgbBits;		/* total bits for rgb */ | ||||
|     GLint indexBits;		/* total bits for colorindex */ | ||||
|  | ||||
|     GLint accumRedBits, accumGreenBits, accumBlueBits, accumAlphaBits; | ||||
|     GLint depthBits; | ||||
|     GLint stencilBits; | ||||
|  | ||||
|     GLint numAuxBuffers; | ||||
|  | ||||
|     GLint level; | ||||
|  | ||||
|     GLint pixmapMode; | ||||
| } __GLcontextModes; | ||||
|  | ||||
| /************************************************************************/ | ||||
|  | ||||
| /* | ||||
| ** Structure used for allocating and freeing drawable private memory. | ||||
| ** (like software buffers, for example). | ||||
| ** | ||||
| ** The memory allocation routines are provided by the surrounding | ||||
| ** "operating system" code, and they are to be used for allocating | ||||
| ** software buffers and things which are associated with the drawable, | ||||
| ** and used by any context which draws to that drawable.  There are | ||||
| ** separate memory allocation functions for drawables and contexts | ||||
| ** since drawables and contexts can be created and destroyed independently | ||||
| ** of one another, and the "operating system" may want to use separate | ||||
| ** allocation arenas for each. | ||||
| ** | ||||
| ** The freePrivate function is filled in by the core routines when they | ||||
| ** allocates software buffers, and stick them in "private".  The freePrivate | ||||
| ** function will destroy anything allocated to this drawable (to be called | ||||
| ** when the drawable is destroyed). | ||||
| */ | ||||
| typedef struct __GLdrawableRegionRec __GLdrawableRegion; | ||||
| typedef struct __GLdrawableBufferRec __GLdrawableBuffer; | ||||
| typedef struct __GLdrawablePrivateRec __GLdrawablePrivate; | ||||
|  | ||||
| typedef struct __GLregionRectRec { | ||||
|     /* lower left (inside the rectangle) */ | ||||
|     GLint x0, y0; | ||||
|     /* upper right (outside the rectangle) */ | ||||
|     GLint x1, y1; | ||||
| } __GLregionRect; | ||||
|  | ||||
| struct __GLdrawableRegionRec { | ||||
|     GLint numRects; | ||||
|     __GLregionRect *rects; | ||||
|     __GLregionRect boundingRect; | ||||
| }; | ||||
|  | ||||
| /************************************************************************/ | ||||
|  | ||||
| /* masks for the buffers */ | ||||
| #define __GL_FRONT_BUFFER_MASK		0x00000001 | ||||
| #define	__GL_FRONT_LEFT_BUFFER_MASK	0x00000001 | ||||
| #define	__GL_FRONT_RIGHT_BUFFER_MASK	0x00000002 | ||||
| #define	__GL_BACK_BUFFER_MASK		0x00000004 | ||||
| #define __GL_BACK_LEFT_BUFFER_MASK	0x00000004 | ||||
| #define __GL_BACK_RIGHT_BUFFER_MASK	0x00000008 | ||||
| #define	__GL_ACCUM_BUFFER_MASK		0x00000010 | ||||
| #define	__GL_DEPTH_BUFFER_MASK		0x00000020 | ||||
| #define	__GL_STENCIL_BUFFER_MASK	0x00000040 | ||||
| #define	__GL_AUX_BUFFER_MASK(i)		(0x0000080 << (i)) | ||||
|  | ||||
| #define __GL_ALL_BUFFER_MASK		0xffffffff | ||||
|  | ||||
| /* what Resize routines return if resize resorted to fallback case */ | ||||
| #define __GL_BUFFER_FALLBACK	0x10 | ||||
|  | ||||
| typedef void (*__GLbufFallbackInitFn)(__GLdrawableBuffer *buf,  | ||||
| 				      __GLdrawablePrivate *glPriv, GLint bits); | ||||
| typedef void (*__GLbufMainInitFn)(__GLdrawableBuffer *buf,  | ||||
| 				  __GLdrawablePrivate *glPriv, GLint bits, | ||||
| 				  __GLbufFallbackInitFn back); | ||||
|  | ||||
| /* | ||||
| ** A drawable buffer | ||||
| ** | ||||
| ** This data structure describes the context side of a drawable.   | ||||
| ** | ||||
| ** According to the spec there could be multiple contexts bound to the same | ||||
| ** drawable at the same time (from different threads).  In order to avoid | ||||
| ** multiple-access conflicts, locks are used to serialize access.  When a | ||||
| ** thread needs to access (read or write) a member of the drawable, it takes | ||||
| ** a lock first.  Some of the entries in the drawable are treated "mostly | ||||
| ** constant", so we take the freedom of allowing access to them without | ||||
| ** taking a lock (for optimization reasons). | ||||
| ** | ||||
| ** For more details regarding locking, see buffers.h in the GL core | ||||
| */ | ||||
| struct __GLdrawableBufferRec { | ||||
|     /* | ||||
|     ** Buffer dimensions | ||||
|     */ | ||||
|     GLint width, height, depth; | ||||
|  | ||||
|     /* | ||||
|     ** Framebuffer base address | ||||
|     */ | ||||
|     void *base; | ||||
|  | ||||
|     /* | ||||
|     ** Framebuffer size (in bytes) | ||||
|     */ | ||||
|     GLuint size; | ||||
|  | ||||
|     /* | ||||
|     ** Size (in bytes) of each element in the framebuffer | ||||
|     */ | ||||
|     GLuint elementSize; | ||||
|     GLuint elementSizeLog2; | ||||
|  | ||||
|     /* | ||||
|     ** Element skip from one scanline to the next. | ||||
|     ** If the buffer is part of another buffer (for example, fullscreen | ||||
|     ** front buffer), outerWidth is the width of that buffer. | ||||
|     */ | ||||
|     GLint outerWidth; | ||||
|  | ||||
|     /* | ||||
|     ** outerWidth * elementSize | ||||
|     */ | ||||
|     GLint byteWidth; | ||||
|  | ||||
|     /* | ||||
|     ** Allocation/deallocation is done based on this handle.  A handle | ||||
|     ** is conceptually different from the framebuffer 'base'. | ||||
|     */ | ||||
|     void *handle; | ||||
|  | ||||
|     /* imported */ | ||||
|     GLboolean (*resize)(__GLdrawableBuffer *buf, | ||||
| 			GLint x, GLint y, GLuint width, GLuint height,  | ||||
| 			__GLdrawablePrivate *glPriv, GLuint bufferMask); | ||||
|     void (*lock)(__GLdrawableBuffer *buf, __GLdrawablePrivate *glPriv); | ||||
|     void (*unlock)(__GLdrawableBuffer *buf, __GLdrawablePrivate *glPriv); | ||||
|     void (*fill)(__GLdrawableBuffer *buf, __GLdrawablePrivate *glPriv, | ||||
|     		GLuint val, GLint x, GLint y, GLint w, GLint h); | ||||
|     void (*free)(__GLdrawableBuffer *buf, __GLdrawablePrivate *glPriv); | ||||
|  | ||||
|     /* exported */ | ||||
|     void (*freePrivate)(__GLdrawableBuffer *buf, __GLdrawablePrivate *glPriv); | ||||
| #ifdef __cplusplus | ||||
|     void *privatePtr; | ||||
| #else | ||||
|     void *private; | ||||
| #endif | ||||
|  | ||||
|     /* private */ | ||||
|     void *other;	/* implementation private data */ | ||||
|     __GLbufMainInitFn mainInit; | ||||
|     __GLbufFallbackInitFn fallbackInit; | ||||
| }; | ||||
|  | ||||
| /* | ||||
| ** The context side of the drawable private | ||||
| */ | ||||
| struct __GLdrawablePrivateRec { | ||||
|     /* | ||||
|     ** Drawable Modes | ||||
|     */ | ||||
|     __GLcontextModes *modes; | ||||
|  | ||||
|     /* | ||||
|     ** Drawable size | ||||
|     */ | ||||
|     GLuint width, height; | ||||
|  | ||||
|     /* | ||||
|     ** Origin in screen coordinates of the drawable | ||||
|     */ | ||||
|     GLint xOrigin, yOrigin; | ||||
| #ifdef __GL_ALIGNED_BUFFERS | ||||
|     /* | ||||
|     ** Drawable offset from screen origin | ||||
|     */ | ||||
|     GLint xOffset, yOffset; | ||||
|  | ||||
|     /* | ||||
|     ** Alignment restriction | ||||
|     */ | ||||
|     GLint xAlignment, yAlignment; | ||||
| #endif | ||||
|     /* | ||||
|     ** Should we invert the y axis? | ||||
|     */ | ||||
|     GLint yInverted; | ||||
|  | ||||
|     /* | ||||
|     ** Mask specifying which buffers are renderable by the hw | ||||
|     */ | ||||
|     GLuint accelBufferMask; | ||||
|  | ||||
|     /* | ||||
|     ** the buffers themselves | ||||
|     */ | ||||
|     __GLdrawableBuffer frontBuffer; | ||||
|     __GLdrawableBuffer backBuffer; | ||||
|     __GLdrawableBuffer accumBuffer; | ||||
|     __GLdrawableBuffer depthBuffer; | ||||
|     __GLdrawableBuffer stencilBuffer; | ||||
| #if __GL_NUMBER_OF_AUX_BUFFERS > 0 | ||||
|     __GLdrawableBuffer *auxBuffer; | ||||
| #endif | ||||
|  | ||||
|     __GLdrawableRegion ownershipRegion; | ||||
|  | ||||
|     /* | ||||
|     ** Lock for the drawable private structure | ||||
|     */ | ||||
|     void *lock; | ||||
| #ifdef DEBUG | ||||
|     /* lock debugging info */ | ||||
|     int lockRefCount; | ||||
|     int lockLine[10]; | ||||
|     char *lockFile[10]; | ||||
| #endif | ||||
|  | ||||
|     /* imported */ | ||||
|     void *(*malloc)(size_t size); | ||||
|     void *(*calloc)(size_t numElem, size_t elemSize); | ||||
|     void *(*realloc)(void *oldAddr, size_t newSize); | ||||
|     void (*free)(void *addr); | ||||
|  | ||||
|     GLboolean (*addSwapRect)(__GLdrawablePrivate *glPriv,  | ||||
| 			     GLint x, GLint y, GLsizei width, GLsizei height); | ||||
|     void (*setClipRect)(__GLdrawablePrivate *glPriv,  | ||||
| 			GLint x, GLint y, GLsizei width, GLsizei height); | ||||
|     void (*updateClipRegion)(__GLdrawablePrivate *glPriv); | ||||
|     GLboolean (*resize)(__GLdrawablePrivate *glPriv); | ||||
|     void (*getDrawableSize)(__GLdrawablePrivate *glPriv,  | ||||
| 			    GLint *x, GLint *y, GLuint *width, GLuint *height); | ||||
|  | ||||
|     void (*lockDP)(__GLdrawablePrivate *glPriv, __GLcontext *gc); | ||||
|     void (*unlockDP)(__GLdrawablePrivate *glPriv); | ||||
|  | ||||
|     /* exported */ | ||||
|     void *wsPriv;	/* pointer to the window system DrawablePrivate */ | ||||
| #ifdef __cplusplus | ||||
|     void *privatePtr; | ||||
| #else | ||||
|     void *private; | ||||
| #endif | ||||
|     void (*freePrivate)(__GLdrawablePrivate *); | ||||
|  | ||||
|     /* client data */ | ||||
|     void *other; | ||||
| }; | ||||
|  | ||||
| /* | ||||
| ** Macros to lock/unlock the drawable private | ||||
| */ | ||||
| #if defined(DEBUG) | ||||
| #define __GL_LOCK_DP(glPriv,gc) \ | ||||
|     (*(glPriv)->lockDP)(glPriv,gc); \ | ||||
|     (glPriv)->lockLine[(glPriv)->lockRefCount] = __LINE__; \ | ||||
|     (glPriv)->lockFile[(glPriv)->lockRefCount] = __FILE__; \ | ||||
|     (glPriv)->lockRefCount++ | ||||
| #define __GL_UNLOCK_DP(glPriv) \ | ||||
|     (glPriv)->lockRefCount--; \ | ||||
|     (glPriv)->lockLine[(glPriv)->lockRefCount] = 0; \ | ||||
|     (glPriv)->lockFile[(glPriv)->lockRefCount] = NULL; \ | ||||
|     (*(glPriv)->unlockDP)(glPriv) | ||||
| #else /* DEBUG */ | ||||
| #define __GL_LOCK_DP(glPriv,gc)		(*(glPriv)->lockDP)(glPriv,gc) | ||||
| #define	__GL_UNLOCK_DP(glPriv)		(*(glPriv)->unlockDP)(glPriv) | ||||
| #endif /* DEBUG */ | ||||
|  | ||||
|  | ||||
| /* | ||||
| ** Procedures which are imported by the GL from the surrounding | ||||
| ** "operating system".  Math functions are not considered part of the | ||||
| ** "operating system". | ||||
| */ | ||||
| typedef struct __GLimportsRec { | ||||
|     /* Memory management */ | ||||
|     void * (*malloc)(__GLcontext *gc, size_t size); | ||||
|     void *(*calloc)(__GLcontext *gc, size_t numElem, size_t elemSize); | ||||
|     void *(*realloc)(__GLcontext *gc, void *oldAddr, size_t newSize); | ||||
|     void (*free)(__GLcontext *gc, void *addr); | ||||
|  | ||||
|     /* Error handling */ | ||||
|     void (*warning)(__GLcontext *gc, char *fmt); | ||||
|     void (*fatal)(__GLcontext *gc, char *fmt); | ||||
|  | ||||
|     /* other system calls */ | ||||
|     char *(CAPI *getenv)(__GLcontext *gc, const char *var); | ||||
|     int (CAPI *atoi)(__GLcontext *gc, const char *str); | ||||
|     int (CAPI *sprintf)(__GLcontext *gc, char *str, const char *fmt, ...); | ||||
|     void *(CAPI *fopen)(__GLcontext *gc, const char *path, const char *mode); | ||||
|     int (CAPI *fclose)(__GLcontext *gc, void *stream); | ||||
|     int (CAPI *fprintf)(__GLcontext *gc, void *stream, const char *fmt, ...); | ||||
|  | ||||
|     /* Drawing surface management */ | ||||
|     __GLdrawablePrivate *(*getDrawablePrivate)(__GLcontext *gc); | ||||
|  | ||||
|     /* Pointer to the window system context */ | ||||
|     void *wscx; | ||||
|  | ||||
|     /* Operating system dependent data goes here */ | ||||
|     void *other; | ||||
| } __GLimports; | ||||
|  | ||||
| /************************************************************************/ | ||||
|  | ||||
| /* | ||||
| ** Procedures which are exported by the GL to the surrounding "operating | ||||
| ** system" so that it can manage multiple GL context's. | ||||
| */ | ||||
| typedef struct __GLexportsRec { | ||||
|     /* Context management (return GL_FALSE on failure) */ | ||||
|     GLboolean (*destroyContext)(__GLcontext *gc); | ||||
|     GLboolean (*loseCurrent)(__GLcontext *gc); | ||||
|     GLboolean (*makeCurrent)(__GLcontext *gc); | ||||
|     GLboolean (*shareContext)(__GLcontext *gc, __GLcontext *gcShare); | ||||
|     GLboolean (*copyContext)(__GLcontext *dst, const __GLcontext *src, GLuint mask); | ||||
|     GLboolean (*forceCurrent)(__GLcontext *gc); | ||||
|  | ||||
|     /* Drawing surface notification callbacks */ | ||||
|     GLboolean (*notifyResize)(__GLcontext *gc); | ||||
|     void (*notifyDestroy)(__GLcontext *gc); | ||||
|     void (*notifySwapBuffers)(__GLcontext *gc); | ||||
|  | ||||
|     /* Dispatch table override control for external agents like libGLS */ | ||||
|     struct __GLdispatchStateRec* (*dispatchExec)(__GLcontext *gc); | ||||
|     void (*beginDispatchOverride)(__GLcontext *gc); | ||||
|     void (*endDispatchOverride)(__GLcontext *gc); | ||||
| } __GLexports; | ||||
|  | ||||
| /************************************************************************/ | ||||
|  | ||||
| /* | ||||
| ** This must be the first member of a __GLcontext structure.  This is the | ||||
| ** only part of a context that is exposed to the outside world; everything | ||||
| ** else is opaque. | ||||
| */ | ||||
| struct __GLinterfaceRec { | ||||
|     __GLimports imports; | ||||
|     __GLexports exports; | ||||
| }; | ||||
|  | ||||
| extern __GLcontext *__glCoreCreateContext(__GLimports *, __GLcontextModes *); | ||||
| extern void __glCoreNopDispatch(void); | ||||
|  | ||||
| #endif /* __gl_core_h_ */ | ||||
							
								
								
									
										431
									
								
								include/GL/internal/glcore.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										431
									
								
								include/GL/internal/glcore.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,431 @@ | ||||
| /* $XFree86: xc/lib/GL/include/GL/internal/glcore.h,v 1.7 2001/03/25 05:32:00 tsi Exp $ */ | ||||
| #ifndef __gl_core_h_ | ||||
| #define __gl_core_h_ | ||||
|  | ||||
| /* | ||||
| ** License Applicability. Except to the extent portions of this file are | ||||
| ** made subject to an alternative license as permitted in the SGI Free | ||||
| ** Software License B, Version 1.1 (the "License"), the contents of this | ||||
| ** file are subject only to the provisions of the License. You may not use | ||||
| ** this file except in compliance with the License. You may obtain a copy | ||||
| ** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 | ||||
| ** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at: | ||||
| **  | ||||
| ** http://oss.sgi.com/projects/FreeB | ||||
| **  | ||||
| ** Note that, as provided in the License, the Software is distributed on an | ||||
| ** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS | ||||
| ** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND | ||||
| ** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A | ||||
| ** PARTICULAR PURPOSE, AND NON-INFRINGEMENT. | ||||
| **  | ||||
| ** Original Code. The Original Code is: OpenGL Sample Implementation, | ||||
| ** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics, | ||||
| ** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc. | ||||
| ** Copyright in any portions created by third parties is as indicated | ||||
| ** elsewhere herein. All Rights Reserved. | ||||
| **  | ||||
| ** Additional Notice Provisions: The application programming interfaces | ||||
| ** established by SGI in conjunction with the Original Code are The | ||||
| ** OpenGL(R) Graphics System: A Specification (Version 1.2.1), released | ||||
| ** April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version | ||||
| ** 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X | ||||
| ** Window System(R) (Version 1.3), released October 19, 1998. This software | ||||
| ** was created using the OpenGL(R) version 1.2.1 Sample Implementation | ||||
| ** published by SGI, but has not been independently verified as being | ||||
| ** compliant with the OpenGL(R) version 1.2.1 Specification. | ||||
| ** | ||||
| */ | ||||
|  | ||||
| #ifndef XFree86LOADER | ||||
| #include <sys/types.h> | ||||
| #endif | ||||
|  | ||||
| #define GL_CORE_SGI  1 | ||||
| #define GL_CORE_MESA 2 | ||||
|  | ||||
| typedef struct __GLcontextRec __GLcontext; | ||||
| typedef struct __GLinterfaceRec __GLinterface; | ||||
|  | ||||
| /* | ||||
| ** This file defines the interface between the GL core and the surrounding | ||||
| ** "operating system" that supports it (currently the GLX or WGL extensions). | ||||
| ** | ||||
| ** Members (data and function pointers) are documented as imported or | ||||
| ** exported according to how they are used by the core rendering functions. | ||||
| ** Imported members are initialized by the "operating system" and used by | ||||
| ** the core functions.  Exported members are initialized by the core functions | ||||
| ** and used by the "operating system". | ||||
| */ | ||||
|  | ||||
| /** | ||||
|  * Mode and limit information for a context.  This information is | ||||
|  * kept around in the context so that values can be used during | ||||
|  * command execution, and for returning information about the | ||||
|  * context to the application. | ||||
|  */ | ||||
| typedef struct __GLcontextModesRec { | ||||
|     GLboolean rgbMode; | ||||
|     GLboolean colorIndexMode; | ||||
|     GLboolean doubleBufferMode; | ||||
|     GLboolean stereoMode; | ||||
|  | ||||
|     GLboolean haveAccumBuffer; | ||||
|     GLboolean haveDepthBuffer; | ||||
|     GLboolean haveStencilBuffer; | ||||
|  | ||||
|     GLint redBits, greenBits, blueBits, alphaBits;	/* bits per comp */ | ||||
|     GLuint redMask, greenMask, blueMask, alphaMask; | ||||
|     GLint rgbBits;		/* total bits for rgb */ | ||||
|     GLint indexBits;		/* total bits for colorindex */ | ||||
|  | ||||
|     GLint accumRedBits, accumGreenBits, accumBlueBits, accumAlphaBits; | ||||
|     GLint depthBits; | ||||
|     GLint stencilBits; | ||||
|  | ||||
|     GLint numAuxBuffers; | ||||
|  | ||||
|     GLint level; | ||||
|  | ||||
|     GLint pixmapMode; | ||||
| } __GLcontextModes; | ||||
|  | ||||
| /************************************************************************/ | ||||
|  | ||||
| /* | ||||
| ** Structure used for allocating and freeing drawable private memory. | ||||
| ** (like software buffers, for example). | ||||
| ** | ||||
| ** The memory allocation routines are provided by the surrounding | ||||
| ** "operating system" code, and they are to be used for allocating | ||||
| ** software buffers and things which are associated with the drawable, | ||||
| ** and used by any context which draws to that drawable.  There are | ||||
| ** separate memory allocation functions for drawables and contexts | ||||
| ** since drawables and contexts can be created and destroyed independently | ||||
| ** of one another, and the "operating system" may want to use separate | ||||
| ** allocation arenas for each. | ||||
| ** | ||||
| ** The freePrivate function is filled in by the core routines when they | ||||
| ** allocates software buffers, and stick them in "private".  The freePrivate | ||||
| ** function will destroy anything allocated to this drawable (to be called | ||||
| ** when the drawable is destroyed). | ||||
| */ | ||||
| typedef struct __GLdrawableRegionRec __GLdrawableRegion; | ||||
| typedef struct __GLdrawableBufferRec __GLdrawableBuffer; | ||||
| typedef struct __GLdrawablePrivateRec __GLdrawablePrivate; | ||||
|  | ||||
| typedef struct __GLregionRectRec { | ||||
|     /* lower left (inside the rectangle) */ | ||||
|     GLint x0, y0; | ||||
|     /* upper right (outside the rectangle) */ | ||||
|     GLint x1, y1; | ||||
| } __GLregionRect; | ||||
|  | ||||
| struct __GLdrawableRegionRec { | ||||
|     GLint numRects; | ||||
|     __GLregionRect *rects; | ||||
|     __GLregionRect boundingRect; | ||||
| }; | ||||
|  | ||||
| /************************************************************************/ | ||||
|  | ||||
| /* masks for the buffers */ | ||||
| #define __GL_FRONT_BUFFER_MASK		0x00000001 | ||||
| #define	__GL_FRONT_LEFT_BUFFER_MASK	0x00000001 | ||||
| #define	__GL_FRONT_RIGHT_BUFFER_MASK	0x00000002 | ||||
| #define	__GL_BACK_BUFFER_MASK		0x00000004 | ||||
| #define __GL_BACK_LEFT_BUFFER_MASK	0x00000004 | ||||
| #define __GL_BACK_RIGHT_BUFFER_MASK	0x00000008 | ||||
| #define	__GL_ACCUM_BUFFER_MASK		0x00000010 | ||||
| #define	__GL_DEPTH_BUFFER_MASK		0x00000020 | ||||
| #define	__GL_STENCIL_BUFFER_MASK	0x00000040 | ||||
| #define	__GL_AUX_BUFFER_MASK(i)		(0x0000080 << (i)) | ||||
|  | ||||
| #define __GL_ALL_BUFFER_MASK		0xffffffff | ||||
|  | ||||
| /* what Resize routines return if resize resorted to fallback case */ | ||||
| #define __GL_BUFFER_FALLBACK	0x10 | ||||
|  | ||||
| typedef void (*__GLbufFallbackInitFn)(__GLdrawableBuffer *buf,  | ||||
| 				      __GLdrawablePrivate *glPriv, GLint bits); | ||||
| typedef void (*__GLbufMainInitFn)(__GLdrawableBuffer *buf,  | ||||
| 				  __GLdrawablePrivate *glPriv, GLint bits, | ||||
| 				  __GLbufFallbackInitFn back); | ||||
|  | ||||
| /* | ||||
| ** A drawable buffer | ||||
| ** | ||||
| ** This data structure describes the context side of a drawable.   | ||||
| ** | ||||
| ** According to the spec there could be multiple contexts bound to the same | ||||
| ** drawable at the same time (from different threads).  In order to avoid | ||||
| ** multiple-access conflicts, locks are used to serialize access.  When a | ||||
| ** thread needs to access (read or write) a member of the drawable, it takes | ||||
| ** a lock first.  Some of the entries in the drawable are treated "mostly | ||||
| ** constant", so we take the freedom of allowing access to them without | ||||
| ** taking a lock (for optimization reasons). | ||||
| ** | ||||
| ** For more details regarding locking, see buffers.h in the GL core | ||||
| */ | ||||
| struct __GLdrawableBufferRec { | ||||
|     /* | ||||
|     ** Buffer dimensions | ||||
|     */ | ||||
|     GLint width, height, depth; | ||||
|  | ||||
|     /* | ||||
|     ** Framebuffer base address | ||||
|     */ | ||||
|     void *base; | ||||
|  | ||||
|     /* | ||||
|     ** Framebuffer size (in bytes) | ||||
|     */ | ||||
|     GLuint size; | ||||
|  | ||||
|     /* | ||||
|     ** Size (in bytes) of each element in the framebuffer | ||||
|     */ | ||||
|     GLuint elementSize; | ||||
|     GLuint elementSizeLog2; | ||||
|  | ||||
|     /* | ||||
|     ** Element skip from one scanline to the next. | ||||
|     ** If the buffer is part of another buffer (for example, fullscreen | ||||
|     ** front buffer), outerWidth is the width of that buffer. | ||||
|     */ | ||||
|     GLint outerWidth; | ||||
|  | ||||
|     /* | ||||
|     ** outerWidth * elementSize | ||||
|     */ | ||||
|     GLint byteWidth; | ||||
|  | ||||
|     /* | ||||
|     ** Allocation/deallocation is done based on this handle.  A handle | ||||
|     ** is conceptually different from the framebuffer 'base'. | ||||
|     */ | ||||
|     void *handle; | ||||
|  | ||||
|     /* imported */ | ||||
|     GLboolean (*resize)(__GLdrawableBuffer *buf, | ||||
| 			GLint x, GLint y, GLuint width, GLuint height,  | ||||
| 			__GLdrawablePrivate *glPriv, GLuint bufferMask); | ||||
|     void (*lock)(__GLdrawableBuffer *buf, __GLdrawablePrivate *glPriv); | ||||
|     void (*unlock)(__GLdrawableBuffer *buf, __GLdrawablePrivate *glPriv); | ||||
|     void (*fill)(__GLdrawableBuffer *buf, __GLdrawablePrivate *glPriv, | ||||
|     		GLuint val, GLint x, GLint y, GLint w, GLint h); | ||||
|     void (*free)(__GLdrawableBuffer *buf, __GLdrawablePrivate *glPriv); | ||||
|  | ||||
|     /* exported */ | ||||
|     void (*freePrivate)(__GLdrawableBuffer *buf, __GLdrawablePrivate *glPriv); | ||||
| #ifdef __cplusplus | ||||
|     void *privatePtr; | ||||
| #else | ||||
|     void *private; | ||||
| #endif | ||||
|  | ||||
|     /* private */ | ||||
|     void *other;	/* implementation private data */ | ||||
|     __GLbufMainInitFn mainInit; | ||||
|     __GLbufFallbackInitFn fallbackInit; | ||||
| }; | ||||
|  | ||||
| /* | ||||
| ** The context side of the drawable private | ||||
| */ | ||||
| struct __GLdrawablePrivateRec { | ||||
|     /* | ||||
|     ** Drawable Modes | ||||
|     */ | ||||
|     __GLcontextModes *modes; | ||||
|  | ||||
|     /* | ||||
|     ** Drawable size | ||||
|     */ | ||||
|     GLuint width, height; | ||||
|  | ||||
|     /* | ||||
|     ** Origin in screen coordinates of the drawable | ||||
|     */ | ||||
|     GLint xOrigin, yOrigin; | ||||
| #ifdef __GL_ALIGNED_BUFFERS | ||||
|     /* | ||||
|     ** Drawable offset from screen origin | ||||
|     */ | ||||
|     GLint xOffset, yOffset; | ||||
|  | ||||
|     /* | ||||
|     ** Alignment restriction | ||||
|     */ | ||||
|     GLint xAlignment, yAlignment; | ||||
| #endif | ||||
|     /* | ||||
|     ** Should we invert the y axis? | ||||
|     */ | ||||
|     GLint yInverted; | ||||
|  | ||||
|     /* | ||||
|     ** Mask specifying which buffers are renderable by the hw | ||||
|     */ | ||||
|     GLuint accelBufferMask; | ||||
|  | ||||
|     /* | ||||
|     ** the buffers themselves | ||||
|     */ | ||||
|     __GLdrawableBuffer frontBuffer; | ||||
|     __GLdrawableBuffer backBuffer; | ||||
|     __GLdrawableBuffer accumBuffer; | ||||
|     __GLdrawableBuffer depthBuffer; | ||||
|     __GLdrawableBuffer stencilBuffer; | ||||
| #if defined(__GL_NUMBER_OF_AUX_BUFFERS) && (__GL_NUMBER_OF_AUX_BUFFERS > 0) | ||||
|     __GLdrawableBuffer *auxBuffer; | ||||
| #endif | ||||
|  | ||||
|     __GLdrawableRegion ownershipRegion; | ||||
|  | ||||
|     /* | ||||
|     ** Lock for the drawable private structure | ||||
|     */ | ||||
|     void *lock; | ||||
| #ifdef DEBUG | ||||
|     /* lock debugging info */ | ||||
|     int lockRefCount; | ||||
|     int lockLine[10]; | ||||
|     char *lockFile[10]; | ||||
| #endif | ||||
|  | ||||
|     /* imported */ | ||||
|     void *(*malloc)(size_t size); | ||||
|     void *(*calloc)(size_t numElem, size_t elemSize); | ||||
|     void *(*realloc)(void *oldAddr, size_t newSize); | ||||
|     void (*free)(void *addr); | ||||
|  | ||||
|     GLboolean (*addSwapRect)(__GLdrawablePrivate *glPriv,  | ||||
| 			     GLint x, GLint y, GLsizei width, GLsizei height); | ||||
|     void (*setClipRect)(__GLdrawablePrivate *glPriv,  | ||||
| 			GLint x, GLint y, GLsizei width, GLsizei height); | ||||
|     void (*updateClipRegion)(__GLdrawablePrivate *glPriv); | ||||
|     GLboolean (*resize)(__GLdrawablePrivate *glPriv); | ||||
|     void (*getDrawableSize)(__GLdrawablePrivate *glPriv,  | ||||
| 			    GLint *x, GLint *y, GLuint *width, GLuint *height); | ||||
|  | ||||
|     void (*lockDP)(__GLdrawablePrivate *glPriv, __GLcontext *gc); | ||||
|     void (*unlockDP)(__GLdrawablePrivate *glPriv); | ||||
|  | ||||
|     /* exported */ | ||||
| #if 0 /* disable, just like in __GLimportsRec */ | ||||
|     void *wsPriv;	/* pointer to the window system DrawablePrivate */ | ||||
| #endif | ||||
| #ifdef __cplusplus | ||||
|     void *privatePtr; | ||||
| #else | ||||
|     void *private; | ||||
| #endif | ||||
|     void (*freePrivate)(__GLdrawablePrivate *); | ||||
|  | ||||
|     /* client data */ | ||||
|     void *other; | ||||
| }; | ||||
|  | ||||
| /* | ||||
| ** Macros to lock/unlock the drawable private | ||||
| */ | ||||
| #if defined(DEBUG) | ||||
| #define __GL_LOCK_DP(glPriv,gc) \ | ||||
|     (*(glPriv)->lockDP)(glPriv,gc); \ | ||||
|     (glPriv)->lockLine[(glPriv)->lockRefCount] = __LINE__; \ | ||||
|     (glPriv)->lockFile[(glPriv)->lockRefCount] = __FILE__; \ | ||||
|     (glPriv)->lockRefCount++ | ||||
| #define __GL_UNLOCK_DP(glPriv) \ | ||||
|     (glPriv)->lockRefCount--; \ | ||||
|     (glPriv)->lockLine[(glPriv)->lockRefCount] = 0; \ | ||||
|     (glPriv)->lockFile[(glPriv)->lockRefCount] = NULL; \ | ||||
|     (*(glPriv)->unlockDP)(glPriv) | ||||
| #else /* DEBUG */ | ||||
| #define __GL_LOCK_DP(glPriv,gc)		(*(glPriv)->lockDP)(glPriv,gc) | ||||
| #define	__GL_UNLOCK_DP(glPriv)		(*(glPriv)->unlockDP)(glPriv) | ||||
| #endif /* DEBUG */ | ||||
|  | ||||
|  | ||||
| /* | ||||
| ** Procedures which are imported by the GL from the surrounding | ||||
| ** "operating system".  Math functions are not considered part of the | ||||
| ** "operating system". | ||||
| */ | ||||
| typedef struct __GLimportsRec { | ||||
|     /* Memory management */ | ||||
|     void * (*malloc)(__GLcontext *gc, size_t size); | ||||
|     void *(*calloc)(__GLcontext *gc, size_t numElem, size_t elemSize); | ||||
|     void *(*realloc)(__GLcontext *gc, void *oldAddr, size_t newSize); | ||||
|     void (*free)(__GLcontext *gc, void *addr); | ||||
|  | ||||
|     /* Error handling */ | ||||
|     void (*warning)(__GLcontext *gc, char *fmt); | ||||
|     void (*fatal)(__GLcontext *gc, char *fmt); | ||||
|  | ||||
|     /* other system calls */ | ||||
|     char *(CAPI *getenv)(__GLcontext *gc, const char *var); | ||||
|     int (CAPI *atoi)(__GLcontext *gc, const char *str); | ||||
|     int (CAPI *sprintf)(__GLcontext *gc, char *str, const char *fmt, ...); | ||||
|     void *(CAPI *fopen)(__GLcontext *gc, const char *path, const char *mode); | ||||
|     int (CAPI *fclose)(__GLcontext *gc, void *stream); | ||||
|     int (CAPI *fprintf)(__GLcontext *gc, void *stream, const char *fmt, ...); | ||||
|  | ||||
|     /* Drawing surface management */ | ||||
|     __GLdrawablePrivate *(*getDrawablePrivate)(__GLcontext *gc); | ||||
|  | ||||
| #if 0 | ||||
|    /* At some point, this field got removed from the XFree86 glcore.h file. | ||||
|     * we're removing it here to prevent interop problems. (Brian) | ||||
|     */ | ||||
|     /* Pointer to the window system context */ | ||||
|     void *wscx; | ||||
| #endif | ||||
|  | ||||
|     /* Operating system dependent data goes here */ | ||||
|     void *other; | ||||
| } __GLimports; | ||||
|  | ||||
| /************************************************************************/ | ||||
|  | ||||
| /* | ||||
| ** Procedures which are exported by the GL to the surrounding "operating | ||||
| ** system" so that it can manage multiple GL context's. | ||||
| */ | ||||
| typedef struct __GLexportsRec { | ||||
|     /* Context management (return GL_FALSE on failure) */ | ||||
|     GLboolean (*destroyContext)(__GLcontext *gc); | ||||
|     GLboolean (*loseCurrent)(__GLcontext *gc); | ||||
|     GLboolean (*makeCurrent)(__GLcontext *gc); | ||||
|     GLboolean (*shareContext)(__GLcontext *gc, __GLcontext *gcShare); | ||||
|     GLboolean (*copyContext)(__GLcontext *dst, const __GLcontext *src, GLuint mask); | ||||
|     GLboolean (*forceCurrent)(__GLcontext *gc); | ||||
|  | ||||
|     /* Drawing surface notification callbacks */ | ||||
|     GLboolean (*notifyResize)(__GLcontext *gc); | ||||
|     void (*notifyDestroy)(__GLcontext *gc); | ||||
|     void (*notifySwapBuffers)(__GLcontext *gc); | ||||
|  | ||||
|     /* Dispatch table override control for external agents like libGLS */ | ||||
|     struct __GLdispatchStateRec* (*dispatchExec)(__GLcontext *gc); | ||||
|     void (*beginDispatchOverride)(__GLcontext *gc); | ||||
|     void (*endDispatchOverride)(__GLcontext *gc); | ||||
| } __GLexports; | ||||
|  | ||||
| /************************************************************************/ | ||||
|  | ||||
| /* | ||||
| ** This must be the first member of a __GLcontext structure.  This is the | ||||
| ** only part of a context that is exposed to the outside world; everything | ||||
| ** else is opaque. | ||||
| */ | ||||
| struct __GLinterfaceRec { | ||||
|     __GLimports imports; | ||||
|     __GLexports exports; | ||||
| }; | ||||
|  | ||||
| extern __GLcontext *__glCoreCreateContext(__GLimports *, __GLcontextModes *); | ||||
| extern void __glCoreNopDispatch(void); | ||||
|  | ||||
| #endif /* __gl_core_h_ */ | ||||
| @@ -1,123 +1,125 @@ | ||||
| /* $Id: mesa_wgl.h,v 1.5 2000/05/22 16:21:27 brianp Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * Mesa 3-D graphics library | ||||
|  * Version:  3.1 | ||||
|  * | ||||
|  * Copyright (C) 1999  Brian Paul   All Rights Reserved. | ||||
|  * | ||||
|  * Permission is hereby granted, free of charge, to any person obtaining a | ||||
|  * copy of this software and associated documentation files (the "Software"), | ||||
|  * to deal in the Software without restriction, including without limitation | ||||
|  * the rights to use, copy, modify, merge, publish, distribute, sublicense, | ||||
|  * and/or sell copies of the Software, and to permit persons to whom the | ||||
|  * Software is furnished to do so, subject to the following conditions: | ||||
|  * | ||||
|  * The above copyright notice and this permission notice shall be included | ||||
|  * in all copies or substantial portions of the Software. | ||||
|  * | ||||
|  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | ||||
|  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
|  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL | ||||
|  * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN | ||||
|  * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||||
|  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||
|  */ | ||||
|  | ||||
|  | ||||
| /* prototypes for the Mesa WGL functions */ | ||||
| /* relocated here so that I could make GLUT get them properly */ | ||||
|  | ||||
| #ifndef _mesa_wgl_h_ | ||||
| #define _mesa_wgl_h_ | ||||
|  | ||||
|  | ||||
| #include <gl/gl.h> | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
|  | ||||
| #if !defined(OPENSTEP) && (defined(__WIN32__) || defined(__CYGWIN32__)) | ||||
| #  if defined(_MSC_VER) && defined(BUILD_GL32) /* tag specify we're building mesa as a DLL */ | ||||
| #    define GLAPI __declspec(dllexport) | ||||
| #    define WGLAPI __declspec(dllexport) | ||||
| #  elif defined(_MSC_VER) && defined(_DLL) /* tag specifying we're building for DLL runtime support */ | ||||
| #    define GLAPI __declspec(dllimport) | ||||
| #    define WGLAPI __declspec(dllimport) | ||||
| #  else /* for use with static link lib build of Win32 edition only */ | ||||
| #    define GLAPI extern | ||||
| #    define WGLAPI __declspec(dllimport) | ||||
| #  endif /* _STATIC_MESA support */ | ||||
| #  define GLAPIENTRY __stdcall | ||||
| #else | ||||
| /* non-Windows compilation */ | ||||
| #  define GLAPI extern | ||||
| #  define GLAPIENTRY | ||||
| #endif /* WIN32 / CYGWIN32 bracket */ | ||||
|  | ||||
|  | ||||
| #if defined(_WIN32) && !defined(_WINGDI_) && !defined(_GNU_H_WINDOWS32_DEFINES) && !defined(OPENSTEP) | ||||
| #ifndef _GNU_H_WINDOWS32_FUNCTIONS | ||||
| #	ifdef UNICODE | ||||
| #		define wglUseFontBitmaps  wglUseFontBitmapsW | ||||
| #		define wglUseFontOutlines  wglUseFontOutlinesW | ||||
| #	else | ||||
| #		define wglUseFontBitmaps  wglUseFontBitmapsA | ||||
| #		define wglUseFontOutlines  wglUseFontOutlinesA | ||||
| #	endif /* !UNICODE */ | ||||
| #endif /* _GNU_H_WINDOWS32_FUNCTIONS */ | ||||
| typedef struct tagLAYERPLANEDESCRIPTOR LAYERPLANEDESCRIPTOR, *PLAYERPLANEDESCRIPTOR, *LPLAYERPLANEDESCRIPTOR; | ||||
| typedef struct _GLYPHMETRICSFLOAT GLYPHMETRICSFLOAT, *PGLYPHMETRICSFLOAT, *LPGLYPHMETRICSFLOAT; | ||||
| typedef struct tagPIXELFORMATDESCRIPTOR PIXELFORMATDESCRIPTOR, *PPIXELFORMATDESCRIPTOR, *LPPIXELFORMATDESCRIPTOR; | ||||
| #endif | ||||
|  | ||||
|  | ||||
| #ifdef _MSC_VER | ||||
| #  pragma warning( disable : 4615 ) /* pragma warning : unknown user warning type*/ | ||||
| #  pragma warning( push ) | ||||
| #  pragma warning( disable : 4273 ) /* 'function' : inconsistent DLL linkage. dllexport assumed. */ | ||||
| #endif | ||||
|  | ||||
| WGLAPI int   GLAPIENTRY wglDeleteContext(HGLRC); | ||||
| WGLAPI int   GLAPIENTRY wglMakeCurrent(HDC,HGLRC); | ||||
| WGLAPI int   GLAPIENTRY wglSetPixelFormat(HDC, int, const PIXELFORMATDESCRIPTOR *); | ||||
| WGLAPI int   GLAPIENTRY wglSwapBuffers(HDC hdc); | ||||
| WGLAPI HDC   GLAPIENTRY wglGetCurrentDC(void); | ||||
| WGLAPI HGLRC GLAPIENTRY wglCreateContext(HDC); | ||||
| WGLAPI HGLRC GLAPIENTRY wglCreateLayerContext(HDC,int); | ||||
| WGLAPI HGLRC GLAPIENTRY wglGetCurrentContext(void); | ||||
| WGLAPI PROC  GLAPIENTRY wglGetProcAddress(const char*); | ||||
| WGLAPI int   GLAPIENTRY wglChoosePixelFormat(HDC, const PIXELFORMATDESCRIPTOR *); | ||||
| WGLAPI int   GLAPIENTRY wglCopyContext(HGLRC, HGLRC, unsigned int); | ||||
| WGLAPI int   GLAPIENTRY wglDeleteContext(HGLRC); | ||||
| WGLAPI int   GLAPIENTRY wglDescribeLayerPlane(HDC, int, int, unsigned int,LPLAYERPLANEDESCRIPTOR); | ||||
| WGLAPI int   GLAPIENTRY wglDescribePixelFormat(HDC,int, unsigned int, LPPIXELFORMATDESCRIPTOR); | ||||
| WGLAPI int   GLAPIENTRY wglGetLayerPaletteEntries(HDC, int, int, int,COLORREF *); | ||||
| WGLAPI int   GLAPIENTRY wglGetPixelFormat(HDC hdc); | ||||
| WGLAPI int   GLAPIENTRY wglMakeCurrent(HDC, HGLRC); | ||||
| WGLAPI int   GLAPIENTRY wglRealizeLayerPalette(HDC, int, int); | ||||
| WGLAPI int   GLAPIENTRY wglSetLayerPaletteEntries(HDC, int, int, int,const COLORREF *); | ||||
| WGLAPI int   GLAPIENTRY wglShareLists(HGLRC, HGLRC); | ||||
| WGLAPI int   GLAPIENTRY wglSwapLayerBuffers(HDC, unsigned int); | ||||
| WGLAPI int   GLAPIENTRY wglUseFontBitmapsA(HDC, unsigned long, unsigned long, unsigned long); | ||||
| WGLAPI int   GLAPIENTRY wglUseFontBitmapsW(HDC, unsigned long, unsigned long, unsigned long); | ||||
| WGLAPI int   GLAPIENTRY wglUseFontOutlinesA(HDC, unsigned long, unsigned long, unsigned long, float,float, int, LPGLYPHMETRICSFLOAT); | ||||
| WGLAPI int   GLAPIENTRY wglUseFontOutlinesW(HDC, unsigned long, unsigned long, unsigned long, float,float, int, LPGLYPHMETRICSFLOAT); | ||||
| WGLAPI int   GLAPIENTRY SwapBuffers(HDC); | ||||
| WGLAPI int   GLAPIENTRY ChoosePixelFormat(HDC,const PIXELFORMATDESCRIPTOR *); | ||||
| WGLAPI int   GLAPIENTRY DescribePixelFormat(HDC,int,unsigned int,LPPIXELFORMATDESCRIPTOR); | ||||
| WGLAPI int   GLAPIENTRY GetPixelFormat(HDC); | ||||
| WGLAPI int   GLAPIENTRY SetPixelFormat(HDC,int,const PIXELFORMATDESCRIPTOR *); | ||||
|  | ||||
| #ifdef _MSC_VER | ||||
| #  pragma warning( pop ) | ||||
| #endif | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
|  | ||||
| #endif /* _mesa_wgl_h_ */ | ||||
| /* $Id: mesa_wgl.h,v 1.6 2001/05/07 13:58:00 gareth Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * Mesa 3-D graphics library | ||||
|  * Version:  3.1 | ||||
|  * | ||||
|  * Copyright (C) 1999  Brian Paul   All Rights Reserved. | ||||
|  * | ||||
|  * Permission is hereby granted, free of charge, to any person obtaining a | ||||
|  * copy of this software and associated documentation files (the "Software"), | ||||
|  * to deal in the Software without restriction, including without limitation | ||||
|  * the rights to use, copy, modify, merge, publish, distribute, sublicense, | ||||
|  * and/or sell copies of the Software, and to permit persons to whom the | ||||
|  * Software is furnished to do so, subject to the following conditions: | ||||
|  * | ||||
|  * The above copyright notice and this permission notice shall be included | ||||
|  * in all copies or substantial portions of the Software. | ||||
|  * | ||||
|  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | ||||
|  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
|  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL | ||||
|  * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN | ||||
|  * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||||
|  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||
|  */ | ||||
|  | ||||
|  | ||||
| /* prototypes for the Mesa WGL functions */ | ||||
| /* relocated here so that I could make GLUT get them properly */ | ||||
|  | ||||
| #define _mesa_wgl_h_ | ||||
|  | ||||
| #ifndef _mesa_wgl_h_ | ||||
| #define _mesa_wgl_h_ | ||||
|  | ||||
|  | ||||
| #include <gl/gl.h> | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
|  | ||||
| #if !defined(OPENSTEP) && (defined(__WIN32__) || defined(__CYGWIN32__)) | ||||
| #  if defined(_MSC_VER) && defined(BUILD_GL32) /* tag specify we're building mesa as a DLL */ | ||||
| #    define GLAPI __declspec(dllexport) | ||||
| #    define WGLAPI __declspec(dllexport) | ||||
| #  elif defined(_MSC_VER) && defined(_DLL) /* tag specifying we're building for DLL runtime support */ | ||||
| #    define GLAPI __declspec(dllimport) | ||||
| #    define WGLAPI __declspec(dllimport) | ||||
| #  else /* for use with static link lib build of Win32 edition only */ | ||||
| #    define GLAPI extern | ||||
| #    define WGLAPI __declspec(dllimport) | ||||
| #  endif /* _STATIC_MESA support */ | ||||
| #  define GLAPIENTRY __stdcall | ||||
| #else | ||||
| /* non-Windows compilation */ | ||||
| #  define GLAPI extern | ||||
| #  define GLAPIENTRY | ||||
| #endif /* WIN32 / CYGWIN32 bracket */ | ||||
|  | ||||
|  | ||||
| #if defined(_WIN32) && !defined(_WINGDI_) && !defined(_GNU_H_WINDOWS32_DEFINES) && !defined(OPENSTEP) | ||||
| #ifndef _GNU_H_WINDOWS32_FUNCTIONS | ||||
| #	ifdef UNICODE | ||||
| #		define wglUseFontBitmaps  wglUseFontBitmapsW | ||||
| #		define wglUseFontOutlines  wglUseFontOutlinesW | ||||
| #	else | ||||
| #		define wglUseFontBitmaps  wglUseFontBitmapsA | ||||
| #		define wglUseFontOutlines  wglUseFontOutlinesA | ||||
| #	endif /* !UNICODE */ | ||||
| #endif /* _GNU_H_WINDOWS32_FUNCTIONS */ | ||||
| typedef struct tagLAYERPLANEDESCRIPTOR LAYERPLANEDESCRIPTOR, *PLAYERPLANEDESCRIPTOR, *LPLAYERPLANEDESCRIPTOR; | ||||
| typedef struct _GLYPHMETRICSFLOAT GLYPHMETRICSFLOAT, *PGLYPHMETRICSFLOAT, *LPGLYPHMETRICSFLOAT; | ||||
| typedef struct tagPIXELFORMATDESCRIPTOR PIXELFORMATDESCRIPTOR, *PPIXELFORMATDESCRIPTOR, *LPPIXELFORMATDESCRIPTOR; | ||||
| #endif | ||||
|  | ||||
|  | ||||
| #ifdef _MSC_VER | ||||
| #  pragma warning( disable : 4615 ) /* pragma warning : unknown user warning type*/ | ||||
| #  pragma warning( push ) | ||||
| #  pragma warning( disable : 4273 ) /* 'function' : inconsistent DLL linkage. dllexport assumed. */ | ||||
| #endif | ||||
|  | ||||
| WGLAPI int   GLAPIENTRY wglDeleteContext(HGLRC); | ||||
| WGLAPI int   GLAPIENTRY wglMakeCurrent(HDC,HGLRC); | ||||
| WGLAPI int   GLAPIENTRY wglSetPixelFormat(HDC, int, const PIXELFORMATDESCRIPTOR *); | ||||
| WGLAPI int   GLAPIENTRY wglSwapBuffers(HDC hdc); | ||||
| WGLAPI HDC   GLAPIENTRY wglGetCurrentDC(void); | ||||
| WGLAPI HGLRC GLAPIENTRY wglCreateContext(HDC); | ||||
| WGLAPI HGLRC GLAPIENTRY wglCreateLayerContext(HDC,int); | ||||
| WGLAPI HGLRC GLAPIENTRY wglGetCurrentContext(void); | ||||
| WGLAPI PROC  GLAPIENTRY wglGetProcAddress(const char*); | ||||
| WGLAPI int   GLAPIENTRY wglChoosePixelFormat(HDC, const PIXELFORMATDESCRIPTOR *); | ||||
| WGLAPI int   GLAPIENTRY wglCopyContext(HGLRC, HGLRC, unsigned int); | ||||
| WGLAPI int   GLAPIENTRY wglDeleteContext(HGLRC); | ||||
| WGLAPI int   GLAPIENTRY wglDescribeLayerPlane(HDC, int, int, unsigned int,LPLAYERPLANEDESCRIPTOR); | ||||
| WGLAPI int   GLAPIENTRY wglDescribePixelFormat(HDC,int, unsigned int, LPPIXELFORMATDESCRIPTOR); | ||||
| WGLAPI int   GLAPIENTRY wglGetLayerPaletteEntries(HDC, int, int, int,COLORREF *); | ||||
| WGLAPI int   GLAPIENTRY wglGetPixelFormat(HDC hdc); | ||||
| WGLAPI int   GLAPIENTRY wglMakeCurrent(HDC, HGLRC); | ||||
| WGLAPI int   GLAPIENTRY wglRealizeLayerPalette(HDC, int, int); | ||||
| WGLAPI int   GLAPIENTRY wglSetLayerPaletteEntries(HDC, int, int, int,const COLORREF *); | ||||
| WGLAPI int   GLAPIENTRY wglShareLists(HGLRC, HGLRC); | ||||
| WGLAPI int   GLAPIENTRY wglSwapLayerBuffers(HDC, unsigned int); | ||||
| WGLAPI int   GLAPIENTRY wglUseFontBitmapsA(HDC, unsigned long, unsigned long, unsigned long); | ||||
| WGLAPI int   GLAPIENTRY wglUseFontBitmapsW(HDC, unsigned long, unsigned long, unsigned long); | ||||
| WGLAPI int   GLAPIENTRY wglUseFontOutlinesA(HDC, unsigned long, unsigned long, unsigned long, float,float, int, LPGLYPHMETRICSFLOAT); | ||||
| WGLAPI int   GLAPIENTRY wglUseFontOutlinesW(HDC, unsigned long, unsigned long, unsigned long, float,float, int, LPGLYPHMETRICSFLOAT); | ||||
| WGLAPI int   GLAPIENTRY SwapBuffers(HDC); | ||||
| WGLAPI int   GLAPIENTRY ChoosePixelFormat(HDC,const PIXELFORMATDESCRIPTOR *); | ||||
| WGLAPI int   GLAPIENTRY DescribePixelFormat(HDC,int,unsigned int,LPPIXELFORMATDESCRIPTOR); | ||||
| WGLAPI int   GLAPIENTRY GetPixelFormat(HDC); | ||||
| WGLAPI int   GLAPIENTRY SetPixelFormat(HDC,int,const PIXELFORMATDESCRIPTOR *); | ||||
|  | ||||
| #ifdef _MSC_VER | ||||
| #  pragma warning( pop ) | ||||
| #endif | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
|  | ||||
| #endif /* _mesa_wgl_h_ */ | ||||
|   | ||||
| @@ -1,10 +1,10 @@ | ||||
| /* $Id: osmesa.h,v 1.5 2000/03/28 16:59:39 rjfrank Exp $ */ | ||||
| /* $Id: osmesa.h,v 1.10 2002/04/04 16:58:04 brianp Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * Mesa 3-D graphics library | ||||
|  * Version:  3.3 | ||||
|  * Version:  4.1 | ||||
|  *  | ||||
|  * Copyright (C) 1999-2000  Brian Paul   All Rights Reserved. | ||||
|  * Copyright (C) 1999-2002  Brian Paul   All Rights Reserved. | ||||
|  *  | ||||
|  * Permission is hereby granted, free of charge, to any person obtaining a | ||||
|  * copy of this software and associated documentation files (the "Software"), | ||||
| @@ -59,11 +59,12 @@ extern "C" { | ||||
| #endif | ||||
|  | ||||
|  | ||||
| #include "GL/gl.h" | ||||
| #include <GL/gl.h> | ||||
|  | ||||
|  | ||||
| #define OSMESA_MAJOR_VERSION 3 | ||||
| #define OSMESA_MINOR_VERSION 3 | ||||
| #define OSMESA_MAJOR_VERSION 4 | ||||
| #define OSMESA_MINOR_VERSION 1 | ||||
| #define OSMESA_PATCH_VERSION 0 | ||||
|  | ||||
|  | ||||
|  | ||||
| @@ -77,6 +78,7 @@ extern "C" { | ||||
| #define OSMESA_ARGB		0x2 | ||||
| #define OSMESA_RGB		GL_RGB | ||||
| #define OSMESA_BGR		0x4 | ||||
| #define OSMESA_RGB_565		0x5 | ||||
|  | ||||
|  | ||||
| /* | ||||
| @@ -94,6 +96,8 @@ extern "C" { | ||||
| #define OSMESA_HEIGHT		0x21 | ||||
| #define OSMESA_FORMAT		0x22 | ||||
| #define OSMESA_TYPE		0x23 | ||||
| #define OSMESA_MAX_WIDTH	0x24  /* new in 4.0 */ | ||||
| #define OSMESA_MAX_HEIGHT	0x25  /* new in 4.0 */ | ||||
|  | ||||
|  | ||||
| typedef struct osmesa_context *OSMesaContext; | ||||
| @@ -114,18 +118,31 @@ typedef struct osmesa_context *OSMesaContext; | ||||
|  *                     display lists.  NULL indicates no sharing. | ||||
|  * Return:  an OSMesaContext or 0 if error | ||||
|  */ | ||||
| GLAPI OSMesaContext GLAPIENTRY OSMesaCreateContext( GLenum format, | ||||
|                                                     OSMesaContext sharelist ); | ||||
| GLAPI OSMesaContext GLAPIENTRY | ||||
| OSMesaCreateContext( GLenum format, OSMesaContext sharelist ); | ||||
|  | ||||
|  | ||||
|  | ||||
| /* | ||||
|  * Create an Off-Screen Mesa rendering context and specify desired | ||||
|  * size of depth buffer, stencil buffer and accumulation buffer. | ||||
|  * If you specify zero for depthBits, stencilBits, accumBits you | ||||
|  * can save some memory. | ||||
|  * | ||||
|  * New in Mesa 3.5 | ||||
|  */ | ||||
| GLAPI OSMesaContext GLAPIENTRY | ||||
| OSMesaCreateContextExt( GLenum format, GLint depthBits, GLint stencilBits, | ||||
|                         GLint accumBits, OSMesaContext sharelist); | ||||
|  | ||||
|  | ||||
| /* | ||||
|  * Destroy an Off-Screen Mesa rendering context. | ||||
|  * | ||||
|  * Input:  ctx - the context to destroy | ||||
|  */ | ||||
| GLAPI void GLAPIENTRY OSMesaDestroyContext( OSMesaContext ctx ); | ||||
| GLAPI void GLAPIENTRY | ||||
| OSMesaDestroyContext( OSMesaContext ctx ); | ||||
|  | ||||
|  | ||||
|  | ||||
| @@ -156,9 +173,9 @@ GLAPI void GLAPIENTRY OSMesaDestroyContext( OSMesaContext ctx ); | ||||
|  *          invalid buffer address, type!=GL_UNSIGNED_BYTE, width<1, height<1, | ||||
|  *          width>internal limit or height>internal limit. | ||||
|  */ | ||||
| GLAPI GLboolean GLAPIENTRY OSMesaMakeCurrent( OSMesaContext ctx, | ||||
|                                               void *buffer, GLenum type, | ||||
|                                               GLsizei width, GLsizei height ); | ||||
| GLAPI GLboolean GLAPIENTRY | ||||
| OSMesaMakeCurrent( OSMesaContext ctx, void *buffer, GLenum type, | ||||
|                    GLsizei width, GLsizei height ); | ||||
|  | ||||
|  | ||||
|  | ||||
| @@ -166,7 +183,8 @@ GLAPI GLboolean GLAPIENTRY OSMesaMakeCurrent( OSMesaContext ctx, | ||||
| /* | ||||
|  * Return the current Off-Screen Mesa rendering context handle. | ||||
|  */ | ||||
| GLAPI OSMesaContext GLAPIENTRY OSMesaGetCurrentContext( void ); | ||||
| GLAPI OSMesaContext GLAPIENTRY | ||||
| OSMesaGetCurrentContext( void ); | ||||
|  | ||||
|  | ||||
|  | ||||
| @@ -183,7 +201,8 @@ GLAPI OSMesaContext GLAPIENTRY OSMesaGetCurrentContext( void ); | ||||
|  * | ||||
|  * New in version 2.0. | ||||
|  */ | ||||
| GLAPI void GLAPIENTRY OSMesaPixelStore( GLint pname, GLint value ); | ||||
| GLAPI void GLAPIENTRY | ||||
| OSMesaPixelStore( GLint pname, GLint value ); | ||||
|  | ||||
|  | ||||
|  | ||||
| @@ -198,7 +217,8 @@ GLAPI void GLAPIENTRY OSMesaPixelStore( GLint pname, GLint value ); | ||||
|  *                 OSMESA_Y_UP returns 1 or 0 to indicate Y axis direction | ||||
|  *         value - pointer to integer in which to return result. | ||||
|  */ | ||||
| GLAPI void GLAPIENTRY OSMesaGetIntegerv( GLint pname, GLint *value ); | ||||
| GLAPI void GLAPIENTRY | ||||
| OSMesaGetIntegerv( GLint pname, GLint *value ); | ||||
|  | ||||
|  | ||||
|  | ||||
| @@ -212,10 +232,10 @@ GLAPI void GLAPIENTRY OSMesaGetIntegerv( GLint pname, GLint *value ); | ||||
|  * | ||||
|  * New in Mesa 2.4. | ||||
|  */ | ||||
| GLAPI GLboolean GLAPIENTRY OSMesaGetDepthBuffer( OSMesaContext c, | ||||
|                                                  GLint *width, GLint *height, | ||||
|                                                  GLint *bytesPerValue, | ||||
|                                                  void **buffer ); | ||||
| GLAPI GLboolean GLAPIENTRY | ||||
| OSMesaGetDepthBuffer( OSMesaContext c, GLint *width, GLint *height, | ||||
|                       GLint *bytesPerValue, void **buffer ); | ||||
|  | ||||
|  | ||||
|  | ||||
| /* | ||||
| @@ -228,10 +248,19 @@ GLAPI GLboolean GLAPIENTRY OSMesaGetDepthBuffer( OSMesaContext c, | ||||
|  * | ||||
|  * New in Mesa 3.3. | ||||
|  */ | ||||
| GLAPI GLboolean GLAPIENTRY OSMesaGetColorBuffer( OSMesaContext c, | ||||
|                                                  GLint *width, GLint *height, | ||||
|                                                  GLint *format, | ||||
|                                                  void **buffer ); | ||||
| GLAPI GLboolean GLAPIENTRY | ||||
| OSMesaGetColorBuffer( OSMesaContext c, GLint *width, GLint *height, | ||||
|                       GLint *format, void **buffer ); | ||||
|  | ||||
|  | ||||
|  | ||||
| /* | ||||
|  * Return pointer to the named function. | ||||
|  * | ||||
|  * New in Mesa 4.1 | ||||
|  */ | ||||
| GLAPI void * GLAPIENTRY | ||||
| OSMesaGetProcAddress( const char *funcName ); | ||||
|  | ||||
|  | ||||
| #if defined(__BEOS__) || defined(__QUICKDRAW__) | ||||
|   | ||||
| @@ -1,9 +1,9 @@ | ||||
| /* $Id: svgamesa.h,v 1.4 2000/02/09 19:03:28 brianp Exp $ */ | ||||
| /* $Id: svgamesa.h,v 1.6 2001/09/23 16:06:13 brianp Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * Mesa 3-D graphics library | ||||
|  * Version:  3.3 | ||||
|  * Copyright (C) 1995-2000  Brian Paul | ||||
|  * Version:  4.0 | ||||
|  * Copyright (C) 1995-2001  Brian Paul | ||||
|  * | ||||
|  * This library is free software; you can redistribute it and/or | ||||
|  * modify it under the terms of the GNU Library General Public | ||||
| @@ -52,8 +52,8 @@ | ||||
| #define SVGAMESA_H | ||||
|  | ||||
|  | ||||
| #define SVGAMESA_MAJOR_VERSION 3 | ||||
| #define SVGAMESA_MINOR_VERSION 3 | ||||
| #define SVGAMESA_MAJOR_VERSION 4 | ||||
| #define SVGAMESA_MINOR_VERSION 0 | ||||
|  | ||||
|  | ||||
| #ifdef __cplusplus | ||||
|   | ||||
							
								
								
									
										45
									
								
								include/GL/uglglutshapes.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								include/GL/uglglutshapes.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,45 @@ | ||||
| /* uglglutshapes.h - Public header GLUT Shapes */ | ||||
|  | ||||
| /* Copyright (c) Mark J. Kilgard, 1994, 1995, 1996, 1998. */ | ||||
|  | ||||
| /* This program is freely distributable without licensing fees  and is | ||||
|    provided without guarantee or warrantee expressed or  implied. This | ||||
|    program is -not- in the public domain. */ | ||||
|  | ||||
| #ifndef GLUTSHAPES_H | ||||
| #define GLUTSHAPES_H | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| #include <GL/gl.h>   | ||||
|  | ||||
| void glutWireSphere (GLdouble radius, GLint slices, GLint stacks); | ||||
| void glutSolidSphere (GLdouble radius, GLint slices, GLint stacks); | ||||
| void glutWireCone (GLdouble base, GLdouble height, | ||||
| 		   GLint slices, GLint stacks); | ||||
| void glutSolidCone (GLdouble base, GLdouble height, | ||||
| 		    GLint slices, GLint stacks); | ||||
| void glutWireCube (GLdouble size); | ||||
| void glutSolidCube (GLdouble size); | ||||
| void glutWireTorus (GLdouble innerRadius, GLdouble outerRadius, | ||||
| 		    GLint sides, GLint rings); | ||||
| void glutSolidTorus (GLdouble innerRadius, GLdouble outerRadius, | ||||
| 		     GLint sides, GLint rings); | ||||
| void glutWireDodecahedron (void); | ||||
| void glutSolidDodecahedron (void); | ||||
| void glutWireOctahedron (void); | ||||
| void glutSolidOctahedron (void); | ||||
| void glutWireTetrahedron (void); | ||||
| void glutSolidTetrahedron (void); | ||||
| void glutWireIcosahedron (void); | ||||
| void glutSolidIcosahedron (void); | ||||
| void glutWireTeapot (GLdouble size); | ||||
| void glutSolidTeapot (GLdouble size); | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif | ||||
							
								
								
									
										155
									
								
								include/GL/uglmesa.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										155
									
								
								include/GL/uglmesa.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,155 @@ | ||||
| /* uglmesa.h - Public header UGL/Mesa */ | ||||
|  | ||||
| /* Copyright (C) 2001 by Wind River Systems, Inc */ | ||||
|  | ||||
| /* | ||||
|  * Mesa 3-D graphics library | ||||
|  * Version:  4.0 | ||||
|  * | ||||
|  * The MIT License | ||||
|  * Permission is hereby granted, free of charge, to any person obtaining a | ||||
|  * copy of this software and associated documentation files (the "Software"), | ||||
|  * to deal in the Software without restriction, including without limitation | ||||
|  * the rights to use, copy, modify, merge, publish, distribute, sublicense, | ||||
|  * and/or sell copies of the Software, and to permit persons to whom the | ||||
|  * Software is furnished to do so, subject to the following conditions: | ||||
|  * | ||||
|  * The above copyright notice and this permission notice shall be included | ||||
|  * in all copies or substantial portions of the Software. | ||||
|  * | ||||
|  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | ||||
|  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
|  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL | ||||
|  * THE AUTHORS OR COPYRIGHT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
|  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||||
|  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | ||||
|  * DEALINGS IN THE SOFTWARE. | ||||
|  */ | ||||
|  | ||||
| /* | ||||
|  * Author: | ||||
|  * Stephane Raimbault <stephane.raimbault@windriver.com>  | ||||
|  */ | ||||
|  | ||||
| #ifndef UGLMESA_H | ||||
| #define UGLMESA_H | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| #define UGL_MESA_MAJOR_VERSION 4 | ||||
| #define UGL_MESA_MINOR_VERSION 0 | ||||
|  | ||||
| #include <GL/gl.h> | ||||
| #include <ugl/ugl.h> | ||||
|  | ||||
| /* | ||||
|  * Values for display mode of uglMesaCreateContext () | ||||
|  */ | ||||
|  | ||||
| /* | ||||
|  * With these mask values, it's possible to test double buffer mode | ||||
|  * with UGL_MESA_DOUBLE mask | ||||
|  * | ||||
|  * SINGLE  0000 0001 | ||||
|  * DOUBLE  0000 0110 | ||||
|  * -  SOFT 0000 0010 | ||||
|  * -  HARD 0000 0100 | ||||
|  * WINDML  0001 0000 | ||||
|  * | ||||
|  *  | ||||
|  */ | ||||
| #define UGL_MESA_SINGLE            0x01 | ||||
| #define UGL_MESA_DOUBLE            0x06 | ||||
| #define UGL_MESA_DOUBLE_SOFTWARE   0x02 | ||||
| #define UGL_MESA_DOUBLE_HARDWARE   0x04 | ||||
|      | ||||
| #define UGL_MESA_WINDML_EXCLUSIVE  0x10 | ||||
|  | ||||
| #define UGL_MESA_FULLSCREEN_WIDTH  0x0 | ||||
| #define UGL_MESA_FULLSCREEN_HEIGHT 0x0 | ||||
|  | ||||
| /* | ||||
|  * uglMesaPixelStore() parameters: | ||||
|  */ | ||||
|      | ||||
| #define UGL_MESA_ROW_LENGTH	   0x20 | ||||
| #define UGL_MESA_Y_UP              0x21 | ||||
|  | ||||
| /*  | ||||
|  * Accepted by uglMesaGetIntegerv: | ||||
|  */ | ||||
|  | ||||
| #define UGL_MESA_LEFT_X		        0x01 | ||||
| #define UGL_MESA_TOP_Y		        0x02     | ||||
| #define UGL_MESA_WIDTH		        0x03 | ||||
| #define UGL_MESA_HEIGHT		        0x04 | ||||
| #define UGL_MESA_DISPLAY_WIDTH          0x05 | ||||
| #define UGL_MESA_DISPLAY_HEIGHT         0x06 | ||||
| #define UGL_MESA_COLOR_FORMAT	        0x07 | ||||
| #define UGL_MESA_COLOR_MODEL            0x08 | ||||
| #define UGL_MESA_PIXEL_FORMAT           0x09 | ||||
| #define UGL_MESA_TYPE		        0x0A | ||||
| #define UGL_MESA_RGB		        0x0B | ||||
| #define UGL_MESA_COLOR_INDEXED          0x0C | ||||
| #define UGL_MESA_SINGLE_BUFFER          0x0D | ||||
| #define UGL_MESA_DOUBLE_BUFFER          0x0E | ||||
| #define UGL_MESA_DOUBLE_BUFFER_SOFTWARE 0x0F | ||||
| #define UGL_MESA_DOUBLE_BUFFER_HARDWARE 0x10 | ||||
|      | ||||
| /* | ||||
|  * typedefs | ||||
|  */ | ||||
|  | ||||
| typedef struct uglMesaContext * UGL_MESA_CONTEXT; | ||||
|      | ||||
| UGL_MESA_CONTEXT uglMesaCreateNewContext (GLenum mode, | ||||
| 					  UGL_MESA_CONTEXT share_list); | ||||
|  | ||||
| UGL_MESA_CONTEXT  uglMesaCreateNewContextExt (GLenum mode, | ||||
| 					      GLint depth_bits, | ||||
| 					      GLint stencil_bits, | ||||
| 					      GLint accum_red_bits, | ||||
| 					      GLint accum_green_bits, | ||||
| 					      GLint accum_blue_bits, | ||||
| 					      GLint accum_alpha_bits, | ||||
| 					      UGL_MESA_CONTEXT share_list); | ||||
|  | ||||
| GLboolean uglMesaMakeCurrentContext (UGL_MESA_CONTEXT umc, | ||||
| 				     GLsizei left, GLsizei top, | ||||
| 				     GLsizei width, GLsizei height); | ||||
|  | ||||
| GLboolean uglMesaMoveWindow (GLsizei dx, GLsizei dy); | ||||
|  | ||||
| GLboolean uglMesaMoveToWindow (GLsizei left, GLsizei top); | ||||
|  | ||||
| GLboolean uglMesaResizeWindow (GLsizei dw, GLsizei dh); | ||||
|  | ||||
| GLboolean uglMesaResizeToWindow (GLsizei width, GLsizei height); | ||||
|  | ||||
| void uglMesaDestroyContext (void); | ||||
|  | ||||
| UGL_MESA_CONTEXT uglMesaGetCurrentContext (void); | ||||
|  | ||||
| void uglMesaSwapBuffers (void); | ||||
|  | ||||
| void uglMesaPixelStore (GLint pname, GLint value); | ||||
|  | ||||
| void uglMesaGetIntegerv (GLint pname, GLint *value); | ||||
|  | ||||
| GLboolean uglMesaGetDepthBuffer (GLint *width, GLint *height, | ||||
| 				 GLint *bytesPerValue, void **buffer); | ||||
|  | ||||
| GLboolean uglMesaGetColorBuffer (GLint *width, GLint *height, | ||||
| 				 GLint *format, void **buffer); | ||||
|  | ||||
| GLboolean uglMesaSetColor (GLubyte index, GLfloat red, | ||||
| 			   GLfloat green, GLfloat blue); | ||||
|    | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
|  | ||||
| #endif | ||||
							
								
								
									
										880
									
								
								include/GL/vms_x_fix.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										880
									
								
								include/GL/vms_x_fix.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,880 @@ | ||||
| /*************************************************************************** | ||||
|  *                                                                         * | ||||
|  * Repair definitions of Xlib when compileing with /name=(as_is) on VMS    * | ||||
|  *                                                                         * | ||||
|  * Author : Jouk Jansen (joukj@hrem.stm.tudelft.nl)                        * | ||||
|  *                                                                         * | ||||
|  * Last revision : 22 August 2000                                          * | ||||
|  *                                                                         * | ||||
|  ***************************************************************************/ | ||||
|  | ||||
| #ifndef VMS_X_FIX | ||||
| #define VMS_X_FIX | ||||
|  | ||||
| #define _XRegisterFilterByType _XREGISTERFILTERBYTYPE  | ||||
| #define XAllocClassHint XALLOCCLASSHINT | ||||
| #define XAllocColor XALLOCCOLOR | ||||
| #define XAllocColorCells XALLOCCOLORCELLS | ||||
| #define XAllocSizeHints XALLOCSIZEHINTS | ||||
| #define XAllocWMHints XALLOCWMHINTS | ||||
| #define XAutoRepeatOff XAUTOREPEATOFF | ||||
| #define XAutoRepeatOn XAUTOREPEATON | ||||
| #define XBaseFontNameListOfFontSet XBASEFONTNAMELISTOFFONTSET | ||||
| #define XBell XBELL | ||||
| #define XBitmapPad XBITMAPPAD | ||||
| #define XChangeActivePointerGrab XCHANGEACTIVEPOINTERGRAB | ||||
| #define XChangeGC XCHANGEGC | ||||
| #define XChangeProperty XCHANGEPROPERTY | ||||
| #define XChangeWindowAttributes XCHANGEWINDOWATTRIBUTES | ||||
| #define XCheckIfEvent XCHECKIFEVENT | ||||
| #define XCheckMaskEvent XCHECKMASKEVENT | ||||
| #define XCheckTypedWindowEvent XCHECKTYPEDWINDOWEVENT | ||||
| #define XCheckWindowEvent XCHECKWINDOWEVENT | ||||
| #define XClearArea XCLEARAREA | ||||
| #define XClearWindow XCLEARWINDOW | ||||
| #define XClipBox XCLIPBOX | ||||
| #define XCloseDisplay XCLOSEDISPLAY | ||||
| #define XCloseIM XCLOSEIM | ||||
| #define XConfigureWindow XCONFIGUREWINDOW | ||||
| #define XConvertSelection XCONVERTSELECTION | ||||
| #define XCopyArea XCOPYAREA | ||||
| #define XCopyGC XCOPYGC | ||||
| #define XCopyPlane XCOPYPLANE | ||||
| #define XCreateBitmapFromData XCREATEBITMAPFROMDATA | ||||
| #define XCreateColormap XCREATECOLORMAP | ||||
| #define XCreateFontCursor XCREATEFONTCURSOR | ||||
| #define XCreateFontSet XCREATEFONTSET | ||||
| #define XCreateGC XCREATEGC | ||||
| #define XCreateIC XCREATEIC | ||||
| #define XCreateImage XCREATEIMAGE | ||||
| #define XCreatePixmap XCREATEPIXMAP | ||||
| #define XCreatePixmapCursor XCREATEPIXMAPCURSOR | ||||
| #define XCreatePixmapFromBitmapData XCREATEPIXMAPFROMBITMAPDATA | ||||
| #define XCreateRegion XCREATEREGION | ||||
| #define XCreateSimpleWindow XCREATESIMPLEWINDOW | ||||
| #define XCreateWindow XCREATEWINDOW | ||||
| #define XDefaultScreenOfDisplay XDEFAULTSCREENOFDISPLAY | ||||
| #define XDefineCursor XDEFINECURSOR | ||||
| #define XDeleteProperty XDELETEPROPERTY | ||||
| #define XDestroyIC XDESTROYIC | ||||
| #define XDestroyRegion XDESTROYREGION | ||||
| #define XDestroyWindow XDESTROYWINDOW | ||||
| #define XDisplayName XDISPLAYNAME | ||||
| #define XDisplayOfScreen XDISPLAYOFSCREEN | ||||
| #define XDrawArc XDRAWARC | ||||
| #define XDrawImageString XDRAWIMAGESTRING | ||||
| #define XDrawImageString16 XDRAWIMAGESTRING16 | ||||
| #define XDrawLine XDRAWLINE | ||||
| #define XDrawLines XDRAWLINES | ||||
| #define XDrawPoint XDRAWPOINT | ||||
| #define XDrawPoints XDRAWPOINTS | ||||
| #define XDrawRectangle XDRAWRECTANGLE | ||||
| #define XDrawSegments XDRAWSEGMENTS | ||||
| #define XDrawString XDRAWSTRING | ||||
| #define XDrawString16 XDRAWSTRING16 | ||||
| #define XEmptyRegion XEMPTYREGION | ||||
| #define XEqualRegion XEQUALREGION | ||||
| #define XEventsQueued XEVENTSQUEUED | ||||
| #define XExtentsOfFontSet XEXTENTSOFFONTSET | ||||
| #define XFillArc XFILLARC | ||||
| #define XFillPolygon XFILLPOLYGON | ||||
| #define XFillRectangle XFILLRECTANGLE | ||||
| #define XFillRectangles XFILLRECTANGLES | ||||
| #define XFilterEvent XFILTEREVENT | ||||
| #define XFlush XFLUSH | ||||
| #define XFontsOfFontSet XFONTSOFFONTSET | ||||
| #define XFree XFREE | ||||
| #define XFreeColormap XFREECOLORMAP | ||||
| #define XFreeColors XFREECOLORS | ||||
| #define XFreeCursor XFREECURSOR | ||||
| #define XFreeFont XFREEFONT | ||||
| #define XFreeFontInfo XFREEFONTINFO | ||||
| #define XFreeFontNames XFREEFONTNAMES | ||||
| #define XFreeFontSet XFREEFONTSET | ||||
| #define XFreeGC XFREEGC | ||||
| #define XFreeModifiermap XFREEMODIFIERMAP | ||||
| #define XFreePixmap XFREEPIXMAP | ||||
| #define XFreeStringList XFREESTRINGLIST | ||||
| #define XGetAtomName XGETATOMNAME | ||||
| #define XGetDefault XGETDEFAULT | ||||
| #define XGetErrorDatabaseText XGETERRORDATABASETEXT | ||||
| #define XGetErrorText XGETERRORTEXT | ||||
| #define XGetFontProperty XGETFONTPROPERTY | ||||
| #define XGetGCValues XGETGCVALUES | ||||
| #define XGetGeometry XGETGEOMETRY | ||||
| #define XGetICValues XGETICVALUES | ||||
| #define XGetIMValues XGETIMVALUES | ||||
| #define XGetImage XGETIMAGE | ||||
| #define XGetKeyboardControl XGETKEYBOARDCONTROL | ||||
| #define XGetModifierMapping XGETMODIFIERMAPPING | ||||
| #define XGetMotionEvents XGETMOTIONEVENTS | ||||
| #define XGetNormalHints XGETNORMALHINTS | ||||
| #define XGetSelectionOwner XGETSELECTIONOWNER | ||||
| #define XGetSubImage XGETSUBIMAGE | ||||
| #define XGetVisualInfo XGETVISUALINFO | ||||
| #define XGetWMColormapWindows XGETWMCOLORMAPWINDOWS | ||||
| #define XGetWMHints XGETWMHINTS | ||||
| #define XGetWMName XGETWMNAME | ||||
| #define XGetWMNormalHints XGETWMNORMALHINTS | ||||
| #define XGetWindowAttributes XGETWINDOWATTRIBUTES | ||||
| #define XGetWindowProperty XGETWINDOWPROPERTY | ||||
| #define XGrabKeyboard XGRABKEYBOARD | ||||
| #define XGrabPointer XGRABPOINTER | ||||
| #define XGrabServer XGRABSERVER | ||||
| #define XHeightOfScreen XHEIGHTOFSCREEN | ||||
| #define XIfEvent XIFEVENT | ||||
| #define XInternAtom XINTERNATOM | ||||
| #define XIntersectRegion XINTERSECTREGION | ||||
| #define XKeycodeToKeysym XKEYCODETOKEYSYM | ||||
| #define XKeysymToKeycode XKEYSYMTOKEYCODE | ||||
| #define XKeysymToString XKEYSYMTOSTRING | ||||
| #define XListFonts XLISTFONTS | ||||
| #define XListFontsWithInfo XLISTFONTSWITHINFO | ||||
| #define XListPixmapFormats XLISTPIXMAPFORMATS | ||||
| #define XListProperties XLISTPROPERTIES | ||||
| #define XLoadQueryFont XLOADQUERYFONT | ||||
| #define XLookupString XLOOKUPSTRING | ||||
| #define XLowerWindow XLOWERWINDOW | ||||
| #define XMapRaised XMAPRAISED | ||||
| #define XMapWindow XMAPWINDOW | ||||
| #define XMatchVisualInfo XMATCHVISUALINFO | ||||
| #define XMoveResizeWindow XMOVERESIZEWINDOW | ||||
| #define XMoveWindow XMOVEWINDOW | ||||
| #define XNextEvent XNEXTEVENT | ||||
| #define XOffsetRegion XOFFSETREGION | ||||
| #define XOpenDisplay XOPENDISPLAY | ||||
| #define XOpenIM XOPENIM | ||||
| #define XParseColor XPARSECOLOR | ||||
| #define XParseGeometry XPARSEGEOMETRY | ||||
| #define XPeekEvent XPEEKEVENT | ||||
| #define XPending XPENDING | ||||
| #define XPointInRegion XPOINTINREGION | ||||
| #define XPolygonRegion XPOLYGONREGION | ||||
| #define XPutBackEvent XPUTBACKEVENT | ||||
| #define XPutImage XPUTIMAGE | ||||
| #define XQueryColor XQUERYCOLOR | ||||
| #define XQueryColors XQUERYCOLORS | ||||
| #define XQueryExtension XQUERYEXTENSION | ||||
| #define XQueryPointer XQUERYPOINTER | ||||
| #define XQueryTree XQUERYTREE | ||||
| #define XRaiseWindow XRAISEWINDOW | ||||
| #define XReconfigureWMWindow XRECONFIGUREWMWINDOW | ||||
| #define XRectInRegion XRECTINREGION | ||||
| #define XRefreshKeyboardMapping XREFRESHKEYBOARDMAPPING | ||||
| #define XReparentWindow XREPARENTWINDOW | ||||
| #define XResizeWindow XRESIZEWINDOW | ||||
| #define XRestackWindows XRESTACKWINDOWS | ||||
| #define XRootWindowOfScreen XROOTWINDOWOFSCREEN | ||||
| #define XScreenNumberOfScreen XSCREENNUMBEROFSCREEN | ||||
| #define XSelectAsyncEvent XSELECTASYNCEVENT | ||||
| #define XSelectAsyncInput XSELECTASYNCINPUT | ||||
| #define XSelectInput XSELECTINPUT | ||||
| #define XSendEvent XSENDEVENT | ||||
| #define XServerVendor XSERVERVENDOR | ||||
| #define XSetBackground XSETBACKGROUND | ||||
| #define XSetClassHint XSETCLASSHINT | ||||
| #define XSetClipMask XSETCLIPMASK | ||||
| #define XSetClipOrigin XSETCLIPORIGIN | ||||
| #define XSetClipRectangles XSETCLIPRECTANGLES | ||||
| #define XSetCloseDownMode XSETCLOSEDOWNMODE | ||||
| #define XSetCommand XSETCOMMAND | ||||
| #define XSetDashes XSETDASHES | ||||
| #define XSetErrorHandler XSETERRORHANDLER | ||||
| #define XSetFillStyle XSETFILLSTYLE | ||||
| #define XSetFont XSETFONT | ||||
| #define XSetForeground XSETFOREGROUND | ||||
| #define XSetFunction XSETFUNCTION | ||||
| #define XSetGraphicsExposures XSETGRAPHICSEXPOSURES | ||||
| #define XSetICFocus XSETICFOCUS | ||||
| #define XSetICValues XSETICVALUES | ||||
| #define XSetIOErrorHandler XSETIOERRORHANDLER | ||||
| #define XSetInputFocus XSETINPUTFOCUS | ||||
| #define XSetLineAttributes XSETLINEATTRIBUTES | ||||
| #define XSetLocaleModifiers XSETLOCALEMODIFIERS | ||||
| #define XSetNormalHints XSETNORMALHINTS | ||||
| #define XSetRegion XSETREGION | ||||
| #define XSetSelectionOwner XSETSELECTIONOWNER | ||||
| #define XSetStipple XSETSTIPPLE | ||||
| #define XSetSubwindowMode XSETSUBWINDOWMODE | ||||
| #define XSetTSOrigin XSETTSORIGIN | ||||
| #define XSetTile XSETTILE | ||||
| #define XSetTransientForHint XSETTRANSIENTFORHINT | ||||
| #define XSetWMColormapWindows XSETWMCOLORMAPWINDOWS | ||||
| #define XSetWMHints XSETWMHINTS | ||||
| #define XSetWMIconName XSETWMICONNAME | ||||
| #define XSetWMName XSETWMNAME | ||||
| #define XSetWMNormalHints XSETWMNORMALHINTS | ||||
| #define XSetWMProperties XSETWMPROPERTIES | ||||
| #define XSetWMProtocols XSETWMPROTOCOLS | ||||
| #define XSetWindowBackground XSETWINDOWBACKGROUND | ||||
| #define XSetWindowBackgroundPixmap XSETWINDOWBACKGROUNDPIXMAP | ||||
| #define XSetWindowColormap XSETWINDOWCOLORMAP | ||||
| #define XShapeCombineMask XSHAPECOMBINEMASK | ||||
| #define XShapeCombineRectangles XSHAPECOMBINERECTANGLES | ||||
| #define XShapeGetRectangles XSHAPEGETRECTANGLES | ||||
| #define XShrinkRegion XSHRINKREGION | ||||
| #define XStoreColor XSTORECOLOR | ||||
| #define XStoreColors XSTORECOLORS | ||||
| #define XStoreName XSTORENAME | ||||
| #define XStringToKeysym XSTRINGTOKEYSYM | ||||
| #define XSubtractRegion XSUBTRACTREGION | ||||
| #define XSupportsLocale XSUPPORTSLOCALE | ||||
| #define XSync XSYNC | ||||
| #define XSynchronize XSYNCHRONIZE | ||||
| #define XTextExtents XTEXTEXTENTS | ||||
| #define XTextExtents16 XTEXTEXTENTS16 | ||||
| #define XTextWidth XTEXTWIDTH | ||||
| #define XTextWidth16 XTEXTWIDTH16 | ||||
| #define XTranslateCoordinates XTRANSLATECOORDINATES | ||||
| #define XUndefineCursor XUNDEFINECURSOR | ||||
| #define XUngrabKeyboard XUNGRABKEYBOARD | ||||
| #define XUngrabPointer XUNGRABPOINTER | ||||
| #define XUngrabServer XUNGRABSERVER | ||||
| #define XUnionRectWithRegion XUNIONRECTWITHREGION | ||||
| #define XUnionRegion XUNIONREGION | ||||
| #define XUnmapWindow XUNMAPWINDOW | ||||
| #define _XUnregisterFilter _XUNREGISTERFILTER | ||||
| #define XUnsetICFocus XUNSETICFOCUS | ||||
| #define XVaCreateNestedList XVACREATENESTEDLIST | ||||
| #define XVisualIDFromVisual XVISUALIDFROMVISUAL | ||||
| #define XWidthOfScreen XWIDTHOFSCREEN | ||||
| #define XWindowEvent XWINDOWEVENT | ||||
| #define XWithdrawWindow XWITHDRAWWINDOW | ||||
| #define XXorRegion XXORREGION | ||||
| #define XmAddProtocolCallback XMADDPROTOCOLCALLBACK | ||||
| #define XmAddProtocols XMADDPROTOCOLS | ||||
| #define XmChangeColor XMCHANGECOLOR | ||||
| #define XmClipboardCopy XMCLIPBOARDCOPY | ||||
| #define XmClipboardEndCopy XMCLIPBOARDENDCOPY | ||||
| #define XmClipboardInquireLength XMCLIPBOARDINQUIRELENGTH | ||||
| #define XmClipboardLock XMCLIPBOARDLOCK | ||||
| #define XmClipboardRetrieve XMCLIPBOARDRETRIEVE | ||||
| #define XmClipboardStartCopy XMCLIPBOARDSTARTCOPY | ||||
| #define XmClipboardUnlock XMCLIPBOARDUNLOCK | ||||
| #define XmCreateArrowButton XMCREATEARROWBUTTON | ||||
| #define XmCreateArrowButtonGadget XMCREATEARROWBUTTONGADGET | ||||
| #define XmCreateCascadeButton XMCREATECASCADEBUTTON | ||||
| #define XmCreateDialogShell XMCREATEDIALOGSHELL | ||||
| #define XmCreateDragIcon XMCREATEDRAGICON | ||||
| #define XmCreateDrawingArea XMCREATEDRAWINGAREA | ||||
| #define XmCreateDrawnButton XMCREATEDRAWNBUTTON | ||||
| #define XmCreateFileSelectionBox XMCREATEFILESELECTIONBOX | ||||
| #define XmCreateFileSelectionDialog XMCREATEFILESELECTIONDIALOG | ||||
| #define XmCreateForm XMCREATEFORM | ||||
| #define XmCreateFormDialog XMCREATEFORMDIALOG | ||||
| #define XmCreateFrame XMCREATEFRAME | ||||
| #define XmCreateInformationDialog XMCREATEINFORMATIONDIALOG | ||||
| #define XmCreateLabelGadget XMCREATELABELGADGET | ||||
| #define XmCreateMainWindow XMCREATEMAINWINDOW | ||||
| #define XmCreateMenuBar XMCREATEMENUBAR | ||||
| #define XmCreateMessageBox XMCREATEMESSAGEBOX | ||||
| #define XmCreateMessageDialog XMCREATEMESSAGEDIALOG | ||||
| #define XmCreateOptionMenu XMCREATEOPTIONMENU | ||||
| #define XmCreatePanedWindow XMCREATEPANEDWINDOW | ||||
| #define XmCreatePopupMenu XMCREATEPOPUPMENU | ||||
| #define XmCreatePromptDialog XMCREATEPROMPTDIALOG | ||||
| #define XmCreatePulldownMenu XMCREATEPULLDOWNMENU | ||||
| #define XmCreatePushButton XMCREATEPUSHBUTTON | ||||
| #define XmCreatePushButtonGadget XMCREATEPUSHBUTTONGADGET | ||||
| #define XmCreateQuestionDialog XMCREATEQUESTIONDIALOG | ||||
| #define XmCreateRadioBox XMCREATERADIOBOX | ||||
| #define XmCreateRowColumn XMCREATEROWCOLUMN | ||||
| #define XmCreateScale XMCREATESCALE | ||||
| #define XmCreateScrollBar XMCREATESCROLLBAR | ||||
| #define XmCreateScrolledList XMCREATESCROLLEDLIST | ||||
| #define XmCreateScrolledText XMCREATESCROLLEDTEXT | ||||
| #define XmCreateScrolledWindow XMCREATESCROLLEDWINDOW | ||||
| #define XmCreateSelectionDialog XMCREATESELECTIONDIALOG | ||||
| #define XmCreateSeparator XMCREATESEPARATOR | ||||
| #define XmCreateSeparatorGadget XMCREATESEPARATORGADGET | ||||
| #define XmCreateTemplateDialog XMCREATETEMPLATEDIALOG | ||||
| #define XmCreateText XMCREATETEXT | ||||
| #define XmCreateTextField XMCREATETEXTFIELD | ||||
| #define XmCreateToggleButton XMCREATETOGGLEBUTTON | ||||
| #define XmCreateToggleButtonGadget XMCREATETOGGLEBUTTONGADGET | ||||
| #define XmDragStart XMDRAGSTART | ||||
| #define XmDropSiteRegister XMDROPSITEREGISTER | ||||
| #define XmDropSiteUnregister XMDROPSITEUNREGISTER | ||||
| #define XmDropSiteUpdate XMDROPSITEUPDATE | ||||
| #define XmDropTransferStart XMDROPTRANSFERSTART | ||||
| #define XmFileSelectionBoxGetChild XMFILESELECTIONBOXGETCHILD | ||||
| #define XmFileSelectionDoSearch XMFILESELECTIONDOSEARCH | ||||
| #define XmFontListAppendEntry XMFONTLISTAPPENDENTRY | ||||
| #define XmFontListCopy XMFONTLISTCOPY | ||||
| #define XmFontListCreate XMFONTLISTCREATE | ||||
| #define XmFontListEntryCreate XMFONTLISTENTRYCREATE | ||||
| #define XmFontListEntryFree XMFONTLISTENTRYFREE | ||||
| #define XmFontListEntryGetFont XMFONTLISTENTRYGETFONT | ||||
| #define XmFontListEntryGetTag XMFONTLISTENTRYGETTAG | ||||
| #define XmFontListEntryLoad XMFONTLISTENTRYLOAD | ||||
| #define XmFontListFree XMFONTLISTFREE | ||||
| #define XmFontListFreeFontContext XMFONTLISTFREEFONTCONTEXT | ||||
| #define XmFontListGetNextFont XMFONTLISTGETNEXTFONT | ||||
| #define XmFontListInitFontContext XMFONTLISTINITFONTCONTEXT | ||||
| #define XmFontListNextEntry XMFONTLISTNEXTENTRY | ||||
| #define XmGetColors XMGETCOLORS | ||||
| #define XmGetFocusWidget XMGETFOCUSWIDGET | ||||
| #define XmGetMenuCursor XMGETMENUCURSOR | ||||
| #define XmGetPixmapByDepth XMGETPIXMAPBYDEPTH | ||||
| #define XmGetTearOffControl XMGETTEAROFFCONTROL | ||||
| #define XmGetXmDisplay XMGETXMDISPLAY | ||||
| #define XmImMbLookupString XMIMMBLOOKUPSTRING | ||||
| #define XmImRegister XMIMREGISTER | ||||
| #define XmImSetFocusValues XMIMSETFOCUSVALUES | ||||
| #define XmImSetValues XMIMSETVALUES | ||||
| #define XmImUnregister XMIMUNREGISTER | ||||
| #define XmImUnsetFocus XMIMUNSETFOCUS | ||||
| #define XmInternAtom XMINTERNATOM | ||||
| #define XmIsMotifWMRunning XMISMOTIFWMRUNNING | ||||
| #define XmListAddItem XMLISTADDITEM | ||||
| #define XmListAddItemUnselected XMLISTADDITEMUNSELECTED | ||||
| #define XmListAddItemsUnselected XMLISTADDITEMSUNSELECTED | ||||
| #define XmListDeleteAllItems XMLISTDELETEALLITEMS | ||||
| #define XmListDeleteItemsPos XMLISTDELETEITEMSPOS | ||||
| #define XmListDeletePos XMLISTDELETEPOS | ||||
| #define XmListDeselectAllItems XMLISTDESELECTALLITEMS | ||||
| #define XmListDeselectPos XMLISTDESELECTPOS | ||||
| #define XmListGetKbdItemPos XMLISTGETKBDITEMPOS | ||||
| #define XmListGetMatchPos XMLISTGETMATCHPOS | ||||
| #define XmListGetSelectedPos XMLISTGETSELECTEDPOS | ||||
| #define XmListPosSelected XMLISTPOSSELECTED | ||||
| #define XmListSelectItem XMLISTSELECTITEM | ||||
| #define XmListSelectPos XMLISTSELECTPOS | ||||
| #define XmListSetBottomPos XMLISTSETBOTTOMPOS | ||||
| #define XmListSetItem XMLISTSETITEM | ||||
| #define XmListSetKbdItemPos XMLISTSETKBDITEMPOS | ||||
| #define XmListSetPos XMLISTSETPOS | ||||
| #define XmMainWindowSetAreas XMMAINWINDOWSETAREAS | ||||
| #define XmMenuPosition XMMENUPOSITION | ||||
| #define XmMessageBoxGetChild XMMESSAGEBOXGETCHILD | ||||
| #define XmOptionButtonGadget XMOPTIONBUTTONGADGET | ||||
| #define XmOptionLabelGadget XMOPTIONLABELGADGET | ||||
| #define XmProcessTraversal XMPROCESSTRAVERSAL | ||||
| #define XmQmotif XMQMOTIF | ||||
| #define XmRemoveProtocolCallback XMREMOVEPROTOCOLCALLBACK | ||||
| #define XmRepTypeGetId XMREPTYPEGETID | ||||
| #define XmRepTypeGetRecord XMREPTYPEGETRECORD | ||||
| #define XmRepTypeRegister XMREPTYPEREGISTER | ||||
| #define XmRepTypeValidValue XMREPTYPEVALIDVALUE | ||||
| #define XmScrollBarSetValues XMSCROLLBARSETVALUES | ||||
| #define XmScrolledWindowSetAreas XMSCROLLEDWINDOWSETAREAS | ||||
| #define XmSelectionBoxGetChild XMSELECTIONBOXGETCHILD | ||||
| #define XmStringByteCompare XMSTRINGBYTECOMPARE | ||||
| #define XmStringCompare XMSTRINGCOMPARE | ||||
| #define XmStringConcat XMSTRINGCONCAT | ||||
| #define XmStringCopy XMSTRINGCOPY | ||||
| #define XmStringCreate XMSTRINGCREATE | ||||
| #define XmStringCreateLocalized XMSTRINGCREATELOCALIZED | ||||
| #define XmStringCreateLtoR XMSTRINGCREATELTOR | ||||
| #define XmStringCreateSimple XMSTRINGCREATESIMPLE | ||||
| #define XmStringDraw XMSTRINGDRAW | ||||
| #define XmStringDrawUnderline XMSTRINGDRAWUNDERLINE | ||||
| #define XmStringExtent XMSTRINGEXTENT | ||||
| #define XmStringFree XMSTRINGFREE | ||||
| #define XmStringFreeContext XMSTRINGFREECONTEXT | ||||
| #define XmStringGetLtoR XMSTRINGGETLTOR | ||||
| #define XmStringGetNextComponent XMSTRINGGETNEXTCOMPONENT | ||||
| #define XmStringGetNextSegment XMSTRINGGETNEXTSEGMENT | ||||
| #define XmStringInitContext XMSTRINGINITCONTEXT | ||||
| #define XmStringLength XMSTRINGLENGTH | ||||
| #define XmStringLtoRCreate XMSTRINGLTORCREATE | ||||
| #define XmStringNConcat XMSTRINGNCONCAT | ||||
| #define XmStringSegmentCreate XMSTRINGSEGMENTCREATE | ||||
| #define XmStringWidth XMSTRINGWIDTH | ||||
| #define XmTextClearSelection XMTEXTCLEARSELECTION | ||||
| #define XmTextFieldGetEditable XMTEXTFIELDGETEDITABLE | ||||
| #define XmTextFieldGetInsertionPosition XMTEXTFIELDGETINSERTIONPOSITION | ||||
| #define XmTextFieldGetLastPosition XMTEXTFIELDGETLASTPOSITION | ||||
| #define XmTextFieldGetSelection XMTEXTFIELDGETSELECTION | ||||
| #define XmTextFieldGetString XMTEXTFIELDGETSTRING | ||||
| #define XmTextFieldInsert XMTEXTFIELDINSERT | ||||
| #define XmTextFieldRemove XMTEXTFIELDREMOVE | ||||
| #define XmTextFieldSetSelection XMTEXTFIELDSETSELECTION | ||||
| #define XmTextFieldSetString XMTEXTFIELDSETSTRING | ||||
| #define XmTextGetCursorPosition XMTEXTGETCURSORPOSITION | ||||
| #define XmTextGetInsertionPosition XMTEXTGETINSERTIONPOSITION | ||||
| #define XmTextGetLastPosition XMTEXTGETLASTPOSITION | ||||
| #define XmTextGetMaxLength XMTEXTGETMAXLENGTH | ||||
| #define XmTextGetSelection XMTEXTGETSELECTION | ||||
| #define XmTextGetSelectionPosition XMTEXTGETSELECTIONPOSITION | ||||
| #define XmTextGetString XMTEXTGETSTRING | ||||
| #define XmTextInsert XMTEXTINSERT | ||||
| #define XmTextRemove XMTEXTREMOVE | ||||
| #define XmTextReplace XMTEXTREPLACE | ||||
| #define XmTextSetCursorPosition XMTEXTSETCURSORPOSITION | ||||
| #define XmTextSetHighlight XMTEXTSETHIGHLIGHT | ||||
| #define XmTextSetInsertionPosition XMTEXTSETINSERTIONPOSITION | ||||
| #define XmTextSetSelection XMTEXTSETSELECTION | ||||
| #define XmTextSetString XMTEXTSETSTRING | ||||
| #define XmToggleButtonGadgetGetState XMTOGGLEBUTTONGADGETGETSTATE | ||||
| #define XmToggleButtonGadgetSetState XMTOGGLEBUTTONGADGETSETSTATE | ||||
| #define XmToggleButtonGetState XMTOGGLEBUTTONGETSTATE | ||||
| #define XmToggleButtonSetState XMTOGGLEBUTTONSETSTATE | ||||
| #define XmUpdateDisplay XMUPDATEDISPLAY | ||||
| #define XmVaCreateSimpleRadioBox XMVACREATESIMPLERADIOBOX | ||||
| #define XmbDrawString XMBDRAWSTRING | ||||
| #define XmbLookupString XMBLOOKUPSTRING | ||||
| #define XmbResetIC XMBRESETIC | ||||
| #define XmbSetWMProperties XMBSETWMPROPERTIES | ||||
| #define XmbTextEscapement XMBTEXTESCAPEMENT | ||||
| #define XmbTextExtents XMBTEXTEXTENTS | ||||
| #define XmbTextListToTextProperty XMBTEXTLISTTOTEXTPROPERTY | ||||
| #define XmbTextPropertyToTextList XMBTEXTPROPERTYTOTEXTLIST | ||||
| #define XmuClientWindow XMUCLIENTWINDOW | ||||
| #define XmuPrintDefaultErrorMessage XMUPRINTDEFAULTERRORMESSAGE | ||||
| #define XrmGetDatabase XRMGETDATABASE | ||||
| #define XrmGetResource XRMGETRESOURCE | ||||
| #define XrmPutStringResource XRMPUTSTRINGRESOURCE | ||||
| #define XrmQuarkToString XRMQUARKTOSTRING | ||||
| #define XrmStringToQuark XRMSTRINGTOQUARK | ||||
| #define XtAddCallback XTADDCALLBACK | ||||
| #define XtAddCallbacks XTADDCALLBACKS | ||||
| #define XtAddEventHandler XTADDEVENTHANDLER | ||||
| #define XtAddGrab XTADDGRAB | ||||
| #define XtAllocateGC XTALLOCATEGC | ||||
| #define XtAppAddActions XTAPPADDACTIONS | ||||
| #define XtAppAddInput XTAPPADDINPUT | ||||
| #define XtAppAddTimeOut XTAPPADDTIMEOUT | ||||
| #define XtAppCreateShell XTAPPCREATESHELL | ||||
| #define XtAppInitialize XTAPPINITIALIZE | ||||
| #define XtAppNextEvent XTAPPNEXTEVENT | ||||
| #define XtAppPeekEvent XTAPPPEEKEVENT | ||||
| #define XtAppPending XTAPPPENDING | ||||
| #define XtAppProcessEvent XTAPPPROCESSEVENT | ||||
| #define XtAppSetErrorHandler XTAPPSETERRORHANDLER | ||||
| #define XtAppSetFallbackResources XTAPPSETFALLBACKRESOURCES | ||||
| #define XtAppSetWarningHandler XTAPPSETWARNINGHANDLER | ||||
| #define XtAppSetWarningMsgHandler XTAPPSETWARNINGMSGHANDLER | ||||
| #define XtAppWarning XTAPPWARNING | ||||
| #define XtCallActionProc XTCALLACTIONPROC | ||||
| #define XtCallCallbackList XTCALLCALLBACKLIST | ||||
| #define XtCallCallbacks XTCALLCALLBACKS | ||||
| #define XtConfigureWidget XTCONFIGUREWIDGET | ||||
| #define XtConvertAndStore XTCONVERTANDSTORE | ||||
| #define XtCreateApplicationContext XTCREATEAPPLICATIONCONTEXT | ||||
| #define XtCreateManagedWidget XTCREATEMANAGEDWIDGET | ||||
| #define XtCreatePopupShell XTCREATEPOPUPSHELL | ||||
| #define XtCreateWidget XTCREATEWIDGET | ||||
| #define XtDatabase XTDATABASE | ||||
| #define XtDestroyWidget XTDESTROYWIDGET | ||||
| #define XtDisownSelection XTDISOWNSELECTION | ||||
| #define XtDispatchEvent XTDISPATCHEVENT | ||||
| #define XtDisplayOfObject XTDISPLAYOFOBJECT | ||||
| #define XtDisplayStringConvWarning XTDISPLAYSTRINGCONVWARNING | ||||
| #define XtDisplayToApplicationContext XTDISPLAYTOAPPLICATIONCONTEXT | ||||
| #define XtAppAddWorkProc XTAPPADDWORKPROC | ||||
| #define XtRemoveWorkProc XTREMOVEWORKPROC | ||||
| #define XtFree XTFREE | ||||
| #define XtGetActionKeysym XTGETACTIONKEYSYM | ||||
| #define XtGetActionList XTGETACTIONLIST | ||||
| #define XtGetApplicationNameAndClass XTGETAPPLICATIONNAMEANDCLASS | ||||
| #define XtGetApplicationResources XTGETAPPLICATIONRESOURCES | ||||
| #define XtGetGC XTGETGC | ||||
| #define XtGetMultiClickTime XTGETMULTICLICKTIME | ||||
| #define XtGetSelectionValue XTGETSELECTIONVALUE | ||||
| #define XtGetSelectionValues XTGETSELECTIONVALUES | ||||
| #define XtGetSubresources XTGETSUBRESOURCES | ||||
| #define XtGetValues XTGETVALUES | ||||
| #define XtGrabKeyboard XTGRABKEYBOARD | ||||
| #define XtGrabPointer XTGRABPOINTER | ||||
| #define XtHasCallbacks XTHASCALLBACKS | ||||
| #define XtInitializeWidgetClass XTINITIALIZEWIDGETCLASS | ||||
| #define XtInsertEventHandler XTINSERTEVENTHANDLER | ||||
| #define XtIsManaged XTISMANAGED | ||||
| #define XtIsObject XTISOBJECT | ||||
| #define XtIsSensitive XTISSENSITIVE | ||||
| #define XtIsSubclass XTISSUBCLASS | ||||
| #define XtLastTimestampProcessed XTLASTTIMESTAMPPROCESSED | ||||
| #define XtMakeGeometryRequest XTMAKEGEOMETRYREQUEST | ||||
| #define XtMakeResizeRequest XTMAKERESIZEREQUEST | ||||
| #define XtMalloc XTMALLOC | ||||
| #define XtManageChild XTMANAGECHILD | ||||
| #define XtManageChildren XTMANAGECHILDREN | ||||
| #define XtMergeArgLists XTMERGEARGLISTS | ||||
| #define XtMoveWidget XTMOVEWIDGET | ||||
| #define XtName XTNAME | ||||
| #define XtNameToWidget XTNAMETOWIDGET | ||||
| #define XtOpenDisplay XTOPENDISPLAY | ||||
| #define XtOverrideTranslations XTOVERRIDETRANSLATIONS | ||||
| #define XtOwnSelection XTOWNSELECTION | ||||
| #define XtParseTranslationTable XTPARSETRANSLATIONTABLE | ||||
| #define XtPopdown XTPOPDOWN | ||||
| #define XtPopup XTPOPUP | ||||
| #define XtQueryGeometry XTQUERYGEOMETRY | ||||
| #define XtRealizeWidget XTREALIZEWIDGET | ||||
| #define XtRealloc XTREALLOC | ||||
| #define XtReleaseGC XTRELEASEGC | ||||
| #define XtRemoveAllCallbacks XTREMOVEALLCALLBACKS | ||||
| #define XtRemoveCallback XTREMOVECALLBACK | ||||
| #define XtRemoveEventHandler XTREMOVEEVENTHANDLER | ||||
| #define XtRemoveGrab XTREMOVEGRAB | ||||
| #define XtRemoveInput XTREMOVEINPUT | ||||
| #define XtRemoveTimeOut XTREMOVETIMEOUT | ||||
| #define XtResizeWidget XTRESIZEWIDGET | ||||
| #define XtResolvePathname XTRESOLVEPATHNAME | ||||
| #define XtSetKeyboardFocus XTSETKEYBOARDFOCUS | ||||
| #define XtSetMappedWhenManaged XTSETMAPPEDWHENMANAGED | ||||
| #define XtSetSensitive XTSETSENSITIVE | ||||
| #define XtSetTypeConverter XTSETTYPECONVERTER | ||||
| #define XtSetValues XTSETVALUES | ||||
| #define XtShellStrings XTSHELLSTRINGS | ||||
| #define XtStrings XTSTRINGS | ||||
| #define XtToolkitInitialize XTTOOLKITINITIALIZE | ||||
| #define XtTranslateCoords XTTRANSLATECOORDS | ||||
| #define XtTranslateKeycode XTTRANSLATEKEYCODE | ||||
| #define XtUngrabKeyboard XTUNGRABKEYBOARD | ||||
| #define XtUngrabPointer XTUNGRABPOINTER | ||||
| #define XtUnmanageChild XTUNMANAGECHILD | ||||
| #define XtUnmanageChildren XTUNMANAGECHILDREN | ||||
| #define XtUnrealizeWidget XTUNREALIZEWIDGET | ||||
| #define XtVaCreateManagedWidget XTVACREATEMANAGEDWIDGET | ||||
| #define XtVaCreateWidget XTVACREATEWIDGET | ||||
| #define XtVaGetValues XTVAGETVALUES | ||||
| #define XtVaSetValues XTVASETVALUES | ||||
| #define XtWarning XTWARNING | ||||
| #define XtWidgetToApplicationContext XTWIDGETTOAPPLICATIONCONTEXT | ||||
| #define XtWindowOfObject XTWINDOWOFOBJECT | ||||
| #define XtWindowToWidget XTWINDOWTOWIDGET | ||||
| #define XwcDrawString XWCDRAWSTRING | ||||
| #define XwcFreeStringList XWCFREESTRINGLIST | ||||
| #define XwcTextEscapement XWCTEXTESCAPEMENT | ||||
| #define XwcTextExtents XWCTEXTEXTENTS | ||||
| #define XwcTextListToTextProperty XWCTEXTLISTTOTEXTPROPERTY | ||||
| #define XwcTextPropertyToTextList XWCTEXTPROPERTYTOTEXTLIST | ||||
| #define _XmBottomShadowColorDefault _XMBOTTOMSHADOWCOLORDEFAULT | ||||
| #define _XmClearBorder _XMCLEARBORDER | ||||
| #define _XmConfigureObject _XMCONFIGUREOBJECT | ||||
| #define _XmDestroyParentCallback _XMDESTROYPARENTCALLBACK | ||||
| #define _XmDrawArrow _XMDRAWARROW | ||||
| #define _XmDrawShadows _XMDRAWSHADOWS | ||||
| #define _XmFontListGetDefaultFont _XMFONTLISTGETDEFAULTFONT | ||||
| #define _XmFromHorizontalPixels _XMFROMHORIZONTALPIXELS | ||||
| #define _XmFromVerticalPixels _XMFROMVERTICALPIXELS | ||||
| #define _XmGetClassExtensionPtr _XMGETCLASSEXTENSIONPTR | ||||
| #define _XmGetDefaultFontList _XMGETDEFAULTFONTLIST | ||||
| #define _XmGetTextualDragIcon _XMGETTEXTUALDRAGICON | ||||
| #define _XmGetWidgetExtData _XMGETWIDGETEXTDATA | ||||
| #define _XmGrabKeyboard _XMGRABKEYBOARD | ||||
| #define _XmGrabPointer _XMGRABPOINTER | ||||
| #define _XmInheritClass _XMINHERITCLASS | ||||
| #define _XmInputInGadget _XMINPUTINGADGET | ||||
| #define _XmMakeGeometryRequest _XMMAKEGEOMETRYREQUEST | ||||
| #define _XmMenuPopDown _XMMENUPOPDOWN | ||||
| #define _XmMoveObject _XMMOVEOBJECT | ||||
| #define _XmNavigChangeManaged _XMNAVIGCHANGEMANAGED | ||||
| #define _XmOSBuildFileList _XMOSBUILDFILELIST | ||||
| #define _XmOSFileCompare _XMOSFILECOMPARE | ||||
| #define _XmOSFindPatternPart _XMOSFINDPATTERNPART | ||||
| #define _XmOSQualifyFileSpec _XMOSQUALIFYFILESPEC | ||||
| #define _XmPostPopupMenu _XMPOSTPOPUPMENU | ||||
| #define _XmPrimitiveEnter _XMPRIMITIVEENTER | ||||
| #define _XmPrimitiveLeave _XMPRIMITIVELEAVE | ||||
| #define _XmRedisplayGadgets _XMREDISPLAYGADGETS | ||||
| #define _XmShellIsExclusive _XMSHELLISEXCLUSIVE | ||||
| #define _XmStringDraw _XMSTRINGDRAW | ||||
| #define _XmStringGetTextConcat _XMSTRINGGETTEXTCONCAT | ||||
| #define _XmStrings _XMSTRINGS | ||||
| #define _XmToHorizontalPixels _XMTOHORIZONTALPIXELS | ||||
| #define _XmToVerticalPixels _XMTOVERTICALPIXELS | ||||
| #define _XmTopShadowColorDefault _XMTOPSHADOWCOLORDEFAULT | ||||
| #define _Xm_fastPtr _XM_FASTPTR | ||||
| #define _XtCheckSubclassFlag _XTCHECKSUBCLASSFLAG | ||||
| #define _XtInherit _XTINHERIT | ||||
| #define _XtInheritTranslations _XTINHERITTRANSLATIONS | ||||
| #define applicationShellWidgetClass APPLICATIONSHELLWIDGETCLASS | ||||
| #define compositeWidgetClass COMPOSITEWIDGETCLASS | ||||
| #define overrideShellWidgetClass OVERRIDESHELLWIDGETCLASS | ||||
| #define shellWidgetClass SHELLWIDGETCLASS | ||||
| #define topLevelShellClassRec TOPLEVELSHELLCLASSREC | ||||
| #define topLevelShellWidgetClass TOPLEVELSHELLWIDGETCLASS | ||||
| #define transientShellWidgetClass TRANSIENTSHELLWIDGETCLASS | ||||
| #define vendorShellClassRec VENDORSHELLCLASSREC | ||||
| #define vendorShellWidgetClass VENDORSHELLWIDGETCLASS | ||||
| #define wmShellWidgetClass WMSHELLWIDGETCLASS | ||||
| #define xmArrowButtonWidgetClass XMARROWBUTTONWIDGETCLASS | ||||
| #define xmCascadeButtonClassRec XMCASCADEBUTTONCLASSREC | ||||
| #define xmCascadeButtonGadgetClass XMCASCADEBUTTONGADGETCLASS | ||||
| #define xmCascadeButtonWidgetClass XMCASCADEBUTTONWIDGETCLASS | ||||
| #define xmDialogShellWidgetClass XMDIALOGSHELLWIDGETCLASS | ||||
| #define xmDrawingAreaWidgetClass XMDRAWINGAREAWIDGETCLASS | ||||
| #define xmDrawnButtonWidgetClass XMDRAWNBUTTONWIDGETCLASS | ||||
| #define xmFileSelectionBoxWidgetClass XMFILESELECTIONBOXWIDGETCLASS | ||||
| #define xmFormWidgetClass XMFORMWIDGETCLASS | ||||
| #define xmFrameWidgetClass XMFRAMEWIDGETCLASS | ||||
| #define xmGadgetClass XMGADGETCLASS | ||||
| #define xmLabelGadgetClass XMLABELGADGETCLASS | ||||
| #define xmLabelWidgetClass XMLABELWIDGETCLASS | ||||
| #define xmListWidgetClass XMLISTWIDGETCLASS | ||||
| #define xmMainWindowWidgetClass XMMAINWINDOWWIDGETCLASS | ||||
| #define xmManagerClassRec XMMANAGERCLASSREC | ||||
| #define xmManagerWidgetClass XMMANAGERWIDGETCLASS | ||||
| #define xmMenuShellWidgetClass XMMENUSHELLWIDGETCLASS | ||||
| #define xmMessageBoxWidgetClass XMMESSAGEBOXWIDGETCLASS | ||||
| #define xmPrimitiveClassRec XMPRIMITIVECLASSREC | ||||
| #define xmPrimitiveWidgetClass XMPRIMITIVEWIDGETCLASS | ||||
| #define xmPushButtonClassRec XMPUSHBUTTONCLASSREC | ||||
| #define xmPushButtonGadgetClass XMPUSHBUTTONGADGETCLASS | ||||
| #define xmPushButtonWidgetClass XMPUSHBUTTONWIDGETCLASS | ||||
| #define xmRowColumnWidgetClass XMROWCOLUMNWIDGETCLASS | ||||
| #define xmSashWidgetClass XMSASHWIDGETCLASS | ||||
| #define xmScrollBarWidgetClass XMSCROLLBARWIDGETCLASS | ||||
| #define xmScrolledWindowClassRec XMSCROLLEDWINDOWCLASSREC | ||||
| #define xmScrolledWindowWidgetClass XMSCROLLEDWINDOWWIDGETCLASS | ||||
| #define xmSeparatorGadgetClass XMSEPARATORGADGETCLASS | ||||
| #define xmSeparatorWidgetClass XMSEPARATORWIDGETCLASS | ||||
| #define xmTextFieldWidgetClass XMTEXTFIELDWIDGETCLASS | ||||
| #define xmTextWidgetClass XMTEXTWIDGETCLASS | ||||
| #define xmToggleButtonGadgetClass XMTOGGLEBUTTONGADGETCLASS | ||||
| #define xmToggleButtonWidgetClass XMTOGGLEBUTTONWIDGETCLASS | ||||
| #define XtRegisterDrawable _XTREGISTERWINDOW | ||||
| #define XtUnregisterDrawable _XTUNREGISTERWINDOW | ||||
| #define XQueryFont XQUERYFONT | ||||
| #define XSetPlaneMask XSETPLANEMASK | ||||
| #define XChangeKeyboardControl XCHANGEKEYBOARDCONTROL | ||||
| #define XDestroySubwindows XDESTROYSUBWINDOWS | ||||
| #define XFreeDeviceList XFREEDEVICELIST | ||||
| #define XFreeDeviceState XFREEDEVICESTATE | ||||
| #define XGetExtensionVersion XGETEXTENSIONVERSION | ||||
| #define XGetRGBColormaps XGETRGBCOLORMAPS | ||||
| #define XIconifyWindow XICONIFYWINDOW | ||||
| #define XInstallColormap XINSTALLCOLORMAP | ||||
| #define XListInputDevices XLISTINPUTDEVICES | ||||
| #define XLookupKeysym XLOOKUPKEYSYM | ||||
| #define XOpenDevice XOPENDEVICE | ||||
| #define XQueryDeviceState XQUERYDEVICESTATE | ||||
| #define XSelectExtensionEvent XSELECTEXTENSIONEVENT | ||||
| #define XWarpPointer XWARPPOINTER | ||||
| #define XmuLookupStandardColormap XMULOOKUPSTANDARDCOLORMAP | ||||
| #define XAllocNamedColor XALLOCNAMEDCOLOR | ||||
| #define XBlackPixelOfScreen XBLACKPIXELOFSCREEN | ||||
| #define XDefaultColormap XDEFAULTCOLORMAP | ||||
| #define XDefaultColormapOfScreen XDEFAULTCOLORMAPOFSCREEN | ||||
| #define XDefaultDepth XDEFAULTDEPTH | ||||
| #define XDefaultScreen XDEFAULTSCREEN | ||||
| #define XDefaultVisual XDEFAULTVISUAL | ||||
| #define XSetIconName XSETICONNAME | ||||
| #define XtInitialize XTINITIALIZE | ||||
| #define XtMainLoop XTMAINLOOP | ||||
| #define DtSaverGetWindows DTSAVERGETWINDOWS | ||||
| #define XAddHosts XADDHOSTS | ||||
| #define XDisableAccessControl XDISABLEACCESSCONTROL | ||||
| #define XEnableAccessControl XENABLEACCESSCONTROL | ||||
| #define XFillArcs XFILLARCS | ||||
| #define XForceScreenSaver XFORCESCREENSAVER | ||||
| #define XGetScreenSaver XGETSCREENSAVER | ||||
| #define XListHosts XLISTHOSTS | ||||
| #define XReadBitmapFile XREADBITMAPFILE | ||||
| #define XRemoveHosts XREMOVEHOSTS | ||||
| #define XResetScreenSaver XRESETSCREENSAVER | ||||
| #define XResourceManagerString XRESOURCEMANAGERSTRING | ||||
| #define XSetScreenSaver XSETSCREENSAVER | ||||
| #define XStringListToTextProperty XSTRINGLISTTOTEXTPROPERTY | ||||
| #define XrmDestroyDatabase XRMDESTROYDATABASE | ||||
| #define XrmGetFileDatabase XRMGETFILEDATABASE | ||||
| #define XrmGetStringDatabase XRMGETSTRINGDATABASE | ||||
| #define XrmInitialize XRMINITIALIZE | ||||
| #define XrmMergeDatabases XRMMERGEDATABASES | ||||
| #define XrmParseCommand XRMPARSECOMMAND | ||||
| #define XrmPutLineResource XRMPUTLINERESOURCE | ||||
| #define XrmQPutStringResource XRMQPUTSTRINGRESOURCE | ||||
| #define XrmStringToBindingQuarkList XRMSTRINGTOBINDINGQUARKLIST | ||||
| #define XrmStringToQuark XRMSTRINGTOQUARK | ||||
| #define XmCreateLabel XMCREATELABEL | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
| extern void XtFree(char*); | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #define pthread_attr_create PTHREAD_ATTR_CREATE | ||||
| #define pthread_attr_delete PTHREAD_ATTR_DELETE | ||||
| #define pthread_attr_destroy PTHREAD_ATTR_DESTROY | ||||
| #define pthread_attr_getdetach_np PTHREAD_ATTR_GETDETACH_NP | ||||
| #define pthread_attr_getguardsize_np PTHREAD_ATTR_GETGUARDSIZE_NP | ||||
| #define pthread_attr_getinheritsched PTHREAD_ATTR_GETINHERITSCHED | ||||
| #define pthread_attr_getprio PTHREAD_ATTR_GETPRIO | ||||
| #define pthread_attr_getsched PTHREAD_ATTR_GETSCHED | ||||
| #define pthread_attr_getschedparam PTHREAD_ATTR_GETSCHEDPARAM | ||||
| #define pthread_attr_getstacksize PTHREAD_ATTR_GETSTACKSIZE | ||||
| #define pthread_attr_init PTHREAD_ATTR_INIT | ||||
| #define pthread_attr_setdetach_np PTHREAD_ATTR_SETDETACH_NP | ||||
| #define pthread_attr_setdetachstate PTHREAD_ATTR_SETDETACHSTATE | ||||
| #define pthread_attr_setguardsize_np PTHREAD_ATTR_SETGUARDSIZE_NP | ||||
| #define pthread_attr_setinheritsched PTHREAD_ATTR_SETINHERITSCHED | ||||
| #define pthread_attr_setprio PTHREAD_ATTR_SETPRIO | ||||
| #define pthread_attr_setsched PTHREAD_ATTR_SETSCHED | ||||
| #define pthread_attr_setschedparam PTHREAD_ATTR_SETSCHEDPARAM | ||||
| #define pthread_attr_setschedpolicy PTHREAD_ATTR_SETSCHEDPOLICY | ||||
| #define pthread_attr_setstacksize PTHREAD_ATTR_SETSTACKSIZE | ||||
| #define pthread_cancel PTHREAD_CANCEL | ||||
| #define pthread_cancel_e PTHREAD_CANCEL_E | ||||
| #define pthread_cond_broadcast PTHREAD_COND_BROADCAST | ||||
| #define pthread_cond_destroy PTHREAD_COND_DESTROY | ||||
| #define pthread_cond_init PTHREAD_COND_INIT | ||||
| #define pthread_cond_sig_preempt_int_np PTHREAD_COND_SIG_PREEMPT_INT_NP | ||||
| #define pthread_cond_signal PTHREAD_COND_SIGNAL | ||||
| #define pthread_cond_signal_int_np PTHREAD_COND_SIGNAL_INT_NP | ||||
| #define pthread_cond_timedwait PTHREAD_COND_TIMEDWAIT | ||||
| #define pthread_cond_wait PTHREAD_COND_WAIT | ||||
| #define pthread_condattr_create PTHREAD_CONDATTR_CREATE | ||||
| #define pthread_condattr_delete PTHREAD_CONDATTR_DELETE | ||||
| #define pthread_condattr_init PTHREAD_CONDATTR_INIT | ||||
| #define pthread_create PTHREAD_CREATE | ||||
| #define pthread_delay_np PTHREAD_DELAY_NP | ||||
| #define pthread_detach PTHREAD_DETACH | ||||
| #define pthread_equal PTHREAD_EQUAL | ||||
| #define pthread_exc_fetch_fp_np PTHREAD_EXC_FETCH_FP_NP | ||||
| #define pthread_exc_handler_np PTHREAD_EXC_HANDLER_NP | ||||
| #define pthread_exc_pop_ctx_np PTHREAD_EXC_POP_CTX_NP | ||||
| #define pthread_exc_push_ctx_np PTHREAD_EXC_PUSH_CTX_NP | ||||
| #define pthread_exc_savecontext_np PTHREAD_EXC_SAVECONTEXT_NP | ||||
| #define pthread_exit PTHREAD_EXIT | ||||
| #define pthread_get_expiration_np PTHREAD_GET_EXPIRATION_NP | ||||
| #define pthread_getprio PTHREAD_GETPRIO | ||||
| #define pthread_getschedparam PTHREAD_GETSCHEDPARAM | ||||
| #define pthread_getscheduler PTHREAD_GETSCHEDULER | ||||
| #define pthread_getspecific PTHREAD_GETSPECIFIC | ||||
| #define pthread_getunique_np PTHREAD_GETUNIQUE_NP | ||||
| #define pthread_join PTHREAD_JOIN | ||||
| #define pthread_join32 PTHREAD_JOIN32 | ||||
| #define pthread_keycreate PTHREAD_KEYCREATE | ||||
| #define pthread_key_create PTHREAD_KEY_CREATE | ||||
| #define pthread_kill PTHREAD_KILL | ||||
| #define pthread_lock_global_np PTHREAD_LOCK_GLOBAL_NP | ||||
| #define pthread_mutex_destroy PTHREAD_MUTEX_DESTROY | ||||
| #define pthread_mutex_init PTHREAD_MUTEX_INIT | ||||
| #define pthread_mutex_lock PTHREAD_MUTEX_LOCK | ||||
| #define pthread_mutex_trylock PTHREAD_MUTEX_TRYLOCK | ||||
| #define pthread_mutex_unlock PTHREAD_MUTEX_UNLOCK | ||||
| #define pthread_mutexattr_create PTHREAD_MUTEXATTR_CREATE | ||||
| #define pthread_mutexattr_delete PTHREAD_MUTEXATTR_DELETE | ||||
| #define pthread_mutexattr_destroy PTHREAD_MUTEXATTR_DESTROY | ||||
| #define pthread_mutexattr_getkind_np PTHREAD_MUTEXATTR_GETKIND_NP | ||||
| #define pthread_mutexattr_init PTHREAD_MUTEXATTR_INIT | ||||
| #define pthread_mutexattr_setkind_np PTHREAD_MUTEXATTR_SETKIND_NP | ||||
| #define pthread_mutexattr_settype_np PTHREAD_MUTEXATTR_SETTYPE_NP | ||||
| #define pthread_once PTHREAD_ONCE | ||||
| #define pthread_resume_np PTHREAD_RESUME_NP | ||||
| #define pthread_self PTHREAD_SELF | ||||
| #define pthread_setasynccancel PTHREAD_SETASYNCCANCEL | ||||
| #define pthread_setcancel PTHREAD_SETCANCEL | ||||
| #define pthread_setcancelstate PTHREAD_SETCANCELSTATE | ||||
| #define pthread_setprio PTHREAD_SETPRIO | ||||
| #define pthread_setschedparam PTHREAD_SETSCHEDPARAM | ||||
| #define pthread_setscheduler PTHREAD_SETSCHEDULER | ||||
| #define pthread_setspecific PTHREAD_SETSPECIFIC | ||||
| #define pthread_suspend_np PTHREAD_SUSPEND_NP | ||||
| #define pthread_testcancel PTHREAD_TESTCANCEL | ||||
| #define pthread_unlock_global_np PTHREAD_UNLOCK_GLOBAL_NP | ||||
| #define pthread_yield PTHREAD_YIELD | ||||
| #define pthread_yield_np PTHREAD_YIELD_NP | ||||
| #define XDefaultRootWindow XDEFAULTROOTWINDOW | ||||
| #define XDisplayCells XDISPLAYCELLS | ||||
| #define XMaxRequestSize XMAXREQUESTSIZE | ||||
| #define XScreenOfDisplay XSCREENOFDISPLAY | ||||
| #define XSetFillRule XSETFILLRULE | ||||
| #define XmActivateProtocol XMACTIVATEPROTOCOL | ||||
| #define XmCreateBulletinBoardDialog XMCREATEBULLETINBOARDDIALOG | ||||
| #define XmCreateErrorDialog XMCREATEERRORDIALOG | ||||
| #define XmCreateWarningDialog XMCREATEWARNINGDIALOG | ||||
| #define XmCvtCTToXmString XMCVTCTTOXMSTRING | ||||
| #define XmDestroyPixmap XMDESTROYPIXMAP | ||||
| #define XmGetPixmap XMGETPIXMAP | ||||
| #define XmInstallImage XMINSTALLIMAGE | ||||
| #define XmListAddItems XMLISTADDITEMS | ||||
| #define XmListDeleteItem XMLISTDELETEITEM | ||||
| #define XmListItemExists XMLISTITEMEXISTS | ||||
| #define XmListItemPos XMLISTITEMPOS | ||||
| #define XmListReplaceItems XMLISTREPLACEITEMS | ||||
| #define XmListReplaceItemsPos XMLISTREPLACEITEMSPOS | ||||
| #define XmRemoveProtocols XMREMOVEPROTOCOLS | ||||
| #define XmRemoveTabGroup XMREMOVETABGROUP | ||||
| #define XmSetColorCalculation XMSETCOLORCALCULATION | ||||
| #define XmTextCopy XMTEXTCOPY | ||||
| #define XmTextCut XMTEXTCUT | ||||
| #define XmTextFieldClearSelection XMTEXTFIELDCLEARSELECTION | ||||
| #define XmTextFieldCopy XMTEXTFIELDCOPY | ||||
| #define XmTextFieldCut XMTEXTFIELDCUT | ||||
| #define XmTextFieldGetMaxLength XMTEXTFIELDGETMAXLENGTH | ||||
| #define XmTextFieldGetSelectionPosition XMTEXTFIELDGETSELECTIONPOSITION | ||||
| #define XmTextFieldPaste XMTEXTFIELDPASTE | ||||
| #define XmTextFieldReplace XMTEXTFIELDREPLACE | ||||
| #define XmTextFieldSetAddMode XMTEXTFIELDSETADDMODE | ||||
| #define XmTextFieldSetHighlight XMTEXTFIELDSETHIGHLIGHT | ||||
| #define XmTextFieldSetInsertionPosition XMTEXTFIELDSETINSERTIONPOSITION | ||||
| #define XmTextFieldSetMaxLength XMTEXTFIELDSETMAXLENGTH | ||||
| #define XmTextFieldShowPosition XMTEXTFIELDSHOWPOSITION | ||||
| #define XmTextGetEditable XMTEXTGETEDITABLE | ||||
| #define XmTextPaste XMTEXTPASTE | ||||
| #define XmTextPosToXY XMTEXTPOSTOXY | ||||
| #define XmTextSetEditable XMTEXTSETEDITABLE | ||||
| #define XmTextShowPosition XMTEXTSHOWPOSITION | ||||
| #define XmUninstallImage XMUNINSTALLIMAGE | ||||
| #define XmuCvtStringToBitmap XMUCVTSTRINGTOBITMAP | ||||
| #define XrmPutFileDatabase XRMPUTFILEDATABASE | ||||
| #define XtAddConverter XTADDCONVERTER | ||||
| #define XtError XTERROR | ||||
| #define XtVaCreatePopupShell XTVACREATEPOPUPSHELL | ||||
| #define pthread_attr_getschedpolicy PTHREAD_ATTR_GETSCHEDPOLICY | ||||
| #define pthread_key_delete PTHREAD_KEY_DELETE | ||||
| #define xmBulletinBoardWidgetClass XMBULLETINBOARDWIDGETCLASS | ||||
| #define xmScaleWidgetClass XMSCALEWIDGETCLASS | ||||
| #define XtDisplay XTDISPLAY | ||||
| #define XtScreen XTSCREEN | ||||
| #define XAllocIconSize XALLOCICONSIZE | ||||
| #define XAllocStandardColormap XALLOCSTANDARDCOLORMAP | ||||
| #define XAllowEvents XALLOWEVENTS | ||||
| #define XBlackPixel XBLACKPIXEL | ||||
| #define XCopyColormapAndFree XCOPYCOLORMAPANDFREE | ||||
| #define XDefaultGC XDEFAULTGC | ||||
| #define XDisplayHeight XDISPLAYHEIGHT | ||||
| #define XDisplayWidth XDISPLAYWIDTH | ||||
| #define XGetCommand XGETCOMMAND | ||||
| #define XGetIconSizes XGETICONSIZES | ||||
| #define XKillClient XKILLCLIENT | ||||
| #define XListInstalledColormaps XLISTINSTALLEDCOLORMAPS | ||||
| #define XRootWindow XROOTWINDOW | ||||
| #define XWMGeometry XWMGEOMETRY | ||||
| #define XWhitePixel XWHITEPIXEL | ||||
| #define XrmCombineDatabase XRMCOMBINEDATABASE | ||||
| #define XrmCombineFileDatabase XRMCOMBINEFILEDATABASE | ||||
| #define XSetStandardProperties XSETSTANDARDPROPERTIES | ||||
| #define XSetState XSETSTATE | ||||
| #define XDrawRectangles XDRAWRECTANGLES | ||||
| #define XGrabButton XGRABBUTTON | ||||
| #define XLookupColor XLOOKUPCOLOR | ||||
| #define XMapSubwindows XMAPSUBWINDOWS | ||||
| #define XRecolorCursor XRECOLORCURSOR | ||||
| #define XStoreBytes XSTOREBYTES | ||||
| #define XUngrabButton XUNGRABBUTTON | ||||
| #define XUninstallColormap XUNINSTALLCOLORMAP | ||||
| #define lib$wait LIB$WAIT | ||||
| #define lib$find_file LIB$FIND_FILE | ||||
| #define lib$find_file_end LIB$FIND_FILE_END | ||||
| #define lib$set_symbol LIB$SET_SYMBOL | ||||
| #define lib$sfree1_dd LIB$SFREE1_DD | ||||
| #define lib$spawn LIB$SPAWN | ||||
| #define sys$assign SYS$ASSIGN | ||||
| #define sys$crembx SYS$CREMBX | ||||
| #define sys$dassgn SYS$DASSGN | ||||
| #define sys$dclexh SYS$DCLEXH | ||||
| #define sys$getdviw SYS$GETDVIW | ||||
| #define sys$getsyiw SYS$GETSYIW | ||||
| #define sys$qio SYS$QIO | ||||
| #define sys$qiow SYS$QIOW | ||||
| #define sys$setef SYS$SETEF | ||||
| #define sys$synch SYS$SYNCH | ||||
| #define XDrawText XDRAWTEXT | ||||
| #define XtCloseDisplay XTCLOSEDISPLAY | ||||
| #define XtDestroyApplicationContext XTDESTROYAPPLICATIONCONTEXT | ||||
| #define lib$ediv LIB$EDIV | ||||
| #define lib$subx LIB$SUBX | ||||
| #define sys$bintim SYS$BINTIM | ||||
| #define sys$gettim SYS$GETTIM | ||||
| #define XFetchName XFETCHNAME | ||||
| #define XPeekIfEvent XPEEKIFEVENT | ||||
| #define XQueryKeymap XQUERYKEYMAP | ||||
| #endif | ||||
| @@ -1,4 +1,4 @@ | ||||
| /* $Id: wmesa.h,v 1.1 1999/08/19 00:55:40 jtg Exp $ */ | ||||
| /* $Id: wmesa.h,v 1.2 2002/04/23 18:23:32 kschultz Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * Mesa 3-D graphics library | ||||
| @@ -24,8 +24,17 @@ | ||||
|  | ||||
| /* | ||||
|  * $Log: wmesa.h,v $ | ||||
|  * Revision 1.1  1999/08/19 00:55:40  jtg | ||||
|  * Initial revision | ||||
|  * Revision 1.2  2002/04/23 18:23:32  kschultz | ||||
|  * Fix up alpha buffer handling for Windows. | ||||
|  * - add two new Pixel Format Descriptors that do not have alpha bits to | ||||
|  * mirror the two that do. | ||||
|  * - add logic to wglChoosePixelFormat to match PFD's with respect to alpha. | ||||
|  * - Create/clear software alpha buffer as required. | ||||
|  * Now a wgl or GLUT program can control the creation of a software alpha | ||||
|  * buffer via the PFD or GLUT parms, respectively. | ||||
|  * | ||||
|  * Revision 1.1.1.1  1999/08/19 00:55:40  jtg | ||||
|  * Imported sources | ||||
|  * | ||||
|  * Revision 3.2  1999/01/03 02:54:45  brianp | ||||
|  * updated per Ted Jump | ||||
| @@ -101,13 +110,17 @@ typedef struct wmesa_context *WMesaContext; | ||||
|  *                    GL_FALSE = color index mode | ||||
|  *         db_flag - GL_TRUE = double-buffered, | ||||
|  *                   GL_FALSE = single buffered | ||||
|  *         alpha_flag - GL_TRUE = create software alpha buffer, | ||||
|  *                      GL_FALSE = no software alpha buffer | ||||
|  * | ||||
|  * Note: Indexed mode requires double buffering under Windows. | ||||
|  * | ||||
|  * Return:  a WMesa_context or NULL if error. | ||||
|  */ | ||||
| extern WMesaContext WMesaCreateContext(HWND hWnd,HPALETTE* pPal, | ||||
|                                        GLboolean rgb_flag,GLboolean db_flag); | ||||
|                                        GLboolean rgb_flag, | ||||
|                                        GLboolean db_flag, | ||||
|                                        GLboolean alpha_flag); | ||||
|  | ||||
|  | ||||
| /* | ||||
|   | ||||
| @@ -1,10 +1,10 @@ | ||||
| /* $Id: xmesa.h,v 1.8 2000/05/02 02:30:01 brianp Exp $ */ | ||||
| /* $Id: xmesa.h,v 1.14 2002/10/05 03:03:37 brianp Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * Mesa 3-D graphics library | ||||
|  * Version:  3.3 | ||||
|  * Version:  4.1 | ||||
|  *  | ||||
|  * Copyright (C) 1999-2000  Brian Paul   All Rights Reserved. | ||||
|  * Copyright (C) 1999-2002  Brian Paul   All Rights Reserved. | ||||
|  *  | ||||
|  * Permission is hereby granted, free of charge, to any person obtaining a | ||||
|  * copy of this software and associated documentation files (the "Software"), | ||||
| @@ -58,7 +58,6 @@ and create a window, you must do the following to use the X/Mesa interface: | ||||
|  | ||||
| 8. Before exiting, call XMesaDestroyVisual and XMesaDestroyContext. | ||||
|  | ||||
| See the demos/xdemo.c and xmesa1.c files for examples. | ||||
| */ | ||||
|  | ||||
|  | ||||
| @@ -67,12 +66,14 @@ See the demos/xdemo.c and xmesa1.c files for examples. | ||||
| #ifndef XMESA_H | ||||
| #define XMESA_H | ||||
|  | ||||
| #ifdef __VMS | ||||
| #include <GL/vms_x_fix.h> | ||||
| #endif | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
|  | ||||
| #ifdef XFree86Server | ||||
| #include "xmesa_xf86.h" | ||||
| #else | ||||
| @@ -88,8 +89,8 @@ extern struct Library *XLibBase; | ||||
| #endif | ||||
|  | ||||
|  | ||||
| #define XMESA_MAJOR_VERSION 3 | ||||
| #define XMESA_MINOR_VERSION 3 | ||||
| #define XMESA_MAJOR_VERSION 4 | ||||
| #define XMESA_MINOR_VERSION 1 | ||||
|  | ||||
|  | ||||
|  | ||||
| @@ -364,6 +365,25 @@ extern GLboolean XMesaSetFXmode( GLint mode ); | ||||
|  | ||||
|  | ||||
|  | ||||
| /* | ||||
|  * Reallocate the back/depth/stencil/accum/etc/ buffers associated with | ||||
|  * buffer <b> if its size has changed. | ||||
|  * | ||||
|  * New in Mesa 4.0.2 | ||||
|  */ | ||||
| extern void XMesaResizeBuffers( XMesaBuffer b ); | ||||
|  | ||||
|  | ||||
|  | ||||
| /* | ||||
|  * Create a pbuffer. | ||||
|  * New in Mesa 4.1 | ||||
|  */ | ||||
| extern XMesaBuffer XMesaCreatePBuffer(XMesaVisual v, XMesaColormap cmap, | ||||
|                                       unsigned int width, unsigned int height); | ||||
|  | ||||
|  | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|   | ||||
| @@ -32,7 +32,7 @@ class SampleGLWindow : public BWindow | ||||
| { | ||||
| public: | ||||
|    SampleGLWindow(BRect frame, uint32 type); | ||||
|    virtual bool   QuitRequested() { return true; } | ||||
|    virtual bool   QuitRequested() { be_app->PostMessage(B_QUIT_REQUESTED); return true; } | ||||
|     | ||||
| private: | ||||
|    SampleGLView   *theView; | ||||
| @@ -135,7 +135,7 @@ void SampleGLView::gInit(void) | ||||
|    use_stipple_mode = GL_FALSE; | ||||
|    use_smooth_mode = GL_TRUE; | ||||
|    linesize = 2; | ||||
|    pointsize = 4; | ||||
|    pointsize = 6; | ||||
| } | ||||
|  | ||||
|  | ||||
| @@ -147,35 +147,46 @@ void SampleGLView::gDraw(void) | ||||
|    glClear(GL_COLOR_BUFFER_BIT); | ||||
|    glLineWidth(linesize); | ||||
|     | ||||
| /* | ||||
|  | ||||
|    if (use_stipple_mode) { | ||||
|       glEnable(GL_LINE_STIPPLE); | ||||
|    } else { | ||||
|       glDisable(GL_LINE_STIPPLE); | ||||
|    } | ||||
|     | ||||
|    if (use_smooth_mode) { | ||||
|       glEnable(GL_LINE_SMOOTH); | ||||
|       glEnable(GL_BLEND); | ||||
|    } else { | ||||
|       glDisable(GL_LINE_SMOOTH); | ||||
|       glDisable(GL_BLEND); | ||||
|    } | ||||
|     | ||||
| */ | ||||
|  | ||||
|    glDisable(GL_POINT_SMOOTH); | ||||
|  | ||||
|  | ||||
|    glPushMatrix(); | ||||
|     | ||||
|    glPointSize(pointsize);         // Set size for point | ||||
|  | ||||
|    for (i = 0; i < 360; i += 5) { | ||||
|       glRotatef(5.0, 0,0,1);         // Rotate right 5 degrees | ||||
|  | ||||
| 	  if (use_smooth_mode) { | ||||
| 		glEnable(GL_LINE_SMOOTH); | ||||
| 	    glEnable(GL_BLEND); | ||||
| 	   } else { | ||||
| 	      glDisable(GL_LINE_SMOOTH); | ||||
| 	      glDisable(GL_BLEND); | ||||
| 	   } | ||||
|  | ||||
|       glColor3f(1.0, 1.0, 0.0);      // Set color for line | ||||
|       glBegin(GL_LINE_STRIP);         // And create the line | ||||
|       glVertex3fv(pntA); | ||||
|       glVertex3fv(pntB); | ||||
|       	glVertex3fv(pntA); | ||||
|       	glVertex3fv(pntB); | ||||
|       glEnd(); | ||||
|        | ||||
|       glPointSize(pointsize);         // Set size for point | ||||
|  | ||||
|       glDisable(GL_POINT_SMOOTH); | ||||
|       glDisable(GL_BLEND); | ||||
|  | ||||
|       glColor3f(0.0, 1.0, 0.0);      // Set color for point | ||||
|       glBegin(GL_POINTS); | ||||
|       glVertex3fv(pntA);         // Draw point at one end | ||||
|       glVertex3fv(pntB);         // Draw point at other end | ||||
|       	glVertex3fv(pntA);         // Draw point at one end | ||||
|       	glVertex3fv(pntB);         // Draw point at other end | ||||
|       glEnd(); | ||||
|    } | ||||
|     | ||||
|   | ||||
							
								
								
									
										26
									
								
								progs/demos/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								progs/demos/Makefile
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,26 @@ | ||||
|  | ||||
| PROGS = gears \ | ||||
| 	glinfo \ | ||||
| 	texobj \ | ||||
| 	isosurf \ | ||||
| 	bounce \ | ||||
| 	terrain | ||||
|  | ||||
|  | ||||
| ##### RULES ##### | ||||
|  | ||||
| .SUFFIXES: | ||||
| .SUFFIXES: .c | ||||
|  | ||||
|  | ||||
| # make executable from .c file: | ||||
| .c: $(LIB_DEP) | ||||
| 	gcc -I../include -I../util -g $< -L../lib -lglut -lGL -lGLU -lm -o $@ | ||||
|  | ||||
|  | ||||
| default: $(PROGS) | ||||
|  | ||||
|  | ||||
| clean: | ||||
| 	-rm -f *.o *~ $(PROGS) | ||||
|  | ||||
| @@ -1,8 +1,8 @@ | ||||
| # $Id: Makefile.BeOS-R4,v 1.12 2000/06/27 16:54:18 brianp Exp $ | ||||
| # $Id: Makefile.BeOS-R4,v 1.14 2001/02/20 17:04:52 brianp Exp $ | ||||
|  | ||||
| # Mesa 3-D graphics library | ||||
| # Version:  3.3 | ||||
| # Copyright (C) 1995-2000  Brian Paul | ||||
| # Version:  3.5 | ||||
| # Copyright (C) 1995-2001  Brian Paul | ||||
|  | ||||
|  | ||||
| # Makefile for GLUT-based demo programs for BeOS R4 | ||||
| @@ -43,6 +43,7 @@ PROGS = bounce \ | ||||
| 	readpix \ | ||||
| 	reflect \ | ||||
| 	renormal \ | ||||
| 	shadowtex \ | ||||
| 	spectex \ | ||||
| 	stex3d \ | ||||
| 	teapot \ | ||||
| @@ -64,7 +65,7 @@ PROGS = bounce \ | ||||
| .SUFFIXES: .c | ||||
|  | ||||
| .c: $(LIB_DEP) | ||||
| 	$(CC) -I$(INCDIR) $(CFLAGS) $< $(GL_LIBS) -o $@ | ||||
| 	$(CC) -I$(INCDIR) -I../util $(CFLAGS) $< $(GL_LIBS) -o $@ | ||||
|  | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| # $Id: Makefile.X11,v 1.14 2000/06/27 16:54:18 brianp Exp $ | ||||
| # $Id: Makefile.X11,v 1.20 2001/08/21 05:42:11 gareth Exp $ | ||||
|  | ||||
| # Mesa 3-D graphics library | ||||
| # Version:  3.3 | ||||
| # Copyright (C) 1995-2000  Brian Paul | ||||
| # Version:  3.5 | ||||
| # Copyright (C) 1995-2001  Brian Paul | ||||
|  | ||||
| # Makefile for GLUT-based demo programs for Unix/X11 | ||||
|  | ||||
| @@ -14,6 +14,8 @@ LIBDIR = ../lib | ||||
|  | ||||
| GL_LIBS = -L$(LIBDIR) -lglut -lGLU -lGL $(APP_LIB_DEPS) | ||||
|  | ||||
| OSMESA_LIBS = -L$(LIBDIR) -lglut -lOSMesa -lGLU -lGL $(APP_LIB_DEPS) | ||||
|  | ||||
| LIB_DEP = $(LIBDIR)/$(GL_LIB) $(LIBDIR)/$(GLU_LIB) $(LIBDIR)/$(GLUT_LIB) | ||||
|  | ||||
| PROGS = bounce \ | ||||
| @@ -42,6 +44,7 @@ PROGS = bounce \ | ||||
| 	readpix \ | ||||
| 	reflect \ | ||||
| 	renormal \ | ||||
| 	shadowtex \ | ||||
| 	spectex \ | ||||
| 	stex3d \ | ||||
| 	teapot \ | ||||
| @@ -62,9 +65,14 @@ PROGS = bounce \ | ||||
| .SUFFIXES: | ||||
| .SUFFIXES: .c | ||||
|  | ||||
| .c: $(LIB_DEP) | ||||
| 	$(CC) -I$(INCDIR) $(CFLAGS) $< $(GL_LIBS) -o $@ | ||||
|  | ||||
| # make executable from .c file: | ||||
| .c: $(LIB_DEP) | ||||
| 	$(CC) -I$(INCDIR) -I../util $(CFLAGS) $< $(GL_LIBS) -o $@ | ||||
|  | ||||
| # special case: need the -lOSMesa library: | ||||
| osdemo: osdemo.c | ||||
| 	$(CC) -I$(INCDIR) $(CFLAGS) osdemo.c $(OSMESA_LIBS) -o $@ | ||||
|  | ||||
|  | ||||
| ##### TARGETS ##### | ||||
| @@ -78,8 +86,17 @@ clean: | ||||
| realclean: | ||||
| 	-rm $(PROGS) | ||||
| 	-rm *.o *~ | ||||
| 	-rm readtex.[ch] | ||||
|  | ||||
| targets: readtex.c readtex.h $(PROGS) | ||||
|  | ||||
|  | ||||
| readtex.c: | ||||
| 	cp ../util/readtex.c . | ||||
|  | ||||
| readtex.h: | ||||
| 	cp ../util/readtex.c . | ||||
|  | ||||
| targets: $(PROGS) | ||||
|  | ||||
| # execute all programs | ||||
| exec: $(PROGS) | ||||
| @@ -92,4 +109,3 @@ exec: $(PROGS) | ||||
|  | ||||
|  | ||||
| include ../Make-config | ||||
|  | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| # $Id: Makefile.cygnus,v 1.11 2000/06/27 16:54:18 brianp Exp $ | ||||
| # $Id: Makefile.cygnus,v 1.12 2000/12/24 22:53:54 pesco Exp $ | ||||
|  | ||||
| # Mesa 3-D graphics library | ||||
| # Version:  3.3 | ||||
| @@ -66,7 +66,7 @@ PROGS = bounce \ | ||||
| .SUFFIXES: .c | ||||
|  | ||||
| .c: $(LIB_DEP) | ||||
| 	$(CC) -I$(INCDIR) $(CFLAGS) $< $(GL_LIBS) -o $@ | ||||
| 	$(CC) -I$(INCDIR) -I../util $(CFLAGS) $< $(GL_LIBS) -o $@ | ||||
|  | ||||
|  | ||||
| ##### TARGETS ##### | ||||
|   | ||||
							
								
								
									
										130
									
								
								progs/demos/Makefile.win
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										130
									
								
								progs/demos/Makefile.win
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,130 @@ | ||||
| # $Id: Makefile.win,v 1.7 2002/01/16 00:48:43 kschultz Exp $ | ||||
|  | ||||
| # Mesa 3-D graphics library | ||||
| # Version:  3.5 | ||||
| # Copyright (C) 1995-2001  Brian Paul | ||||
|  | ||||
| # Makefile for GLUT-based demo programs for Windows | ||||
|  | ||||
| !include <win32.mak> | ||||
|  | ||||
| ##### MACROS ##### | ||||
|  | ||||
| TOP    = .. | ||||
| INCDIR = ..\include | ||||
| LIBDIR = ..\lib | ||||
|  | ||||
| PROGS = anisotropic \ | ||||
| 	bounce \ | ||||
| 	clearspd \ | ||||
| 	cubemap \ | ||||
| 	drawpix \ | ||||
| 	fire \ | ||||
| 	gamma \ | ||||
| 	gears \ | ||||
| 	geartrain \ | ||||
| 	glinfo \ | ||||
| 	gloss \ | ||||
| 	gltestperf \ | ||||
| 	glutfx \ | ||||
| 	isosurf \ | ||||
| 	ipers \ | ||||
| 	lodbias \ | ||||
| 	morph3d \ | ||||
| 	multiarb \ | ||||
| 	occlude \ | ||||
| 	osdemo \ | ||||
| 	paltex \ | ||||
| 	pixeltex \ | ||||
| 	pointblast \ | ||||
| 	ray \ | ||||
| 	readpix \ | ||||
| 	reflect \ | ||||
| 	renormal \ | ||||
| 	shadowtex \ | ||||
| 	spectex \ | ||||
| 	stex3d \ | ||||
| 	teapot \ | ||||
| 	terrain \ | ||||
| 	tessdemo \ | ||||
| 	texcyl \ | ||||
| 	texdown \ | ||||
| 	texenv \ | ||||
| 	texobj \ | ||||
| 	trispd \ | ||||
| 	tunnel \ | ||||
| 	tunnel2 \ | ||||
| 	winpos | ||||
|  | ||||
| SRCS = \ | ||||
| 	bounce.c \ | ||||
| 	clearspd.c \ | ||||
| 	cubemap.c \ | ||||
| 	drawpix.c \ | ||||
| 	fire.c \ | ||||
| 	gamma.c \ | ||||
| 	gears.c \ | ||||
| 	geartrain.c \ | ||||
| 	glinfo.c \ | ||||
| 	gloss.c \ | ||||
| 	gltestperf.c \ | ||||
| 	glutfx.c \ | ||||
| 	isosurf.c \ | ||||
| 	lodbias.c \ | ||||
| 	morph3d.c \ | ||||
| 	multiarb.c \ | ||||
| 	occlude.c \ | ||||
| 	paltex.c \ | ||||
| 	pixeltex.c \ | ||||
| 	pointblast.c \ | ||||
| 	ray.c \ | ||||
| 	readpix.c \ | ||||
| 	reflect.c \ | ||||
| 	renormal.c \ | ||||
| 	shadowtex.c \ | ||||
| 	spectex.c \ | ||||
| 	stex3d.c \ | ||||
| 	teapot.c \ | ||||
| 	terrain.c \ | ||||
| 	tessdemo.c \ | ||||
| 	texcyl.c \ | ||||
| 	texdown.c \ | ||||
| 	texenv.c \ | ||||
| 	texobj.c \ | ||||
| 	trispd.c \ | ||||
| 	tunnel.c \ | ||||
| 	tunnel2.c \ | ||||
| 	winpos.c | ||||
|  | ||||
| CXXSRCS = \ | ||||
| 	rain.cxx | ||||
|  | ||||
| OSMESASRCS = osdemo.c | ||||
| IPERSSRCS = ipers.c | ||||
| IPERSEXES = $(IPERSSRCS:.c=.exe) | ||||
| !include "../mesawin32.mak" | ||||
|  | ||||
| ##### TARGETS ##### | ||||
|  | ||||
| clean:: | ||||
|  | ||||
| clobber:: | ||||
| 	@del readtex.c readtex.h | ||||
|  | ||||
| $(EXES) : $*.obj readtex.c readtex.h | ||||
| 	@echo $@ | ||||
| 	$(link) -out:$@ $* /LIBPATH:$(LIBDIR) $(LIBS) | ||||
|  | ||||
| $(OSMESAEXES) : $*.obj | ||||
| 	@echo $@ | ||||
| 	$(link) $(lcommon) -out:$@ $* /LIBPATH:$(LIBDIR) $(LIBS) $(EXTRALIBS) | ||||
|  | ||||
| $(IPERSEXES) : $*.obj | ||||
| 	@echo $@ | ||||
| 	$(link) -out:$@ $* /LIBPATH:$(LIBDIR) $(LIBS) winmm.lib | ||||
|  | ||||
| readtex.c: | ||||
| 	-copy ..\util\readtex.c . | ||||
|  | ||||
| readtex.h: | ||||
| 	-copy ..\util\readtex.h . | ||||
| @@ -1,36 +1,13 @@ | ||||
| /* $Id: bounce.c,v 1.2 2000/06/27 17:04:43 brianp Exp $ */ | ||||
| /* $Id: bounce.c,v 1.3.8.2 2003/03/22 08:40:35 keithw Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * Bouncing ball demo.  Color index mode only! | ||||
|  * Bouncing ball demo. | ||||
|  * | ||||
|  * This program is in the public domain | ||||
|  * | ||||
|  * Brian Paul | ||||
|  */ | ||||
|  | ||||
| /* Conversion to GLUT by Mark J. Kilgard */ | ||||
|  | ||||
| /* | ||||
|  * $Log: bounce.c,v $ | ||||
|  * Revision 1.2  2000/06/27 17:04:43  brianp | ||||
|  * fixed compiler warnings | ||||
|  * | ||||
|  * Revision 1.1.1.1  1999/08/19 00:55:40  jtg | ||||
|  * Imported sources | ||||
|  * | ||||
|  * Revision 3.3  1999/03/18 08:16:14  joukj | ||||
|  * | ||||
|  *     cmpstr needs string.h to included to avoid warnings | ||||
|  * | ||||
|  * Revision 3.2  1998/11/28 01:13:02  brianp | ||||
|  * now sets an initial window position and size | ||||
|  * | ||||
|  * Revision 3.1  1998/11/28 01:06:57  brianp | ||||
|  * now works in RGB mode by default | ||||
|  * | ||||
|  * Revision 3.0  1998/02/14 18:42:29  brianp | ||||
|  * initial rev | ||||
|  * | ||||
|  * Conversion to GLUT by Mark J. Kilgard | ||||
|  */ | ||||
|  | ||||
|  | ||||
| @@ -56,8 +33,8 @@ GLfloat Xmin = -4.0, Xmax = 4.0; | ||||
| GLfloat Ymin = -3.8, Ymax = 4.0; | ||||
| GLfloat G = -0.1; | ||||
|  | ||||
| static GLuint  | ||||
| make_ball(void) | ||||
| static void | ||||
| draw_ball(void) | ||||
| { | ||||
|   GLuint list; | ||||
|   GLfloat a, b; | ||||
| @@ -66,9 +43,9 @@ make_ball(void) | ||||
|   GLuint color; | ||||
|   GLfloat x, y, z; | ||||
|  | ||||
|   list = glGenLists(1); | ||||
| /*   list = glGenLists(1); */ | ||||
|  | ||||
|   glNewList(list, GL_COMPILE); | ||||
| /*   glNewList(list, GL_COMPILE); */ | ||||
|  | ||||
|   color = 0; | ||||
|   for (a = -90.0; a + da <= 90.0; a += da) { | ||||
| @@ -77,16 +54,16 @@ make_ball(void) | ||||
|     for (b = 0.0; b <= 360.0; b += db) { | ||||
|  | ||||
|       if (color) { | ||||
| 	glIndexi(RED); | ||||
| /* 	glIndexi(RED); */ | ||||
|         glColor3f(1, 0, 0); | ||||
|       } else { | ||||
| 	glIndexi(WHITE); | ||||
| /* 	glIndexi(WHITE); */ | ||||
|         glColor3f(1, 1, 1); | ||||
|       } | ||||
|  | ||||
|       x = COS(b) * COS(a); | ||||
|       y = SIN(b) * COS(a); | ||||
|       z = SIN(a); | ||||
|       x = radius * COS(b) * COS(a); | ||||
|       y = radius * SIN(b) * COS(a); | ||||
|       z = radius * SIN(a); | ||||
|       glVertex3f(x, y, z); | ||||
|  | ||||
|       x = radius * COS(b) * COS(a + da); | ||||
| @@ -100,11 +77,12 @@ make_ball(void) | ||||
|  | ||||
|   } | ||||
|  | ||||
|   glEndList(); | ||||
| /*   glEndList(); */ | ||||
|  | ||||
|   return list; | ||||
| /*   return list; */ | ||||
| } | ||||
|  | ||||
|  | ||||
| static void  | ||||
| reshape(int width, int height) | ||||
| { | ||||
| @@ -133,19 +111,19 @@ draw(void) | ||||
|  | ||||
|   glClear(GL_COLOR_BUFFER_BIT); | ||||
|  | ||||
|   glIndexi(CYAN); | ||||
| /*   glIndexi(CYAN); */ | ||||
|   glColor3f(0, 1, 1); | ||||
|   glBegin(GL_LINES); | ||||
|   for (i = -5; i <= 5; i++) { | ||||
|     glVertex2i(i, -5); | ||||
|     glVertex2i(i, 5); | ||||
|     glVertex2f(i, -5); | ||||
|     glVertex2f(i, 5); | ||||
|   } | ||||
|   for (i = -5; i <= 5; i++) { | ||||
|     glVertex2i(-5, i); | ||||
|     glVertex2i(5, i); | ||||
|     glVertex2f(-5, i); | ||||
|     glVertex2f(5, i); | ||||
|   } | ||||
|   for (i = -5; i <= 5; i++) { | ||||
|     glVertex2i(i, -5); | ||||
|     glVertex2f(i, -5); | ||||
|     glVertex2f(i * 1.15, -5.9); | ||||
|   } | ||||
|   glVertex2f(-5.3, -5.35); | ||||
| @@ -161,7 +139,8 @@ draw(void) | ||||
|   glRotatef(90.0, 1.0, 0.0, 0.0); | ||||
|   glRotatef(Zrot, 0.0, 0.0, 1.0); | ||||
|  | ||||
|   glCallList(Ball); | ||||
| /*   glCallList(Ball); */ | ||||
|   draw_ball(); | ||||
|  | ||||
|   glPopMatrix(); | ||||
|  | ||||
| @@ -221,7 +200,7 @@ int main(int argc, char *argv[]) | ||||
|      glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE); | ||||
|  | ||||
|   glutCreateWindow("Bounce"); | ||||
|   Ball = make_ball(); | ||||
| /*   Ball = make_ball(); */ | ||||
|   glCullFace(GL_BACK); | ||||
|   glEnable(GL_CULL_FACE); | ||||
|   glDisable(GL_DITHER); | ||||
|   | ||||
| @@ -1,33 +1,10 @@ | ||||
| /* $Id: clearspd.c,v 1.2 2000/04/10 16:25:15 brianp Exp $ */ | ||||
| /* $Id: clearspd.c,v 1.5 2002/10/31 12:38:32 keithw Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * Simple GLUT program to measure glClear() and glutSwapBuffers() speed. | ||||
|  * Brian Paul  February 15, 1997  This file in public domain. | ||||
|  */ | ||||
|  | ||||
| /* | ||||
|  * $Log: clearspd.c,v $ | ||||
|  * Revision 1.2  2000/04/10 16:25:15  brianp | ||||
|  * fixed visual selection and reporting results | ||||
|  * | ||||
|  * Revision 1.1.1.1  1999/08/19 00:55:40  jtg | ||||
|  * Imported sources | ||||
|  * | ||||
|  * Revision 3.3  1999/03/28 18:18:33  brianp | ||||
|  * minor clean-up | ||||
|  * | ||||
|  * Revision 3.2  1999/03/18 08:16:34  joukj | ||||
|  * | ||||
|  *     cmpstr needs string.h to included to avoid warnings | ||||
|  * | ||||
|  * Revision 3.1  1998/06/29 02:38:30  brianp | ||||
|  * removed unneeded includes | ||||
|  * | ||||
|  * Revision 3.0  1998/02/14 18:42:29  brianp | ||||
|  * initial rev | ||||
|  * | ||||
|  */ | ||||
|  | ||||
|  | ||||
| #include <stdio.h> | ||||
| #include <stdlib.h> | ||||
| @@ -71,18 +48,25 @@ static void Display( void ) | ||||
|          glClear( BufferMask ); | ||||
|          glutSwapBuffers(); | ||||
|       } | ||||
|       glFinish(); | ||||
|       t1 = glutGet(GLUT_ELAPSED_TIME) * 0.001; | ||||
|    } | ||||
|    else { | ||||
|       t0 = glutGet(GLUT_ELAPSED_TIME) * 0.001; | ||||
|       for (i=0;i<Loops;i++) { | ||||
|          glClear( BufferMask ); | ||||
|          glFlush(); | ||||
|       } | ||||
|       glFinish(); | ||||
|       t1 = glutGet(GLUT_ELAPSED_TIME) * 0.001; | ||||
|       glutSwapBuffers(); | ||||
|    } | ||||
|  | ||||
|    /* NOTE: If clearspd doesn't map it's window immediately on | ||||
|     * starting, swaps will be istantaneous, so this will send Loops | ||||
|     * towards infinity.  When a window is finally mapped, it may be | ||||
|     * minutes before the first call to glutSwapBuffers, making it look | ||||
|     * like there's a driver bug. | ||||
|     */ | ||||
|    if (t1-t0 < MinPeriod) { | ||||
|       /* Next time do more clears to get longer elapsed time */ | ||||
|       Loops *= 2; | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| /* $Id: cubemap.c,v 1.3 2000/06/27 17:04:43 brianp Exp $ */ | ||||
| /* $Id: cubemap.c,v 1.4 2002/10/25 17:20:26 brianp Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * GL_ARB_texture_cube_map demo | ||||
| @@ -36,25 +36,100 @@ | ||||
|  */ | ||||
|  | ||||
|  | ||||
| #include <assert.h> | ||||
| #include <math.h> | ||||
| #include <stdio.h> | ||||
| #include <stdlib.h> | ||||
| #include <string.h> | ||||
| #include "GL/glut.h" | ||||
| #include "../util/readtex.c" /* a hack */ | ||||
|  | ||||
|  | ||||
| static GLfloat Xrot = 0, Yrot = 0; | ||||
| static GLfloat EyeDist = 10; | ||||
|  | ||||
|  | ||||
| static void draw_skybox( void ) | ||||
| { | ||||
|    const GLfloat eps1 = 0.99; | ||||
|    const GLfloat br = 20.0; /* box radius */ | ||||
|  | ||||
|    glBegin(GL_QUADS); | ||||
|  | ||||
|    /* +X side */ | ||||
|    glTexCoord3f(1.0, -eps1, -eps1);  glVertex3f(br, -br, -br); | ||||
|    glTexCoord3f(1.0, -eps1,  eps1);  glVertex3f(br, -br,  br); | ||||
|    glTexCoord3f(1.0,  eps1,  eps1);  glVertex3f(br,  br,  br); | ||||
|    glTexCoord3f(1.0,  eps1, -eps1);  glVertex3f(br,  br, -br); | ||||
|  | ||||
|    /* -X side */ | ||||
|    glTexCoord3f(-1.0,  eps1, -eps1);  glVertex3f(-br,  br, -br); | ||||
|    glTexCoord3f(-1.0,  eps1,  eps1);  glVertex3f(-br,  br,  br); | ||||
|    glTexCoord3f(-1.0, -eps1,  eps1);  glVertex3f(-br, -br,  br); | ||||
|    glTexCoord3f(-1.0, -eps1, -eps1);  glVertex3f(-br, -br, -br); | ||||
|  | ||||
|    /* +Y side */ | ||||
|    glTexCoord3f(-eps1, 1.0, -eps1);  glVertex3f(-br,  br, -br); | ||||
|    glTexCoord3f(-eps1, 1.0,  eps1);  glVertex3f(-br,  br,  br); | ||||
|    glTexCoord3f( eps1, 1.0,  eps1);  glVertex3f( br,  br,  br); | ||||
|    glTexCoord3f( eps1, 1.0, -eps1);  glVertex3f( br,  br, -br); | ||||
|  | ||||
|    /* -Y side */ | ||||
|    glTexCoord3f(-eps1, -1.0, -eps1);  glVertex3f(-br, -br, -br); | ||||
|    glTexCoord3f(-eps1, -1.0,  eps1);  glVertex3f(-br, -br,  br); | ||||
|    glTexCoord3f( eps1, -1.0,  eps1);  glVertex3f( br, -br,  br); | ||||
|    glTexCoord3f( eps1, -1.0, -eps1);  glVertex3f( br, -br, -br); | ||||
|  | ||||
|    /* +Z side */ | ||||
|    glTexCoord3f( eps1, -eps1, 1.0);  glVertex3f( br, -br, br); | ||||
|    glTexCoord3f(-eps1, -eps1, 1.0);  glVertex3f(-br, -br, br); | ||||
|    glTexCoord3f(-eps1,  eps1, 1.0);  glVertex3f(-br,  br, br); | ||||
|    glTexCoord3f( eps1,  eps1, 1.0);  glVertex3f( br,  br, br); | ||||
|  | ||||
|    /* -Z side */ | ||||
|    glTexCoord3f( eps1,  eps1, -1.0);  glVertex3f( br,  br, -br); | ||||
|    glTexCoord3f(-eps1,  eps1, -1.0);  glVertex3f(-br,  br, -br); | ||||
|    glTexCoord3f(-eps1, -eps1, -1.0);  glVertex3f(-br, -br, -br); | ||||
|    glTexCoord3f( eps1, -eps1, -1.0);  glVertex3f( br, -br, -br); | ||||
|  | ||||
|    glEnd(); | ||||
| } | ||||
|  | ||||
|  | ||||
| static void draw( void ) | ||||
| { | ||||
|    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); | ||||
|  | ||||
|    glMatrixMode(GL_TEXTURE); | ||||
|    glLoadIdentity(); | ||||
|    glRotatef(Xrot, 1, 0, 0); | ||||
|    glRotatef(Yrot, 0, 1, 0); | ||||
|    glutSolidSphere(2.0, 20, 20); | ||||
|    glMatrixMode(GL_MODELVIEW); | ||||
|    glPushMatrix(); /*MODELVIEW*/ | ||||
|       glTranslatef( 0.0, 0.0, -EyeDist ); | ||||
|  | ||||
|       /* skybox */ | ||||
|       glDisable(GL_TEXTURE_GEN_S); | ||||
|       glDisable(GL_TEXTURE_GEN_T); | ||||
|       glDisable(GL_TEXTURE_GEN_R); | ||||
|  | ||||
|       glMatrixMode(GL_MODELVIEW); | ||||
|       glPushMatrix(); | ||||
|          glRotatef(Xrot, 1, 0, 0); | ||||
|          glRotatef(Yrot, 0, 1, 0); | ||||
|          draw_skybox(); | ||||
|       glPopMatrix(); | ||||
|  | ||||
|       /* sphere */ | ||||
|       glMatrixMode(GL_TEXTURE); | ||||
|       glLoadIdentity(); | ||||
|       glRotatef(-Yrot, 0, 1, 0); | ||||
|       glRotatef(-Xrot, 1, 0, 0); | ||||
|  | ||||
|       glEnable(GL_TEXTURE_GEN_S); | ||||
|       glEnable(GL_TEXTURE_GEN_T); | ||||
|       glEnable(GL_TEXTURE_GEN_R); | ||||
|       glutSolidSphere(2.0, 20, 20); | ||||
|  | ||||
|       glLoadIdentity(); /* texture */ | ||||
|  | ||||
|       glMatrixMode(GL_MODELVIEW); | ||||
|    glPopMatrix(); | ||||
|  | ||||
|    glutSwapBuffers(); | ||||
| } | ||||
| @@ -62,7 +137,8 @@ static void draw( void ) | ||||
|  | ||||
| static void idle(void) | ||||
| { | ||||
|    Yrot += 5.0; | ||||
|    GLfloat t = 0.05 * glutGet(GLUT_ELAPSED_TIME); | ||||
|    Yrot = t; | ||||
|    glutPostRedisplay(); | ||||
| } | ||||
|  | ||||
| @@ -81,9 +157,6 @@ static void set_mode(GLuint mode) | ||||
|       glTexGeni(GL_R, GL_TEXTURE_GEN_MODE, GL_NORMAL_MAP_ARB); | ||||
|       printf("GL_NORMAL_MAP_ARB mode\n"); | ||||
|    } | ||||
|    glEnable(GL_TEXTURE_GEN_S); | ||||
|    glEnable(GL_TEXTURE_GEN_T); | ||||
|    glEnable(GL_TEXTURE_GEN_R); | ||||
| } | ||||
|  | ||||
|  | ||||
| @@ -105,6 +178,16 @@ static void key(unsigned char k, int x, int y) | ||||
|          mode = !mode; | ||||
|          set_mode(mode); | ||||
|          break; | ||||
|       case 'z': | ||||
|          EyeDist -= 0.5; | ||||
|          if (EyeDist < 6.0) | ||||
|             EyeDist = 6.0; | ||||
|          break; | ||||
|       case 'Z': | ||||
|          EyeDist += 0.5; | ||||
|          if (EyeDist > 90.0) | ||||
|             EyeDist = 90; | ||||
|          break; | ||||
|       case 27: | ||||
|          exit(0); | ||||
|    } | ||||
| @@ -114,15 +197,15 @@ static void key(unsigned char k, int x, int y) | ||||
|  | ||||
| static void specialkey(int key, int x, int y) | ||||
| { | ||||
|    GLfloat step = 10; | ||||
|    GLfloat step = 5; | ||||
|    (void) x; | ||||
|    (void) y; | ||||
|    switch (key) { | ||||
|       case GLUT_KEY_UP: | ||||
|          Xrot -= step; | ||||
|          Xrot += step; | ||||
|          break; | ||||
|       case GLUT_KEY_DOWN: | ||||
|          Xrot += step; | ||||
|          Xrot -= step; | ||||
|          break; | ||||
|       case GLUT_KEY_LEFT: | ||||
|          Yrot -= step; | ||||
| @@ -138,17 +221,17 @@ static void specialkey(int key, int x, int y) | ||||
| /* new window size or exposure */ | ||||
| static void reshape(int width, int height) | ||||
| { | ||||
|    GLfloat ar = (float) width / (float) height; | ||||
|    glViewport(0, 0, (GLint)width, (GLint)height); | ||||
|    glMatrixMode(GL_PROJECTION); | ||||
|    glLoadIdentity(); | ||||
|    glFrustum( -2.0, 2.0, -2.0, 2.0, 6.0, 20.0 ); | ||||
|    glFrustum( -2.0*ar, 2.0*ar, -2.0, 2.0, 4.0, 100.0 ); | ||||
|    glMatrixMode(GL_MODELVIEW); | ||||
|    glLoadIdentity(); | ||||
|    glTranslatef( 0.0, 0.0, -8.0 ); | ||||
| } | ||||
|  | ||||
|  | ||||
| static void init( void ) | ||||
| static void init_checkers( void ) | ||||
| { | ||||
| #define CUBE_TEX_SIZE 64 | ||||
|    GLubyte image[CUBE_TEX_SIZE][CUBE_TEX_SIZE][3]; | ||||
| @@ -171,16 +254,6 @@ static void init( void ) | ||||
|  | ||||
|    GLint i, j, f; | ||||
|  | ||||
|    /* check for extension */ | ||||
|    { | ||||
|       char *exten = (char *) glGetString(GL_EXTENSIONS); | ||||
|       if (!strstr(exten, "GL_ARB_texture_cube_map")) { | ||||
|          printf("Sorry, this demo requires GL_ARB_texture_cube_map\n"); | ||||
|          exit(0); | ||||
|       } | ||||
|    } | ||||
|  | ||||
|  | ||||
|    glPixelStorei(GL_UNPACK_ALIGNMENT, 1); | ||||
|  | ||||
|    /* make colored checkerboard cube faces */ | ||||
| @@ -203,18 +276,102 @@ static void init( void ) | ||||
|       glTexImage2D(targets[f], 0, GL_RGB, CUBE_TEX_SIZE, CUBE_TEX_SIZE, 0, | ||||
|                    GL_RGB, GL_UNSIGNED_BYTE, image); | ||||
|    } | ||||
| } | ||||
|  | ||||
| #if 1 | ||||
|    glTexParameteri(GL_TEXTURE_CUBE_MAP_ARB, GL_TEXTURE_MIN_FILTER, GL_NEAREST); | ||||
|    glTexParameteri(GL_TEXTURE_CUBE_MAP_ARB, GL_TEXTURE_MAG_FILTER, GL_NEAREST); | ||||
| #else | ||||
|    glTexParameteri(GL_TEXTURE_CUBE_MAP_ARB, GL_TEXTURE_MIN_FILTER, GL_LINEAR); | ||||
|    glTexParameteri(GL_TEXTURE_CUBE_MAP_ARB, GL_TEXTURE_MAG_FILTER, GL_LINEAR); | ||||
| #endif | ||||
|  | ||||
| static void load(GLenum target, const char *filename, | ||||
|                  GLboolean flipTB, GLboolean flipLR) | ||||
| { | ||||
|    GLint w, h; | ||||
|    GLenum format; | ||||
|    GLubyte *img = LoadRGBImage( filename, &w, &h, &format ); | ||||
|    if (!img) { | ||||
|       printf("Error: couldn't load texture image %s\n", filename); | ||||
|       exit(1); | ||||
|    } | ||||
|    assert(format == GL_RGB); | ||||
|  | ||||
|    /* <sigh> the way the texture cube mapping works, we have to flip | ||||
|     * images to make things look right. | ||||
|     */ | ||||
|    if (flipTB) { | ||||
|       const int stride = 3 * w; | ||||
|       GLubyte temp[3*1024]; | ||||
|       int i; | ||||
|       for (i = 0; i < h / 2; i++) { | ||||
|          memcpy(temp, img + i * stride, stride); | ||||
|          memcpy(img + i * stride, img + (h - i - 1) * stride, stride); | ||||
|          memcpy(img + (h - i - 1) * stride, temp, stride); | ||||
|       } | ||||
|    } | ||||
|    if (flipLR) { | ||||
|       const int stride = 3 * w; | ||||
|       GLubyte temp[3]; | ||||
|       GLubyte *row; | ||||
|       int i, j; | ||||
|       for (i = 0; i < h; i++) { | ||||
|          row = img + i * stride; | ||||
|          for (j = 0; j < w / 2; j++) { | ||||
|             int k = w - j - 1; | ||||
|             temp[0] = row[j*3+0]; | ||||
|             temp[1] = row[j*3+1]; | ||||
|             temp[2] = row[j*3+2]; | ||||
|             row[j*3+0] = row[k*3+0]; | ||||
|             row[j*3+1] = row[k*3+1]; | ||||
|             row[j*3+2] = row[k*3+2]; | ||||
|             row[k*3+0] = temp[0]; | ||||
|             row[k*3+1] = temp[1]; | ||||
|             row[k*3+2] = temp[2]; | ||||
|          } | ||||
|       } | ||||
|    } | ||||
|  | ||||
|    gluBuild2DMipmaps(target, GL_RGB, w, h, format, GL_UNSIGNED_BYTE, img); | ||||
|    free(img); | ||||
| } | ||||
|  | ||||
|  | ||||
| static void load_envmaps(void) | ||||
| { | ||||
|    load(GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB, "right.rgb", GL_TRUE, GL_FALSE); | ||||
|    load(GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB, "left.rgb", GL_TRUE, GL_FALSE); | ||||
|    load(GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB, "top.rgb", GL_FALSE, GL_TRUE); | ||||
|    load(GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB, "bottom.rgb", GL_FALSE, GL_TRUE); | ||||
|    load(GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB, "front.rgb", GL_TRUE, GL_FALSE); | ||||
|    load(GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB, "back.rgb", GL_TRUE, GL_FALSE); | ||||
| } | ||||
|  | ||||
|  | ||||
| static void init( GLboolean useImageFiles ) | ||||
| { | ||||
|    GLenum filter; | ||||
|  | ||||
|    /* check for extension */ | ||||
|    { | ||||
|       char *exten = (char *) glGetString(GL_EXTENSIONS); | ||||
|       if (!strstr(exten, "GL_ARB_texture_cube_map")) { | ||||
|          printf("Sorry, this demo requires GL_ARB_texture_cube_map\n"); | ||||
|          exit(0); | ||||
|       } | ||||
|    } | ||||
|    printf("GL_RENDERER: %s\n", (char *) glGetString(GL_RENDERER)); | ||||
|  | ||||
|    if (useImageFiles) { | ||||
|       load_envmaps(); | ||||
|       filter = GL_LINEAR; | ||||
|    } | ||||
|    else { | ||||
|       init_checkers(); | ||||
|       filter = GL_NEAREST; | ||||
|    } | ||||
|  | ||||
|    glTexParameteri(GL_TEXTURE_CUBE_MAP_ARB, GL_TEXTURE_MIN_FILTER, filter); | ||||
|    glTexParameteri(GL_TEXTURE_CUBE_MAP_ARB, GL_TEXTURE_MAG_FILTER, filter); | ||||
|    glTexParameteri(GL_TEXTURE_CUBE_MAP_ARB, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); | ||||
|    glTexParameteri(GL_TEXTURE_CUBE_MAP_ARB, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); | ||||
|  | ||||
|    glEnable(GL_TEXTURE_CUBE_MAP_ARB); | ||||
|    glEnable(GL_DEPTH_TEST); | ||||
|  | ||||
|    glClearColor(.3, .3, .3, 0); | ||||
|    glColor3f( 1.0, 1.0, 1.0 ); | ||||
| @@ -229,16 +386,21 @@ static void usage(void) | ||||
|    printf("  SPACE - toggle animation\n"); | ||||
|    printf("  CURSOR KEYS - rotation\n"); | ||||
|    printf("  m - toggle texgen reflection mode\n"); | ||||
|    printf("  z/Z - change viewing distance\n"); | ||||
| } | ||||
|  | ||||
|  | ||||
| int main( int argc, char *argv[] ) | ||||
| { | ||||
|    glutInitWindowPosition(0, 0); | ||||
|    glutInitWindowSize(300, 300); | ||||
|    glutInitWindowSize(600, 500); | ||||
|    glutInitDisplayMode( GLUT_RGB | GLUT_DEPTH | GLUT_DOUBLE ); | ||||
|    glutCreateWindow("Texture Cube Maping"); | ||||
|    init(); | ||||
|  | ||||
|    if (argc > 1 && strcmp(argv[1] , "-i") == 0) | ||||
|       init( 1 ); | ||||
|    else | ||||
|       init( 0 ); | ||||
|    glutReshapeFunc( reshape ); | ||||
|    glutKeyboardFunc( key ); | ||||
|    glutSpecialFunc( specialkey ); | ||||
|   | ||||
| @@ -9,8 +9,8 @@ | ||||
|  | ||||
| ##### MACROS ##### | ||||
|  | ||||
| INCDIR = [-.include] | ||||
| CFLAGS = /include=$(INCDIR)/prefix=all | ||||
| INCDIR = ([-.include],[-.util]) | ||||
| CFLAGS = /include=$(INCDIR)/prefix=all/name=(as_is,short) | ||||
|  | ||||
| .ifdef SHARE | ||||
| GL_LIBS = $(XLIBS) | ||||
| @@ -28,7 +28,7 @@ PROGS = bounce.exe;,clearspd.exe;,drawpix.exe;,gamma.exe;,gears.exe;,\ | ||||
|  | ||||
| ##### RULES ##### | ||||
| .obj.exe : | ||||
| 	link $(MMS$TARGET_NAME),$(GL_LIBS) | ||||
| 	cxxlink $(MMS$TARGET_NAME),$(GL_LIBS) | ||||
|  | ||||
| ##### TARGETS ##### | ||||
| default : | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| /* $Id: drawpix.c,v 1.3 1999/10/28 18:23:29 brianp Exp $ */ | ||||
| /* $Id: drawpix.c,v 1.8 2002/07/12 15:54:02 brianp Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * glDrawPixels demo/test/benchmark | ||||
| @@ -6,38 +6,12 @@ | ||||
|  * Brian Paul   September 25, 1997  This file is in the public domain. | ||||
|  */ | ||||
|  | ||||
| /* | ||||
|  * $Log: drawpix.c,v $ | ||||
|  * Revision 1.3  1999/10/28 18:23:29  brianp | ||||
|  * minor changes to Usage() function | ||||
|  * | ||||
|  * Revision 1.2  1999/10/21 22:13:58  brianp | ||||
|  * added f key to toggle front/back drawing | ||||
|  * | ||||
|  * Revision 1.1.1.1  1999/08/19 00:55:40  jtg | ||||
|  * Imported sources | ||||
|  * | ||||
|  * Revision 3.3  1999/03/28 18:18:33  brianp | ||||
|  * minor clean-up | ||||
|  * | ||||
|  * Revision 3.2  1998/11/05 04:34:04  brianp | ||||
|  * moved image files to ../images/ directory | ||||
|  * | ||||
|  * Revision 3.1  1998/02/22 16:43:17  brianp | ||||
|  * added a few casts to silence compiler warnings | ||||
|  * | ||||
|  * Revision 3.0  1998/02/14 18:42:29  brianp | ||||
|  * initial rev | ||||
|  * | ||||
|  */ | ||||
|  | ||||
|  | ||||
| #include <stdio.h> | ||||
| #include <stdlib.h> | ||||
| #include <math.h> | ||||
| #include <GL/glut.h> | ||||
|  | ||||
| #include "../util/readtex.c"  /* a hack, I know */ | ||||
| #include "readtex.c" | ||||
|  | ||||
| #define IMAGE_FILE "../images/girl.rgb" | ||||
|  | ||||
| @@ -49,9 +23,11 @@ static int Xpos, Ypos; | ||||
| static int SkipPixels, SkipRows; | ||||
| static int DrawWidth, DrawHeight; | ||||
| static int Scissor = 0; | ||||
| static int Fog = 0; | ||||
| static GLfloat Zpos = -1.0; | ||||
| static float Xzoom, Yzoom; | ||||
| static GLboolean DrawFront = GL_FALSE; | ||||
|  | ||||
| static GLboolean Dither = GL_TRUE; | ||||
|  | ||||
|  | ||||
| static void Reset( void ) | ||||
| @@ -61,6 +37,8 @@ static void Reset( void ) | ||||
|    DrawHeight = ImgHeight; | ||||
|    SkipPixels = SkipRows = 0; | ||||
|    Scissor = 0; | ||||
|    Fog = 0; | ||||
|    Zpos = -1.0; | ||||
|    Xzoom = Yzoom = 1.0; | ||||
| } | ||||
|  | ||||
| @@ -73,7 +51,7 @@ static void Display( void ) | ||||
|    glRasterPos2i(Xpos, Ypos); | ||||
| #else | ||||
|    /* This allows negative raster positions: */ | ||||
|    glRasterPos2i(0, 0); | ||||
|    glRasterPos3f(0, 0, Zpos); | ||||
|    glBitmap(0, 0, 0, 0, Xpos, Ypos, NULL); | ||||
| #endif | ||||
|  | ||||
| @@ -85,9 +63,13 @@ static void Display( void ) | ||||
|    if (Scissor) | ||||
|       glEnable(GL_SCISSOR_TEST); | ||||
|  | ||||
|    if (Fog) | ||||
|       glEnable(GL_FOG); | ||||
|  | ||||
|    glDrawPixels(DrawWidth, DrawHeight, ImgFormat, GL_UNSIGNED_BYTE, Image); | ||||
|  | ||||
|    glDisable(GL_SCISSOR_TEST); | ||||
|    glDisable(GL_FOG); | ||||
|  | ||||
|    if (!DrawFront) | ||||
|       glutSwapBuffers(); | ||||
| @@ -107,6 +89,8 @@ static void Benchmark( void ) | ||||
|    glPixelZoom( Xzoom, Yzoom ); | ||||
|    if (Scissor) | ||||
|       glEnable(GL_SCISSOR_TEST); | ||||
|    if (Fog) | ||||
|       glEnable(GL_FOG); | ||||
|  | ||||
|    if (DrawFront) | ||||
|       glDrawBuffer(GL_FRONT); | ||||
| @@ -124,6 +108,7 @@ static void Benchmark( void ) | ||||
|  | ||||
|    /* GL clean-up */ | ||||
|    glDisable(GL_SCISSOR_TEST); | ||||
|    glDisable(GL_FOG); | ||||
|  | ||||
|    /* Results */ | ||||
|    seconds = (double) (endTime - startTime) / 1000.0; | ||||
| @@ -138,7 +123,7 @@ static void Reshape( int width, int height ) | ||||
|    glViewport( 0, 0, width, height ); | ||||
|    glMatrixMode( GL_PROJECTION ); | ||||
|    glLoadIdentity(); | ||||
|    glOrtho( 0.0, width, 0.0, height, -1.0, 1.0 ); | ||||
|    glOrtho( 0.0, width, 0.0, height, 0.0, 2.0 ); | ||||
|    glMatrixMode( GL_MODELVIEW ); | ||||
|    glLoadIdentity(); | ||||
|  | ||||
| @@ -154,6 +139,13 @@ static void Key( unsigned char key, int x, int y ) | ||||
|       case ' ': | ||||
|          Reset(); | ||||
|          break; | ||||
|       case 'd': | ||||
|          Dither = !Dither; | ||||
|          if (Dither) | ||||
|             glEnable(GL_DITHER); | ||||
|          else | ||||
|             glDisable(GL_DITHER); | ||||
|          break; | ||||
|       case 'w': | ||||
|          if (DrawWidth > 0) | ||||
|             DrawWidth--; | ||||
| @@ -197,9 +189,21 @@ static void Key( unsigned char key, int x, int y ) | ||||
|       case 'Y': | ||||
|          Yzoom += 0.1; | ||||
|          break; | ||||
|       case 'z': | ||||
|          Zpos -= 0.1; | ||||
|          printf("RasterPos Z = %g\n", Zpos); | ||||
|          break; | ||||
|       case 'Z': | ||||
|          Zpos += 0.1; | ||||
|          printf("RasterPos Z = %g\n", Zpos); | ||||
|          break; | ||||
|       case 'b': | ||||
|          Benchmark(); | ||||
|          break; | ||||
|       case 'F': | ||||
|          Fog = !Fog; | ||||
|          printf("Fog %d\n", Fog); | ||||
|          break; | ||||
|       case 'f': | ||||
|          DrawFront = !DrawFront; | ||||
|          if (DrawFront) | ||||
| @@ -240,6 +244,8 @@ static void SpecialKey( int key, int x, int y ) | ||||
|  | ||||
| static void Init( GLboolean ciMode ) | ||||
| { | ||||
|    static const GLfloat fogColor[4] = {0, 1, 0, 0}; | ||||
|  | ||||
|    printf("GL_VERSION = %s\n", (char *) glGetString(GL_VERSION)); | ||||
|    printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER)); | ||||
|  | ||||
| @@ -251,7 +257,7 @@ static void Init( GLboolean ciMode ) | ||||
|  | ||||
|    if (ciMode) { | ||||
|       /* Convert RGB image to grayscale */ | ||||
|       GLubyte *indexImage = malloc( ImgWidth * ImgHeight ); | ||||
|       GLubyte *indexImage = (GLubyte *) malloc( ImgWidth * ImgHeight ); | ||||
|       GLint i; | ||||
|       for (i=0; i<ImgWidth*ImgHeight; i++) { | ||||
|          int gray = Image[i*3] + Image[i*3+1] + Image[i*3+2]; | ||||
| @@ -272,6 +278,11 @@ static void Init( GLboolean ciMode ) | ||||
|    glPixelStorei(GL_UNPACK_ALIGNMENT, 1); | ||||
|    glPixelStorei(GL_UNPACK_ROW_LENGTH, ImgWidth); | ||||
|  | ||||
|    glFogi(GL_FOG_MODE, GL_LINEAR); | ||||
|    glFogf(GL_FOG_START, 0); | ||||
|    glFogf(GL_FOG_END, 2); | ||||
|    glFogfv(GL_FOG_COLOR, fogColor); | ||||
|  | ||||
|    Reset(); | ||||
| } | ||||
|  | ||||
| @@ -295,6 +306,10 @@ static void Usage(void) | ||||
|    printf("           r  Decrease GL_UNPACK_SKIP_ROWS*\n"); | ||||
|    printf("           R  Increase GL_UNPACK_SKIP_ROWS*\n"); | ||||
|    printf("           s  Toggle GL_SCISSOR_TEST\n"); | ||||
|    printf("           F  Toggle GL_FOG\n"); | ||||
|    printf("           z  Decrease RasterPos Z\n"); | ||||
|    printf("           Z  Increase RasterPos Z\n"); | ||||
|     | ||||
|    printf("           f  Toggle front/back buffer drawing\n"); | ||||
|    printf("           b  Benchmark test\n"); | ||||
|    printf("         ESC  Exit\n"); | ||||
| @@ -318,7 +333,7 @@ int main( int argc, char *argv[] ) | ||||
|    if (ciMode) | ||||
|       glutInitDisplayMode( GLUT_INDEX | GLUT_DOUBLE ); | ||||
|    else | ||||
|       glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE ); | ||||
|       glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE); | ||||
|  | ||||
|    glutCreateWindow(argv[0]); | ||||
|  | ||||
|   | ||||
| @@ -17,7 +17,7 @@ | ||||
| #endif | ||||
|  | ||||
| #include <GL/glut.h> | ||||
| #include "../util/readtex.c" | ||||
| #include "readtex.c" | ||||
|  | ||||
| #ifdef XMESA | ||||
| #include "GL/xmesa.h" | ||||
| @@ -71,7 +71,10 @@ static int fullscreen = 1; | ||||
| static int WIDTH = 640; | ||||
| static int HEIGHT = 480; | ||||
|  | ||||
| #define FRAME 50 | ||||
| static GLint T0 = 0; | ||||
| static GLint Frames = 0; | ||||
| static GLint NiceFog = 1; | ||||
|  | ||||
| #define DIMP 20.0 | ||||
| #define DIMTP 16.0 | ||||
|  | ||||
| @@ -136,21 +139,6 @@ static float v = 0.0; | ||||
| static float alpha = -90.0; | ||||
| static float beta = 90.0; | ||||
|  | ||||
| static float | ||||
| gettime(void) | ||||
| { | ||||
|    static clock_t told = 0; | ||||
|    clock_t tnew, ris; | ||||
|  | ||||
|    tnew = clock(); | ||||
|  | ||||
|    ris = tnew - told; | ||||
|  | ||||
|    told = tnew; | ||||
|  | ||||
|    return (ris / (float) CLOCKS_PER_SEC); | ||||
| } | ||||
|  | ||||
| static float | ||||
| vrnd(void) | ||||
| { | ||||
| @@ -269,6 +257,13 @@ calcposobs(void) | ||||
|    dir[2] = cos(alpha * M_PI / 180.0) * sin(beta * M_PI / 180.0); | ||||
|    dir[1] = cos(beta * M_PI / 180.0); | ||||
|  | ||||
|    if (dir[0] < 1.0e-5 && dir[0] > -1.0e-5) | ||||
|       dir[0] = 0; | ||||
|    if (dir[1] < 1.0e-5 && dir[1] > -1.0e-5) | ||||
|       dir[1] = 0; | ||||
|    if (dir[2] < 1.0e-5 && dir[2] > -1.0e-5) | ||||
|       dir[2] = 0; | ||||
|  | ||||
|    obs[0] += v * dir[0]; | ||||
|    obs[1] += v * dir[1]; | ||||
|    obs[2] += v * dir[2]; | ||||
| @@ -387,13 +382,16 @@ dojoy(void) | ||||
| static void | ||||
| drawfire(void) | ||||
| { | ||||
|    static int count = 0; | ||||
|    static char frbuf[80]; | ||||
|    static char frbuf[80] = ""; | ||||
|    int j; | ||||
|    float fr; | ||||
|  | ||||
|    dojoy(); | ||||
|  | ||||
|    if (NiceFog) | ||||
|       glHint(GL_FOG_HINT, GL_NICEST); | ||||
|    else | ||||
|       glHint(GL_FOG_HINT, GL_DONT_CARE); | ||||
|  | ||||
|    glEnable(GL_DEPTH_TEST); | ||||
|  | ||||
|    if (fog) | ||||
| @@ -416,6 +414,7 @@ drawfire(void) | ||||
|    glEnable(GL_TEXTURE_2D); | ||||
|  | ||||
|    glBindTexture(GL_TEXTURE_2D, groundid); | ||||
| #if 1 | ||||
|    glBegin(GL_QUADS); | ||||
|    glTexCoord2fv(qt[0]); | ||||
|    glVertex3fv(q[0]); | ||||
| @@ -426,6 +425,26 @@ drawfire(void) | ||||
|    glTexCoord2fv(qt[3]); | ||||
|    glVertex3fv(q[3]); | ||||
|    glEnd(); | ||||
| #else | ||||
|    /* Subdivide the ground into a bunch of quads.  This improves fog | ||||
|     * if GL_FOG_HINT != GL_NICEST | ||||
|     */ | ||||
|    { | ||||
|       float x, y; | ||||
|       float dx = 1.0, dy = 1.0; | ||||
|       glBegin(GL_QUADS); | ||||
|       for (y = -DIMP; y < DIMP; y += 1.0) { | ||||
|          for (x = -DIMP; x < DIMP; x += 1.0) { | ||||
|             glTexCoord2f(0, 0);   glVertex3f(x, 0, y); | ||||
|             glTexCoord2f(1, 0);   glVertex3f(x+dx, 0, y); | ||||
|             glTexCoord2f(1, 1);   glVertex3f(x+dx, 0, y+dy); | ||||
|             glTexCoord2f(0, 1);   glVertex3f(x, 0, y+dy); | ||||
|          } | ||||
|       } | ||||
|       glEnd(); | ||||
|    } | ||||
| #endif | ||||
|  | ||||
|  | ||||
|    glEnable(GL_ALPHA_TEST); | ||||
|    glAlphaFunc(GL_GEQUAL, 0.9); | ||||
| @@ -468,11 +487,6 @@ drawfire(void) | ||||
|    } | ||||
|    glEnd(); | ||||
|  | ||||
|    if ((count % FRAME) == 0) { | ||||
|       fr = gettime(); | ||||
|       sprintf(frbuf, "Frame rate: %f", FRAME / fr); | ||||
|    } | ||||
|  | ||||
|    glDisable(GL_TEXTURE_2D); | ||||
|    glDisable(GL_ALPHA_TEST); | ||||
|    glDisable(GL_DEPTH_TEST); | ||||
| @@ -499,7 +513,24 @@ drawfire(void) | ||||
|  | ||||
|    glutSwapBuffers(); | ||||
|  | ||||
|    count++; | ||||
|    Frames++; | ||||
|    { | ||||
|       GLint t = glutGet(GLUT_ELAPSED_TIME); | ||||
|       if (t - T0 >= 2000) { | ||||
|          GLfloat seconds = (t - T0) / 1000.0; | ||||
|          GLfloat fps = Frames / seconds; | ||||
|          sprintf(frbuf, "Frame rate: %f", fps); | ||||
|          T0 = t; | ||||
|          Frames = 0; | ||||
|       } | ||||
|    } | ||||
| } | ||||
|  | ||||
|  | ||||
| static void | ||||
| idle(void) | ||||
| { | ||||
|    glutPostRedisplay(); | ||||
| } | ||||
|  | ||||
|  | ||||
| @@ -520,6 +551,7 @@ special(int key, int x, int y) | ||||
|       beta += 2.0; | ||||
|       break; | ||||
|    } | ||||
|    glutPostRedisplay(); | ||||
| } | ||||
|  | ||||
| static void | ||||
| @@ -567,7 +599,12 @@ key(unsigned char key, int x, int y) | ||||
|       fullscreen = (!fullscreen); | ||||
|       break; | ||||
| #endif | ||||
|    case 'n': | ||||
|       NiceFog = !NiceFog; | ||||
|       printf("NiceFog %d\n", NiceFog); | ||||
|       break; | ||||
|    } | ||||
|    glutPostRedisplay(); | ||||
| } | ||||
|  | ||||
| static void | ||||
| @@ -623,7 +660,7 @@ inittextures(void) | ||||
|  | ||||
|       if ((gluerr = gluBuild2DMipmaps(GL_TEXTURE_2D, 4, 128, 128, GL_RGBA, | ||||
| 				      GL_UNSIGNED_BYTE, (GLvoid *) (tex)))) { | ||||
| 	 fprintf(stderr, "GLULib%s\n", gluErrorString(gluerr)); | ||||
| 	 fprintf(stderr, "GLULib%s\n", (char *) gluErrorString(gluerr)); | ||||
| 	 exit(-1); | ||||
|       } | ||||
|    } | ||||
| @@ -671,8 +708,6 @@ main(int ac, char **av) | ||||
|  | ||||
|    /* Default settings */ | ||||
|  | ||||
|    WIDTH = 640; | ||||
|    HEIGHT = 480; | ||||
|    np = 800; | ||||
|    eject_r = 0.1; | ||||
|    dt = 0.015; | ||||
| @@ -716,11 +751,8 @@ main(int ac, char **av) | ||||
|    glFogi(GL_FOG_MODE, GL_EXP); | ||||
|    glFogfv(GL_FOG_COLOR, fogcolor); | ||||
|    glFogf(GL_FOG_DENSITY, 0.1); | ||||
| #ifdef FX | ||||
|    glHint(GL_FOG_HINT, GL_NICEST); | ||||
| #endif | ||||
|  | ||||
|    p = malloc(sizeof(part) * np); | ||||
|    p = (part *) malloc(sizeof(part) * np); | ||||
|  | ||||
|    for (i = 0; i < np; i++) | ||||
|       setnewpart(&p[i]); | ||||
| @@ -730,7 +762,7 @@ main(int ac, char **av) | ||||
|    glutKeyboardFunc(key); | ||||
|    glutSpecialFunc(special); | ||||
|    glutDisplayFunc(drawfire); | ||||
|    glutIdleFunc(drawfire); | ||||
|    glutIdleFunc(idle); | ||||
|    glutReshapeFunc(reshape); | ||||
|    glutMainLoop(); | ||||
|  | ||||
|   | ||||
| @@ -1,5 +1,4 @@ | ||||
|  | ||||
| /* $Id: gamma.c,v 1.2 2000/03/18 01:13:29 brianp Exp $ */ | ||||
| /* $Id: gamma.c,v 1.3 2002/04/22 16:03:37 brianp Exp $ */ | ||||
|  | ||||
| /* Draw test patterns to help determine correct gamma value for a display. | ||||
|    When the intensities of the inner squares nearly match the intensities | ||||
| @@ -23,22 +22,6 @@ | ||||
|  | ||||
| /* Conversion to GLUT by Mark J. Kilgard */ | ||||
|  | ||||
| /* | ||||
|  * $Log: gamma.c,v $ | ||||
|  * Revision 1.2  2000/03/18 01:13:29  brianp | ||||
|  * colors were computed incorrectly (Hans Nelles) | ||||
|  * | ||||
|  * Revision 1.1.1.1  1999/08/19 00:55:40  jtg | ||||
|  * Imported sources | ||||
|  * | ||||
|  * Revision 3.1  1999/06/19 01:35:38  brianp | ||||
|  * merged in Kai Schuetz's RGB changes | ||||
|  * | ||||
|  * Revision 3.0  1998/02/14 18:42:29  brianp | ||||
|  * initial rev | ||||
|  * | ||||
|  */ | ||||
|  | ||||
|  | ||||
| #include <stdio.h> | ||||
| #include <string.h> | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| /* $Id: gears.c,v 1.6 2000/04/06 02:22:59 brianp Exp $ */ | ||||
| /* $Id: gears.c,v 1.6.12.1 2003/02/23 19:25:07 keithw Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * 3-D gear wheels.  This program is in the public domain. | ||||
| @@ -59,7 +59,7 @@ gear(GLfloat inner_radius, GLfloat outer_radius, GLfloat width, | ||||
|  | ||||
|   glShadeModel(GL_FLAT); | ||||
|  | ||||
|   glNormal3f(0.0, 0.0, 1.0); | ||||
| /*   glNormal3f(0.0, 0.0, 1.0); */ | ||||
|  | ||||
|   /* draw front face */ | ||||
|   glBegin(GL_QUAD_STRIP); | ||||
| @@ -87,7 +87,7 @@ gear(GLfloat inner_radius, GLfloat outer_radius, GLfloat width, | ||||
|   } | ||||
|   glEnd(); | ||||
|  | ||||
|   glNormal3f(0.0, 0.0, -1.0); | ||||
| /*   glNormal3f(0.0, 0.0, -1.0); */ | ||||
|  | ||||
|   /* draw back face */ | ||||
|   glBegin(GL_QUAD_STRIP); | ||||
| @@ -127,18 +127,18 @@ gear(GLfloat inner_radius, GLfloat outer_radius, GLfloat width, | ||||
|     len = sqrt(u * u + v * v); | ||||
|     u /= len; | ||||
|     v /= len; | ||||
|     glNormal3f(v, -u, 0.0); | ||||
| /*     glNormal3f(v, -u, 0.0); */ | ||||
|     glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), width * 0.5); | ||||
|     glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), -width * 0.5); | ||||
|     glNormal3f(cos(angle), sin(angle), 0.0); | ||||
| /*     glNormal3f(cos(angle), sin(angle), 0.0); */ | ||||
|     glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da), width * 0.5); | ||||
|     glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da), -width * 0.5); | ||||
|     u = r1 * cos(angle + 3 * da) - r2 * cos(angle + 2 * da); | ||||
|     v = r1 * sin(angle + 3 * da) - r2 * sin(angle + 2 * da); | ||||
|     glNormal3f(v, -u, 0.0); | ||||
| /*     glNormal3f(v, -u, 0.0); */ | ||||
|     glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), width * 0.5); | ||||
|     glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), -width * 0.5); | ||||
|     glNormal3f(cos(angle), sin(angle), 0.0); | ||||
| /*     glNormal3f(cos(angle), sin(angle), 0.0); */ | ||||
|   } | ||||
|  | ||||
|   glVertex3f(r1 * cos(0), r1 * sin(0), width * 0.5); | ||||
| @@ -149,10 +149,11 @@ gear(GLfloat inner_radius, GLfloat outer_radius, GLfloat width, | ||||
|   glShadeModel(GL_SMOOTH); | ||||
|  | ||||
|   /* draw inside radius cylinder */ | ||||
|   glColor3f( .5, .5, .5 ); | ||||
|   glBegin(GL_QUAD_STRIP); | ||||
|   for (i = 0; i <= teeth; i++) { | ||||
|     angle = i * 2.0 * M_PI / teeth; | ||||
|     glNormal3f(-cos(angle), -sin(angle), 0.0); | ||||
| /*     glNormal3f(-cos(angle), -sin(angle), 0.0); */ | ||||
|     glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5); | ||||
|     glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5); | ||||
|   } | ||||
| @@ -167,6 +168,11 @@ static GLfloat angle = 0.0; | ||||
| static void | ||||
| draw(void) | ||||
| { | ||||
|   static GLfloat red[4] = {0.8, 0.1, 0.0, 1.0}; | ||||
|   static GLfloat green[4] = {0.0, 0.8, 0.2, 1.0}; | ||||
|   static GLfloat blue[4] = {0.2, 0.2, 1.0, 1.0}; | ||||
|  | ||||
|   glClearColor( 1,0,1,1 ); | ||||
|   glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); | ||||
|  | ||||
|   glPushMatrix(); | ||||
| @@ -177,19 +183,23 @@ draw(void) | ||||
|     glPushMatrix(); | ||||
|       glTranslatef(-3.0, -2.0, 0.0); | ||||
|       glRotatef(angle, 0.0, 0.0, 1.0); | ||||
|       glCallList(gear1); | ||||
|       glColor3fv( red); | ||||
|       gear(1.0, 4.0, 1.0, 20, 0.7); | ||||
|     glPopMatrix(); | ||||
|  | ||||
|  | ||||
|     glPushMatrix(); | ||||
|       glTranslatef(3.1, -2.0, 0.0); | ||||
|       glRotatef(-2.0 * angle - 9.0, 0.0, 0.0, 1.0); | ||||
|       glCallList(gear2); | ||||
|       glColor3fv( green); | ||||
|       gear(0.5, 2.0, 2.0, 10, 0.7); | ||||
|     glPopMatrix(); | ||||
|  | ||||
|     glPushMatrix(); | ||||
|       glTranslatef(-3.1, 4.2, 0.0); | ||||
|       glRotatef(-2.0 * angle - 25.0, 0.0, 0.0, 1.0); | ||||
|       glCallList(gear3); | ||||
|       glColor3fv( blue); | ||||
|       gear(1.3, 2.0, 0.5, 10, 0.7); | ||||
|     glPopMatrix(); | ||||
|  | ||||
|   glPopMatrix(); | ||||
| @@ -284,37 +294,15 @@ static void | ||||
| init(int argc, char *argv[]) | ||||
| { | ||||
|   static GLfloat pos[4] = {5.0, 5.0, 10.0, 0.0}; | ||||
|   static GLfloat red[4] = {0.8, 0.1, 0.0, 1.0}; | ||||
|   static GLfloat green[4] = {0.0, 0.8, 0.2, 1.0}; | ||||
|   static GLfloat blue[4] = {0.2, 0.2, 1.0, 1.0}; | ||||
|   GLint i; | ||||
|  | ||||
|   glLightfv(GL_LIGHT0, GL_POSITION, pos); | ||||
|   glEnable(GL_CULL_FACE); | ||||
|   glEnable(GL_LIGHTING); | ||||
|   glEnable(GL_LIGHT0); | ||||
|   glEnable(GL_DEPTH_TEST); | ||||
| /*   glLightfv(GL_LIGHT0, GL_POSITION, pos); */ | ||||
|    glEnable(GL_CULL_FACE);  | ||||
| /*   glEnable(GL_LIGHTING); */ | ||||
| /*   glEnable(GL_LIGHT0); */ | ||||
| /*   glEnable(GL_DEPTH_TEST); */ | ||||
|  | ||||
|   /* make the gears */ | ||||
|   gear1 = glGenLists(1); | ||||
|   glNewList(gear1, GL_COMPILE); | ||||
|   glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, red); | ||||
|   gear(1.0, 4.0, 1.0, 20, 0.7); | ||||
|   glEndList(); | ||||
|  | ||||
|   gear2 = glGenLists(1); | ||||
|   glNewList(gear2, GL_COMPILE); | ||||
|   glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, green); | ||||
|   gear(0.5, 2.0, 2.0, 10, 0.7); | ||||
|   glEndList(); | ||||
|  | ||||
|   gear3 = glGenLists(1); | ||||
|   glNewList(gear3, GL_COMPILE); | ||||
|   glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, blue); | ||||
|   gear(1.3, 2.0, 0.5, 10, 0.7); | ||||
|   glEndList(); | ||||
|  | ||||
|   glEnable(GL_NORMALIZE); | ||||
| /*   glEnable(GL_NORMALIZE); */ | ||||
|  | ||||
|   for ( i=1; i<argc; i++ ) { | ||||
|     if (strcmp(argv[i], "-info")==0) { | ||||
| @@ -345,7 +333,7 @@ int main(int argc, char *argv[]) | ||||
|   glutInitDisplayMode(GLUT_RGB | GLUT_DEPTH | GLUT_DOUBLE); | ||||
|  | ||||
|   glutInitWindowPosition(0, 0); | ||||
|   glutInitWindowSize(300, 300); | ||||
|   glutInitWindowSize(900, 900); | ||||
|   glutCreateWindow("Gears"); | ||||
|   init(argc, argv); | ||||
|  | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| /* $Id: geartrain.c,v 1.6 2000/04/06 02:22:59 brianp Exp $ */ | ||||
| /* $Id: geartrain.c,v 1.8 2001/10/04 19:14:26 kschultz Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * GearTrain Simulator * Version:  1.00 | ||||
| @@ -32,7 +32,9 @@ | ||||
| #include <string.h> | ||||
| #include <stdio.h> | ||||
|  | ||||
| #ifndef min | ||||
| #define min(x, y) ( x < y ? x : y ) | ||||
| #endif | ||||
|  | ||||
| #ifndef M_PI | ||||
| #define M_PI 3.14159265 | ||||
| @@ -42,7 +44,7 @@ typedef GLfloat TDA[4]; | ||||
| TDA background; | ||||
|  | ||||
|  | ||||
| struct AXLE  | ||||
| struct AXLE | ||||
|   { | ||||
|     char name[20]; | ||||
|       GLint id; | ||||
| @@ -57,7 +59,7 @@ struct AXLE | ||||
|   }; | ||||
|  | ||||
|  | ||||
| struct GEAR  | ||||
| struct GEAR | ||||
|   { | ||||
|     char name[20]; | ||||
|     char type[7]; | ||||
| @@ -79,7 +81,7 @@ struct GEAR | ||||
|   }; | ||||
|  | ||||
|  | ||||
| struct BELT  | ||||
| struct BELT | ||||
|   { | ||||
|     char name[20]; | ||||
|       GLint id; | ||||
| @@ -99,18 +101,23 @@ int number_of_belts; | ||||
|  | ||||
| char Buf1[256], Buf2[256], Buf3[256], Buf4[256], Buf5[256]; | ||||
|  | ||||
| static GLint T0 = 0; | ||||
| static GLint Frames = 0; | ||||
|  | ||||
| static void  | ||||
| strset (char buf[], char ch)  | ||||
|  | ||||
| #ifndef _WIN32 | ||||
| static void | ||||
| strset (char buf[], char ch) | ||||
| { | ||||
|     int i; | ||||
|     for (i = 0; i < strlen (buf); i++) | ||||
|       buf[i] = ch; | ||||
| } | ||||
| #endif | ||||
|  | ||||
|  | ||||
| static void  | ||||
| Clear_Buffers ()  | ||||
| static void | ||||
| Clear_Buffers () | ||||
| { | ||||
|     strset (Buf1, 0); | ||||
|     strset (Buf2, 0); | ||||
| @@ -120,8 +127,8 @@ Clear_Buffers () | ||||
| } | ||||
|  | ||||
|  | ||||
| static void  | ||||
| LoadTriplet (TDA A)  | ||||
| static void | ||||
| LoadTriplet (TDA A) | ||||
| { | ||||
|     Clear_Buffers (); | ||||
|     fscanf (mainfile, "%s %s %s %s", Buf1, Buf2, Buf3, Buf4); | ||||
| @@ -131,8 +138,8 @@ LoadTriplet (TDA A) | ||||
| } | ||||
|  | ||||
|  | ||||
| static void  | ||||
| LoadReal (float *a)  | ||||
| static void | ||||
| LoadReal (float *a) | ||||
| { | ||||
|     Clear_Buffers (); | ||||
|     fscanf (mainfile, "%s %s", Buf1, Buf2); | ||||
| @@ -140,8 +147,8 @@ LoadReal (float *a) | ||||
| } | ||||
|  | ||||
|  | ||||
| static void  | ||||
| LoadInteger (int *a)  | ||||
| static void | ||||
| LoadInteger (int *a) | ||||
| { | ||||
|     Clear_Buffers (); | ||||
|     fscanf (mainfile, "%s %s", Buf1, Buf2); | ||||
| @@ -149,8 +156,8 @@ LoadInteger (int *a) | ||||
| } | ||||
|  | ||||
|  | ||||
| static void  | ||||
| LoadText (char *a)  | ||||
| static void | ||||
| LoadText (char *a) | ||||
| { | ||||
|     Clear_Buffers (); | ||||
|     fscanf (mainfile, "%s %s", Buf1, Buf2); | ||||
| @@ -158,11 +165,11 @@ LoadText (char *a) | ||||
| } | ||||
|  | ||||
|  | ||||
| static void  | ||||
| getdata (char filename[])  | ||||
| static void | ||||
| getdata (char filename[]) | ||||
| { | ||||
|     int gear_count = 0, axle_count = 0, belt_count = 0, i; | ||||
|      | ||||
|  | ||||
|     mainfile = fopen (filename, "r"); | ||||
|     if (!mainfile) { | ||||
|        printf("Error: couldn't open %s\n", filename); | ||||
| @@ -181,92 +188,92 @@ getdata (char filename[]) | ||||
|  | ||||
| 	if (!(strcmp (Buf1, "BACKGROUND"))) | ||||
| 	  LoadTriplet (background); | ||||
|        | ||||
|  | ||||
| 	if (!(strcmp (Buf1, "ANAME"))) | ||||
| 	{ | ||||
| 	    LoadText (a[axle_count].name); | ||||
| 	    axle_count++; | ||||
| 	} | ||||
|        | ||||
|  | ||||
| 	if (!(strcmp (Buf1, "ARADIUS"))) | ||||
| 	  LoadReal (&a[axle_count - 1].radius); | ||||
|        | ||||
|  | ||||
| 	if (!(strcmp (Buf1, "AAXIS"))) | ||||
| 	  LoadInteger (&a[axle_count - 1].axis); | ||||
|        | ||||
|  | ||||
| 	if (!(strcmp (Buf1, "ACOLOR"))) | ||||
| 	  LoadTriplet (a[axle_count - 1].color); | ||||
|        | ||||
|  | ||||
| 	if (!(strcmp (Buf1, "APOSITION"))) | ||||
| 	  LoadTriplet (a[axle_count - 1].position); | ||||
|        | ||||
|  | ||||
| 	if (!(strcmp (Buf1, "ALENGTH"))) | ||||
| 	  LoadReal (&a[axle_count - 1].length); | ||||
|        | ||||
|  | ||||
| 	if (!(strcmp (Buf1, "AMOTORED"))) | ||||
| 	  LoadInteger (&a[axle_count - 1].motored); | ||||
|        | ||||
|  | ||||
| 	if (!(strcmp (Buf1, "AANGULARVELOCITY"))) | ||||
| 	  LoadReal (&a[axle_count - 1].angular_velocity); | ||||
|        | ||||
|  | ||||
| 	if (!(strcmp (Buf1, "ADIRECTION"))) | ||||
| 	  LoadInteger (&a[axle_count - 1].direction); | ||||
|        | ||||
|  | ||||
| 	if (!(strcmp (Buf1, "GNAME"))) | ||||
| 	{ | ||||
| 	    LoadText (g[gear_count].name); | ||||
| 	    gear_count++; | ||||
| 	} | ||||
|        | ||||
|  | ||||
| 	if (!(strcmp (Buf1, "GTYPE"))) | ||||
| 	  LoadText (g[gear_count - 1].type); | ||||
|        | ||||
|  | ||||
| 	if (!(strcmp (Buf1, "GFACE"))) | ||||
| 	  LoadInteger (&g[gear_count - 1].face); | ||||
|        | ||||
|  | ||||
| 	if (!(strcmp (Buf1, "GRADIUS"))) | ||||
| 	  LoadReal (&g[gear_count - 1].radius); | ||||
|        | ||||
|  | ||||
| 	if (!(strcmp (Buf1, "GWIDTH"))) | ||||
| 	  LoadReal (&g[gear_count - 1].width); | ||||
|        | ||||
|  | ||||
| 	if (!(strcmp (Buf1, "GTEETH"))) | ||||
| 	  LoadInteger (&g[gear_count - 1].teeth); | ||||
|        | ||||
|  | ||||
| 	if (!(strcmp (Buf1, "GTOOTHDEPTH"))) | ||||
| 	  LoadReal (&g[gear_count - 1].tooth_depth); | ||||
|        | ||||
|  | ||||
| 	if (!(strcmp (Buf1, "GCOLOR"))) | ||||
| 	  LoadTriplet (g[gear_count - 1].color); | ||||
|        | ||||
|  | ||||
| 	if (!(strcmp (Buf1, "GAXLE"))) | ||||
| 	  LoadText (g[gear_count - 1].axle_name); | ||||
|        | ||||
|  | ||||
| 	if (!(strcmp (Buf1, "GPOSITION"))) | ||||
| 	  LoadInteger (&g[gear_count - 1].relative_position); | ||||
|        | ||||
|  | ||||
| 	if (!(strcmp (Buf1, "BELTNAME"))) | ||||
| 	{ | ||||
| 	    LoadText (b[belt_count].name); | ||||
| 	    belt_count++; | ||||
| 	} | ||||
|        | ||||
|  | ||||
| 	if (!(strcmp (Buf1, "GEAR1NAME"))) | ||||
| 	  LoadText (b[belt_count - 1].gear1_name); | ||||
|        | ||||
|  | ||||
| 	if (!(strcmp (Buf1, "GEAR2NAME"))) | ||||
| 	  LoadText (b[belt_count - 1].gear2_name); | ||||
|     } | ||||
|    | ||||
|  | ||||
|     while (Buf1[0] != 0); | ||||
|    | ||||
|  | ||||
|     for (i = 0; i < number_of_gears; i++) | ||||
|     { | ||||
| 	g[i].axis = -1; | ||||
| 	g[i].direction = 0; | ||||
| 	g[i].angular_velocity = 0.0; | ||||
|     } | ||||
|    | ||||
|  | ||||
|     number_of_gears = gear_count; | ||||
|     number_of_axles = axle_count; | ||||
|     number_of_belts = belt_count; | ||||
| @@ -274,12 +281,12 @@ getdata (char filename[]) | ||||
| } | ||||
|  | ||||
|  | ||||
| static void  | ||||
| axle (GLint j, GLfloat radius, GLfloat length)  | ||||
| static void | ||||
| axle (GLint j, GLfloat radius, GLfloat length) | ||||
| { | ||||
|     GLfloat angle, rad, incr = 10.0 * M_PI / 180.0; | ||||
|      | ||||
|     /* draw main cylinder */  | ||||
|  | ||||
|     /* draw main cylinder */ | ||||
|     glBegin (GL_QUADS); | ||||
|     for (angle = 0.0; angle < 360.0; angle += 5.0) | ||||
|     { | ||||
| @@ -291,8 +298,8 @@ axle (GLint j, GLfloat radius, GLfloat length) | ||||
| 	glVertex3f (radius * cos (rad + incr), radius * sin (rad + incr), length / 2); | ||||
|     } | ||||
|     glEnd (); | ||||
|    | ||||
|     /* draw front face */  | ||||
|  | ||||
|     /* draw front face */ | ||||
|     glNormal3f (0.0, 0.0, 1.0); | ||||
|     glBegin (GL_TRIANGLES); | ||||
|     for (angle = 0.0; angle < 360.0; angle += 5.0) | ||||
| @@ -304,8 +311,8 @@ axle (GLint j, GLfloat radius, GLfloat length) | ||||
| 	glVertex3f (0.0, 0.0, length / 2); | ||||
|     } | ||||
|     glEnd (); | ||||
|      | ||||
|     /* draw back face */  | ||||
|  | ||||
|     /* draw back face */ | ||||
|     glNormal3f (0.0, 0.0, -1.0); | ||||
|     glBegin (GL_TRIANGLES); | ||||
|     for (angle = 0.0; angle <= 360.0; angle += 5.0) | ||||
| @@ -321,9 +328,9 @@ axle (GLint j, GLfloat radius, GLfloat length) | ||||
|  | ||||
|  | ||||
|  | ||||
| static void  | ||||
| gear (GLint j, char type[], GLfloat radius, GLfloat width,  | ||||
|       GLint teeth, GLfloat tooth_depth)  | ||||
| static void | ||||
| gear (GLint j, char type[], GLfloat radius, GLfloat width, | ||||
|       GLint teeth, GLfloat tooth_depth) | ||||
| { | ||||
|     GLint i; | ||||
|     GLfloat r1, r2; | ||||
| @@ -333,7 +340,7 @@ gear (GLint j, char type[], GLfloat radius, GLfloat width, | ||||
|  | ||||
|     r1 = radius - tooth_depth; | ||||
|     r2 = radius; | ||||
|      | ||||
|  | ||||
|     da = 2.0 * M_PI / teeth / 4.0; | ||||
|     if (!g[j].face) | ||||
|     { | ||||
| @@ -346,7 +353,7 @@ gear (GLint j, char type[], GLfloat radius, GLfloat width, | ||||
| 	n = 1.0; | ||||
|     } | ||||
|  | ||||
|     /* draw front face */  | ||||
|     /* draw front face */ | ||||
|     if (!(strcmp (type, "NORMAL"))) | ||||
|     { | ||||
| 	glNormal3f (0.0, 0.0, 1.0 * n); | ||||
| @@ -375,8 +382,8 @@ gear (GLint j, char type[], GLfloat radius, GLfloat width, | ||||
| 	} | ||||
| 	glEnd (); | ||||
|     } | ||||
|    | ||||
|     /* draw front sides of teeth */  | ||||
|  | ||||
|     /* draw front sides of teeth */ | ||||
|     if (!(strcmp (type, "NORMAL"))) | ||||
|     { | ||||
| 	glNormal3f (0.0, 0.0, 1.0 * n); | ||||
| @@ -392,10 +399,10 @@ gear (GLint j, char type[], GLfloat radius, GLfloat width, | ||||
| 	} | ||||
| 	glEnd (); | ||||
|     } | ||||
|    | ||||
|  | ||||
|     glNormal3f (0.0, 0.0, -1.0 * n); | ||||
|    | ||||
|     /* draw back face */  | ||||
|  | ||||
|     /* draw back face */ | ||||
|     glBegin (GL_QUAD_STRIP); | ||||
|     for (i = 0; i <= teeth; i++) | ||||
|     { | ||||
| @@ -406,8 +413,8 @@ gear (GLint j, char type[], GLfloat radius, GLfloat width, | ||||
| 	glVertex3f (0.0, 0.0, -width * fraction); | ||||
|     } | ||||
|     glEnd (); | ||||
|    | ||||
|     /* draw back sides of teeth */  | ||||
|  | ||||
|     /* draw back sides of teeth */ | ||||
|     glNormal3f (0.0, 0.0, -1.0 * n); | ||||
|     glBegin (GL_QUADS); | ||||
|     da = 2.0 * M_PI / teeth / 4.0; | ||||
| @@ -420,16 +427,16 @@ gear (GLint j, char type[], GLfloat radius, GLfloat width, | ||||
| 	glVertex3f (r1 * cos (angle), r1 * sin (angle), -width * fraction); | ||||
|     } | ||||
|     glEnd (); | ||||
|      | ||||
|      | ||||
|     /* draw outward faces of teeth */  | ||||
|  | ||||
|  | ||||
|     /* draw outward faces of teeth */ | ||||
|     if (!(strcmp (type, "NORMAL"))) | ||||
|     { | ||||
| 	glBegin (GL_QUAD_STRIP); | ||||
| 	for (i = 0; i < teeth; i++) | ||||
| 	{ | ||||
| 	    angle = i * 2.0 * M_PI / teeth; | ||||
| 	     | ||||
|  | ||||
| 	    glVertex3f (r1 * cos (angle), r1 * sin (angle), width * fraction); | ||||
| 	    glVertex3f (r1 * cos (angle), r1 * sin (angle), -width * fraction); | ||||
| 	    u = r2 * cos (angle + da) - r1 * cos (angle); | ||||
| @@ -478,27 +485,27 @@ gear (GLint j, char type[], GLfloat radius, GLfloat width, | ||||
| 	    glNormal3f (cos (angle), sin (angle), n); | ||||
| 	} | ||||
|     } | ||||
|      | ||||
|  | ||||
|     glVertex3f (r1 * cos (0), r1 * sin (0), width * fraction); | ||||
|     glVertex3f (r1 * cos (0), r1 * sin (0), -width * fraction); | ||||
|     glEnd (); | ||||
| } | ||||
|  | ||||
|  | ||||
| static void  | ||||
| belt (struct GEAR g1, struct GEAR g2)  | ||||
| static void | ||||
| belt (struct GEAR g1, struct GEAR g2) | ||||
| { | ||||
|     GLfloat D, alpha, phi, angle, incr, width; | ||||
|     GLint indexes[3] = | ||||
|     { | ||||
|        0, 0, 0 | ||||
|     }; | ||||
|      | ||||
|  | ||||
|     GLfloat col[3] = | ||||
|     { | ||||
|        0.0, 0.0, 0.0 | ||||
|     }; | ||||
|      | ||||
|  | ||||
|     width = min (g1.width, g2.width); | ||||
|     D = sqrt (pow (g1.position[0] - g2.position[0], 2) + pow (g1.position[1] - g2.position[1], 2) + pow (g1.position[2] - g2.position[2], 2)); | ||||
|     alpha = acos ((g2.position[0] - g1.position[0]) / D); | ||||
| @@ -545,11 +552,11 @@ belt (struct GEAR g1, struct GEAR g2) | ||||
| } | ||||
|  | ||||
|  | ||||
| static int  | ||||
| axle_find (char axle_name[])  | ||||
| static int | ||||
| axle_find (char axle_name[]) | ||||
| { | ||||
|     int i; | ||||
|      | ||||
|  | ||||
|     for (i = 0; i < number_of_axles; i++) | ||||
|     { | ||||
| 	if (!(strcmp (axle_name, a[i].name))) | ||||
| @@ -559,11 +566,11 @@ axle_find (char axle_name[]) | ||||
| } | ||||
|  | ||||
|  | ||||
| static int  | ||||
| gear_find (char gear_name[])  | ||||
| static int | ||||
| gear_find (char gear_name[]) | ||||
| { | ||||
|     int i; | ||||
|      | ||||
|  | ||||
|     for (i = 0; i < number_of_gears; i++) | ||||
|     { | ||||
| 	if (!(strcmp (gear_name, g[i].name))) | ||||
| @@ -573,13 +580,13 @@ gear_find (char gear_name[]) | ||||
| } | ||||
|  | ||||
|  | ||||
| static void  | ||||
| process ()  | ||||
| static void | ||||
| process () | ||||
| { | ||||
|     GLfloat x, y, z, D, dist; | ||||
|     GLint axle_index, i, j, g1, g2, k; | ||||
|     char error[80]; | ||||
|      | ||||
|  | ||||
|     for (i = 0; i < number_of_gears; i++) | ||||
|     { | ||||
| 	x = 0.0; | ||||
| @@ -599,12 +606,12 @@ process () | ||||
|            y = 1.0; | ||||
|         else | ||||
|            z = 1.0; | ||||
|        | ||||
|  | ||||
| 	g[i].position[0] = a[axle_index].position[0] + x * g[i].relative_position; | ||||
| 	g[i].position[1] = a[axle_index].position[1] + y * g[i].relative_position; | ||||
| 	g[i].position[2] = a[axle_index].position[2] + z * g[i].relative_position; | ||||
|     } | ||||
|    | ||||
|  | ||||
|     for (k = 0; k < number_of_axles; k++) | ||||
|     { | ||||
| 	for (i = 0; i < number_of_gears - 1; i++) | ||||
| @@ -617,11 +624,11 @@ process () | ||||
| 		    if (D < 1.1 * (g[i].radius - g[i].tooth_depth + g[j].radius - g[j].tooth_depth)) | ||||
| 		    { | ||||
| 			printf (error, "Gear %s and %s are too close to each other.", g[i].name, g[j].name); | ||||
| 		       | ||||
|  | ||||
|                         /*MessageBox(NULL,error,windowName,MB_ICONEXCLAMATION|MB_OK);*/ | ||||
| 			exit (1); | ||||
| 		    } | ||||
| 		   | ||||
|  | ||||
| 		    if (g[i].axis == 0) | ||||
| 		    { | ||||
| 			dist = g[i].position[0] - g[j].position[0]; | ||||
| @@ -632,9 +639,9 @@ process () | ||||
| 		    } | ||||
| 		    else | ||||
|                        dist = g[i].position[2] - g[j].position[2]; | ||||
| 		   | ||||
|  | ||||
| 		    dist = fabs (dist); | ||||
| 		     | ||||
|  | ||||
| 		    if (dist < (g[i].width / 2 + g[j].width / 2)) | ||||
| 		    { | ||||
| 			if ((g[i].motored) && (!(g[j].motored)) && (D < 0.95 * (g[i].radius + g[j].radius))) | ||||
| @@ -646,13 +653,13 @@ process () | ||||
|                                 /*MessageBox(NULL,error,windowName,MB_ICONEXCLAMATION|MB_OK);*/ | ||||
| 				exit (1); | ||||
| 			    } | ||||
| 			   | ||||
|  | ||||
| 			    g[j].motored = (a[axle_index].motored = 1); | ||||
| 			    g[j].direction = (a[axle_index].direction = -g[i].direction); | ||||
| 			    a[axle_index].angular_velocity = g[i].angular_velocity * g[i].teeth / g[j].teeth; | ||||
| 			    g[j].angular_velocity = (a[axle_index].angular_velocity *= g[i].radius / g[j].radius); | ||||
| 			} | ||||
| 		       | ||||
|  | ||||
| 			if ((!(g[i].motored)) && (g[j].motored) && (D < 0.95 * (g[i].radius + g[j].radius))) | ||||
| 			{ | ||||
| 			    axle_index = axle_find (g[i].axle_name); | ||||
| @@ -662,16 +669,16 @@ process () | ||||
|                                 /*MessageBox(NULL,error,windowName,MB_ICONEXCLAMATION|MB_OK);*/ | ||||
| 				exit (1); | ||||
| 			    } | ||||
| 			   | ||||
|  | ||||
| 			    g[i].motored = (a[axle_index].motored = 1); | ||||
| 			    g[i].direction = (a[axle_index].direction = -g[j].direction); | ||||
| 			    a[axle_index].angular_velocity = g[j].angular_velocity * g[j].teeth / g[i].teeth; | ||||
| 			    g[i].angular_velocity = (a[axle_index].angular_velocity *= g[j].radius / g[i].radius); | ||||
| 			   | ||||
|  | ||||
| 			} | ||||
| 		    } | ||||
| 		} | ||||
| 	       | ||||
|  | ||||
| 		if (!(strcmp (g[i].type, g[j].type)) && (!(strcmp (g[i].type, "BEVEL"))) && ((strcmp (g[i].axle_name, g[j].axle_name) != 0)) && (g[i].axis != g[j].axis)) | ||||
| 		{ | ||||
| 		    D = sqrt (pow (g[i].position[0] - g[j].position[0], 2) + pow (g[i].position[1] - g[j].position[1], 2) + pow (g[i].position[2] - g[j].position[2], 2)); | ||||
| @@ -689,8 +696,8 @@ process () | ||||
| 			a[axle_index].angular_velocity = g[i].angular_velocity * g[i].teeth / g[j].teeth; | ||||
| 			g[j].angular_velocity = (a[axle_index].angular_velocity *= g[i].radius / g[j].radius); | ||||
| 		    } | ||||
| 		   | ||||
| 		     | ||||
|  | ||||
|  | ||||
| 		    if ((!(g[i].motored)) && (g[j].motored) && (D < 0.95 * sqrt (g[i].radius * g[i].radius + g[j].radius * g[j].radius))) | ||||
| 		    { | ||||
| 			axle_index = axle_find (g[i].axle_name); | ||||
| @@ -708,7 +715,7 @@ process () | ||||
| 		} | ||||
| 	    } | ||||
| 	} | ||||
|        | ||||
|  | ||||
| 	for (i = 0; i < number_of_gears; i++) | ||||
| 	{ | ||||
| 	    axle_index = axle_find (g[i].axle_name); | ||||
| @@ -719,7 +726,7 @@ process () | ||||
| 		g[i].angular_velocity = a[axle_index].angular_velocity; | ||||
| 	    } | ||||
| 	} | ||||
|        | ||||
|  | ||||
| 	for (i = 0; i < number_of_belts; i++) | ||||
| 	{ | ||||
| 	    g1 = gear_find (b[i].gear1_name); | ||||
| @@ -731,7 +738,7 @@ process () | ||||
|                 /*MessageBox(NULL,error,windowName,MB_ICONEXCLAMATION|MB_OK);*/ | ||||
| 		exit (1); | ||||
| 	    } | ||||
| 	   | ||||
|  | ||||
| 	    if ((g[g1].axis == g[g2].axis) && (!strcmp (g[g1].type, g[g2].type)) && (!strcmp (g[g1].type, "NORMAL"))) | ||||
| 	    { | ||||
| 	      /* | ||||
| @@ -742,7 +749,7 @@ process () | ||||
| 	         MessageBox(NULL,error,windowName,MB_ICONEXCLAMATION|MB_OK); | ||||
| 	         exit(1); | ||||
| 	         } | ||||
|               */  | ||||
|               */ | ||||
|                if (g[g1].axis == 0) | ||||
|                   { | ||||
| 		    dist = g[g1].position[0] - g[g2].position[0]; | ||||
| @@ -753,16 +760,16 @@ process () | ||||
| 		} | ||||
| 		else | ||||
|                    dist = g[g1].position[2] - g[g2].position[2]; | ||||
| 	       | ||||
|  | ||||
| 		dist = fabs (dist); | ||||
| 		 | ||||
|  | ||||
| 		if (dist > (g[g1].width / 2 + g[g2].width / 2)) | ||||
| 		{ | ||||
| 		    printf (error, "Belt %s invalid.", b[i].name); | ||||
|                     /*MessageBox(NULL,error,windowName,MB_ICONEXCLAMATION|MB_OK);*/ | ||||
| 		    exit (1); | ||||
| 		} | ||||
| 	       | ||||
|  | ||||
| 		if (dist < (g[g1].width / 2 + g[g2].width / 2)) | ||||
| 		{ | ||||
| 		    if (D < g[g1].radius + g[g2].radius) | ||||
| @@ -771,7 +778,7 @@ process () | ||||
|                         /*MessageBox(NULL,error,windowName,MB_ICONEXCLAMATION|MB_OK);*/ | ||||
| 			exit (1); | ||||
| 		    } | ||||
| 		   | ||||
|  | ||||
| 		    if ((g[g1].motored) && (!(g[g2].motored))) | ||||
| 		    { | ||||
| 			axle_index = axle_find (g[g2].axle_name); | ||||
| @@ -779,7 +786,7 @@ process () | ||||
| 			g[g2].direction = (a[axle_index].direction = g[g1].direction); | ||||
| 			g[g2].angular_velocity = (a[axle_index].angular_velocity = g[g1].angular_velocity * g[g1].radius / g[g2].radius); | ||||
| 		    } | ||||
| 		   | ||||
|  | ||||
| 		    if ((!(g[g1].motored)) && (g[g2].motored)) | ||||
| 		    { | ||||
| 			axle_index = axle_find (g[g1].axle_name); | ||||
| @@ -790,7 +797,7 @@ process () | ||||
| 		} | ||||
| 	    } | ||||
| 	} | ||||
|        | ||||
|  | ||||
| 	for (i = 0; i < number_of_gears; i++) | ||||
| 	{ | ||||
| 	    axle_index = axle_find (g[i].axle_name); | ||||
| @@ -809,20 +816,20 @@ process () | ||||
| GLfloat view_rotx = 20.0, view_roty = 30.0, view_rotz = 10.0; | ||||
|  | ||||
|  | ||||
| static void  | ||||
| draw (void)  | ||||
| static void | ||||
| draw (void) | ||||
| { | ||||
|     int i; | ||||
|     GLfloat x, y, z; | ||||
|     int index; | ||||
|  | ||||
|     glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); | ||||
|      | ||||
|  | ||||
|     glPushMatrix (); | ||||
|     glRotatef (view_rotx, 1.0, 0.0, 0.0); | ||||
|     glRotatef (view_roty, 0.0, 1.0, 0.0); | ||||
|     glRotatef (view_rotz, 0.0, 0.0, 1.0); | ||||
|      | ||||
|  | ||||
|     for (i = 0; i < number_of_gears; i++) | ||||
|     { | ||||
| 	x = 0.0; | ||||
| @@ -837,15 +844,15 @@ draw (void) | ||||
|            x = 1.0; | ||||
|         else | ||||
|            z = 1.0; | ||||
|        | ||||
|  | ||||
| 	if (z != 1.0) | ||||
|            glRotatef (90.0, x, y, z); | ||||
|        | ||||
|  | ||||
| 	glRotatef (g[i].direction * g[i].angle, 0.0, 0.0, 1.0); | ||||
| 	glCallList (g[i].id); | ||||
| 	glPopMatrix (); | ||||
|     } | ||||
|    | ||||
|  | ||||
|     for (i = 0; i < number_of_axles; i++) | ||||
|     { | ||||
| 	x = 0.0; | ||||
| @@ -862,11 +869,11 @@ draw (void) | ||||
|  | ||||
| 	if (z != 1.0) | ||||
|            glRotatef (90.0, x, y, z); | ||||
|        | ||||
|  | ||||
| 	glCallList (a[i].id); | ||||
| 	glPopMatrix (); | ||||
|     } | ||||
|    | ||||
|  | ||||
|     for (i = 0; i < number_of_belts; i++) | ||||
|     { | ||||
| 	x = 0.0; | ||||
| @@ -881,23 +888,35 @@ draw (void) | ||||
|            x = 1.0; | ||||
|         else | ||||
|            z = 1.0; | ||||
|        | ||||
|  | ||||
| 	if (z != 1.0) | ||||
|            glRotatef (90.0, x, y, z); | ||||
|        | ||||
|  | ||||
| 	glCallList (b[i].id); | ||||
| 	glPopMatrix (); | ||||
|     } | ||||
|    | ||||
|  | ||||
|     glPopMatrix (); | ||||
|     glutSwapBuffers (); | ||||
|  | ||||
|     { | ||||
| 	GLint t = glutGet(GLUT_ELAPSED_TIME); | ||||
| 	Frames++; | ||||
| 	if (t - T0 >= 5000) { | ||||
| 	    GLfloat seconds = (t - T0) / 1000.0; | ||||
| 	    GLfloat fps = Frames / seconds; | ||||
| 	    printf("%d frames in %g seconds = %g FPS\n", Frames, seconds, fps); | ||||
| 	    T0 = t; | ||||
| 	    Frames = 0; | ||||
| 	} | ||||
|     } | ||||
| } | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| static void  | ||||
| idle (void)  | ||||
| static void | ||||
| idle (void) | ||||
| { | ||||
|     int i; | ||||
|     for (i = 0; i < number_of_gears; i++) | ||||
| @@ -908,9 +927,9 @@ idle (void) | ||||
|  | ||||
|  | ||||
|  | ||||
| /* change view angle, exit upon ESC */  | ||||
| static void  | ||||
| key (unsigned char k, int x, int y)  | ||||
| /* change view angle, exit upon ESC */ | ||||
| static void | ||||
| key (unsigned char k, int x, int y) | ||||
| { | ||||
|     switch (k) | ||||
|     { | ||||
| @@ -940,9 +959,9 @@ key (unsigned char k, int x, int y) | ||||
|  | ||||
|  | ||||
|  | ||||
| /* new window size or exposure */  | ||||
| static void  | ||||
| reshape (int width, int height)  | ||||
| /* new window size or exposure */ | ||||
| static void | ||||
| reshape (int width, int height) | ||||
| { | ||||
|     glViewport (0, 0, (GLint) width, (GLint) height); | ||||
|     glMatrixMode (GL_PROJECTION); | ||||
| @@ -957,7 +976,7 @@ reshape (int width, int height) | ||||
| 	GLfloat h = (GLfloat) height / (GLfloat) width; | ||||
| 	glFrustum (-1.0, 1.0, -h, h, 5.0, 60.0); | ||||
|     } | ||||
|      | ||||
|  | ||||
|     glMatrixMode (GL_MODELVIEW); | ||||
|     glLoadIdentity (); | ||||
|     glTranslatef (0.0, 0.0, -40.0); | ||||
| @@ -966,8 +985,8 @@ reshape (int width, int height) | ||||
|  | ||||
|  | ||||
|  | ||||
| static void  | ||||
| init (void)  | ||||
| static void | ||||
| init (void) | ||||
| { | ||||
|     GLfloat matShine = 20.00F; | ||||
|     GLfloat light0Pos[4] = | ||||
| @@ -975,19 +994,19 @@ init (void) | ||||
|        0.70F, 0.70F, 1.25F, 0.50F | ||||
|     }; | ||||
|     int i; | ||||
|      | ||||
|  | ||||
|     glClearColor (background[0], background[1], background[2], 1.0F); | ||||
|     glClearIndex ((GLfloat) 0.0); | ||||
|      | ||||
|  | ||||
|     glMaterialf (GL_FRONT_AND_BACK, GL_SHININESS, matShine); | ||||
|     glLightfv (GL_LIGHT0, GL_POSITION, light0Pos); | ||||
|     glEnable (GL_LIGHT0); | ||||
|    | ||||
|  | ||||
|     glEnable (GL_LIGHTING); | ||||
|     glEnable (GL_DEPTH_TEST); | ||||
|     for (i = 0; i < number_of_gears; i++) | ||||
|       g[i].angle = 0.0; | ||||
|    | ||||
|  | ||||
|     for (i = 0; i < number_of_gears; i++) | ||||
|     { | ||||
| 	g[i].id = glGenLists (1); | ||||
| @@ -997,7 +1016,7 @@ init (void) | ||||
| 	gear (i, g[i].type, g[i].radius, g[i].width, g[i].teeth, g[i].tooth_depth); | ||||
| 	glEndList (); | ||||
|     } | ||||
|    | ||||
|  | ||||
|     for (i = 0; i < number_of_axles; i++) | ||||
|     { | ||||
| 	a[i].id = glGenLists (1); | ||||
| @@ -1007,7 +1026,7 @@ init (void) | ||||
| 	axle (i, a[i].radius, a[i].length); | ||||
| 	glEndList (); | ||||
|     } | ||||
|    | ||||
|  | ||||
|     for (i = 0; i < number_of_belts; i++) | ||||
|     { | ||||
| 	b[i].id = glGenLists (1); | ||||
| @@ -1015,14 +1034,14 @@ init (void) | ||||
| 	belt (g[gear_find (b[i].gear1_name)], g[gear_find (b[i].gear2_name)]); | ||||
| 	glEndList (); | ||||
|     } | ||||
|    | ||||
|  | ||||
|     glEnable (GL_COLOR_MATERIAL); | ||||
| } | ||||
|  | ||||
|  | ||||
|  | ||||
| int  | ||||
| main (int argc, char *argv[])  | ||||
| int | ||||
| main (int argc, char *argv[]) | ||||
| { | ||||
|     char *file; | ||||
|  | ||||
| @@ -1034,14 +1053,14 @@ main (int argc, char *argv[]) | ||||
|     glutInitWindowPosition (0, 0); | ||||
|     glutInitWindowSize(640,480); | ||||
|     glutInitDisplayMode (GLUT_RGB | GLUT_DEPTH | GLUT_DOUBLE ); | ||||
|      | ||||
|  | ||||
|     if (glutCreateWindow ("Gear Train Simulation") == GL_FALSE) | ||||
|       exit (1); | ||||
|  | ||||
|     getdata (file); | ||||
|     process (); | ||||
|     init (); | ||||
|      | ||||
|  | ||||
|     glutDisplayFunc (draw); | ||||
|     glutReshapeFunc (reshape); | ||||
|     glutKeyboardFunc (key); | ||||
| @@ -1049,4 +1068,3 @@ main (int argc, char *argv[]) | ||||
|     glutMainLoop (); | ||||
|     return 0; | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| /* $Id: glinfo.c,v 1.1 1999/08/19 00:55:40 jtg Exp $ */ | ||||
| /* $Id: glinfo.c,v 1.2 2002/04/22 16:03:37 brianp Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * Print GL, GLU and GLUT version and extension info | ||||
| @@ -8,23 +8,6 @@ | ||||
|  */ | ||||
|  | ||||
|  | ||||
| /* | ||||
|  * $Log: glinfo.c,v $ | ||||
|  * Revision 1.1  1999/08/19 00:55:40  jtg | ||||
|  * Initial revision | ||||
|  * | ||||
|  * Revision 3.2  1999/02/02 04:45:49  brianp | ||||
|  * include stdio.h before glut.h | ||||
|  * | ||||
|  * Revision 3.1  1998/02/22 16:42:54  brianp | ||||
|  * added casts to prevent compiler warnings | ||||
|  * | ||||
|  * Revision 3.0  1998/02/14 18:42:29  brianp | ||||
|  * initial rev | ||||
|  * | ||||
|  */ | ||||
|  | ||||
|  | ||||
| #include <stdio.h> | ||||
| #include <GL/glut.h> | ||||
|  | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| /* $Id: gloss.c,v 1.4 2000/06/27 17:04:43 brianp Exp $ */ | ||||
| /* $Id: gloss.c,v 1.6 2000/12/24 22:53:54 pesco Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * Specular reflection demo.  The specular highlight is modulated by | ||||
| @@ -24,7 +24,7 @@ | ||||
| #include <math.h> | ||||
| #include <GL/glut.h> | ||||
|  | ||||
| #include "../util/readtex.c"   /* I know, this is a hack. */ | ||||
| #include "readtex.c"   /* I know, this is a hack. */ | ||||
|  | ||||
| #define SPECULAR_TEXTURE_FILE "../images/reflect.rgb" | ||||
| #define BASE_TEXTURE_FILE "../images/tile.rgb" | ||||
| @@ -46,7 +46,7 @@ static GLfloat DXrot = 1.0, DYrot = 2.5; | ||||
| static GLfloat Black[4] = { 0, 0, 0, 0 }; | ||||
| static GLfloat White[4] = { 1, 1, 1, 1 }; | ||||
| static GLfloat Diffuse[4] = { .3, .3, 1.0, 1.0 };  /* blue */ | ||||
| static GLfloat Shininess = 15; | ||||
| static GLfloat Shininess = 6; | ||||
|  | ||||
| static GLuint BaseTexture, SpecularTexture; | ||||
| static GLboolean DoSpecTexture = GL_TRUE; | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| /* $Id: glutfx.c,v 1.2 2000/06/27 17:04:43 brianp Exp $ */ | ||||
| /* $Id: glutfx.c,v 1.3 2002/04/22 16:03:37 brianp Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * Example of how one might use GLUT with the 3Dfx driver in full-screen mode. | ||||
| @@ -14,25 +14,6 @@ | ||||
|  * Brian Paul   This file is in the public domain. | ||||
|  */ | ||||
|  | ||||
| /* | ||||
|  * $Log: glutfx.c,v $ | ||||
|  * Revision 1.2  2000/06/27 17:04:43  brianp | ||||
|  * fixed compiler warnings | ||||
|  * | ||||
|  * Revision 1.1.1.1  1999/08/19 00:55:40  jtg | ||||
|  * Imported sources | ||||
|  * | ||||
|  * Revision 3.2  1999/03/28 18:18:33  brianp | ||||
|  * minor clean-up | ||||
|  * | ||||
|  * Revision 3.1  1998/06/29 02:37:30  brianp | ||||
|  * minor changes for Windows (Ted Jump) | ||||
|  * | ||||
|  * Revision 3.0  1998/02/14 18:42:29  brianp | ||||
|  * initial rev | ||||
|  * | ||||
|  */ | ||||
|  | ||||
|  | ||||
| #include <stdio.h> | ||||
| #include <stdlib.h> | ||||
|   | ||||
| @@ -11,14 +11,14 @@ | ||||
| #include <math.h> | ||||
| #include <time.h> | ||||
|  | ||||
| #ifdef WIN32 | ||||
| #if defined (WIN32)|| defined(_WIN32) | ||||
| #include <windows.h> | ||||
| #include <mmsystem.h> | ||||
| #endif | ||||
|  | ||||
| #include <GL/glut.h> | ||||
|  | ||||
| #include "../util/readtex.c" | ||||
| #include "readtex.c" | ||||
|  | ||||
| #ifdef XMESA | ||||
| #include "GL/xmesa.h" | ||||
| @@ -28,6 +28,9 @@ static int fullscreen = 1; | ||||
| static int WIDTH = 640; | ||||
| static int HEIGHT = 480; | ||||
|  | ||||
| static GLint T0; | ||||
| static GLint Frames; | ||||
|  | ||||
| #define MAX_LOD 9 | ||||
|  | ||||
| #define TEX_SKY_WIDTH 256 | ||||
| @@ -183,7 +186,7 @@ inittextures(void) | ||||
|        (gluerr = | ||||
| 	gluBuild2DMipmaps(GL_TEXTURE_2D, 3, TEX_SKY_WIDTH, TEX_SKY_HEIGHT, | ||||
| 			  GL_RGB, GL_UNSIGNED_BYTE, (GLvoid *) (tsky)))) { | ||||
|       fprintf(stderr, "GLULib%s\n", gluErrorString(gluerr)); | ||||
|       fprintf(stderr, "GLULib%s\n", (char *) gluErrorString(gluerr)); | ||||
|       exit(-1); | ||||
|    } | ||||
|  | ||||
| @@ -195,21 +198,6 @@ inittextures(void) | ||||
|    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); | ||||
| } | ||||
|  | ||||
| static float | ||||
| gettime(void) | ||||
| { | ||||
|    static clock_t told = 0; | ||||
|    clock_t tnew, ris; | ||||
|  | ||||
|    tnew = clock(); | ||||
|  | ||||
|    ris = tnew - told; | ||||
|  | ||||
|    told = tnew; | ||||
|  | ||||
|    return (ris / (float) CLOCKS_PER_SEC); | ||||
| } | ||||
|  | ||||
| static void | ||||
| calcposobs(void) | ||||
| { | ||||
| @@ -217,6 +205,13 @@ calcposobs(void) | ||||
|    dir[1] = cos(alpha * M_PI / 180.0) * sin(beta * M_PI / 180.0); | ||||
|    dir[2] = cos(beta * M_PI / 180.0); | ||||
|  | ||||
|    if (dir[0] < 1.0e-5 && dir[0] > -1.0e-5) | ||||
|       dir[0] = 0; | ||||
|    if (dir[1] < 1.0e-5 && dir[1] > -1.0e-5) | ||||
|       dir[1] = 0; | ||||
|    if (dir[2] < 1.0e-5 && dir[2] > -1.0e-5) | ||||
|       dir[2] = 0; | ||||
|  | ||||
|    obs[0] += v * dir[0]; | ||||
|    obs[1] += v * dir[1]; | ||||
|    obs[2] += v * dir[2]; | ||||
| @@ -544,11 +539,10 @@ drawipers(int depth, int from) | ||||
| static void | ||||
| draw(void) | ||||
| { | ||||
|    static int count = 0; | ||||
|    static char frbuf[80]; | ||||
|    static char frbuf[80] = ""; | ||||
|    static GLfloat alpha = 0.0f; | ||||
|    static GLfloat beta = 0.0f; | ||||
|    float fr; | ||||
|    static float fr = 0.0; | ||||
|  | ||||
|    dojoy(); | ||||
|  | ||||
| @@ -610,10 +604,9 @@ draw(void) | ||||
|  | ||||
|    /* Help Screen */ | ||||
|  | ||||
|    fr = gettime(); | ||||
|    sprintf(frbuf, | ||||
| 	   "Frame rate: %0.2f   LOD: %d   Tot. poly.: %d   Poly/sec: %.1f", | ||||
| 	   1.0 / fr, LODbias, totpoly, totpoly / fr); | ||||
| 	   fr, LODbias, totpoly, totpoly * fr); | ||||
|  | ||||
|    glDisable(GL_TEXTURE_2D); | ||||
|    glDisable(GL_FOG); | ||||
| @@ -644,7 +637,16 @@ draw(void) | ||||
|  | ||||
|    glutSwapBuffers(); | ||||
|  | ||||
|    count++; | ||||
|    Frames++; | ||||
|    { | ||||
|       GLint t = glutGet(GLUT_ELAPSED_TIME); | ||||
|       if (t - T0 >= 2000) { | ||||
|          GLfloat seconds = (t - T0) / 1000.0; | ||||
|          fr = Frames / seconds; | ||||
|          T0 = t; | ||||
|          Frames = 0; | ||||
|       } | ||||
|    } | ||||
| } | ||||
|  | ||||
| int | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| /* $Id: isosurf.c,v 1.6 2000/06/27 17:04:43 brianp Exp $ */ | ||||
| /* $Id: isosurf.c,v 1.15.4.3 2003/04/07 22:27:23 keithw Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * Display an isosurface of 3-D wind speed volume.   | ||||
|  * Display an isosurface of 3-D wind speed volume. | ||||
|  * | ||||
|  * Command line options: | ||||
|  *    -info      print GL implementation information | ||||
| @@ -30,69 +30,47 @@ | ||||
| #include <stdlib.h> | ||||
| #include <string.h> | ||||
| #include <math.h> | ||||
| #ifdef _WIN32 | ||||
| #include <windows.h> | ||||
| #undef CLIP_MASK | ||||
| #endif | ||||
| #define GL_GLEXT_LEGACY | ||||
| #include "GL/glut.h" | ||||
|  | ||||
| #include "../util/readtex.c"   /* I know, this is a hack.  KW: me too. */ | ||||
| #include "readtex.c"    | ||||
| #define TEXTURE_FILE "../images/reflect.rgb" | ||||
|  | ||||
| #define LIT                 0x1 | ||||
| #define UNLIT               0x2 | ||||
| #define TEXTURE             0x4 | ||||
| #define NO_TEXTURE          0x8 | ||||
| #define REFLECT             0x10 | ||||
| #define NO_REFLECT          0x20 | ||||
| #define POINT_FILTER        0x40 | ||||
| #define LINEAR_FILTER       0x80 | ||||
| #define GLVERTEX           0x100 | ||||
| #define DRAW_ARRAYS         0x200 /* or draw_elts, if compiled */ | ||||
| #define ARRAY_ELT           0x400 | ||||
| #define COMPILED            0x800 | ||||
| #define IMMEDIATE           0x1000 | ||||
| #define SHADE_SMOOTH        0x2000 | ||||
| #define SHADE_FLAT          0x4000 | ||||
| #define TRIANGLES           0x8000 | ||||
| #define STRIPS              0x10000 | ||||
| #define USER_CLIP           0x20000 | ||||
| #define NO_USER_CLIP        0x40000 | ||||
| #define MATERIALS           0x80000 | ||||
| #define NO_MATERIALS        0x100000 | ||||
| #define FOG                 0x200000 | ||||
| #define NO_FOG              0x400000 | ||||
| #define QUIT                0x800000 | ||||
| #define DISPLAYLIST         0x1000000 | ||||
| #define GLINFO              0x2000000 | ||||
| #define STIPPLE             0x4000000 | ||||
| #define NO_STIPPLE          0x8000000 | ||||
| #define POINT_FILTER	0x00000008 | ||||
| #define LINEAR_FILTER	0x00000010 | ||||
| #define SHADE_SMOOTH	0x00002000 | ||||
| #define SHADE_FLAT	0x00004000 | ||||
| #define TRIANGLES	0x00008000 | ||||
| #define STRIPS		0x00010000 | ||||
| #define POINTS		0x00020000 | ||||
| #define QUIT		0x01000000 | ||||
| #define GLINFO		0x02000000 | ||||
|  | ||||
| #define LIGHT_MASK  (LIT|UNLIT) | ||||
| #define TEXTURE_MASK (TEXTURE|NO_TEXTURE) | ||||
| #define REFLECT_MASK (REFLECT|NO_REFLECT) | ||||
| #define FILTER_MASK (POINT_FILTER|LINEAR_FILTER) | ||||
| #define RENDER_STYLE_MASK (GLVERTEX|DRAW_ARRAYS|ARRAY_ELT) | ||||
| #define COMPILED_MASK (COMPILED|IMMEDIATE|DISPLAYLIST) | ||||
| #define MATERIAL_MASK (MATERIALS|NO_MATERIALS) | ||||
| #define PRIMITIVE_MASK (TRIANGLES|STRIPS) | ||||
| #define CLIP_MASK (USER_CLIP|NO_USER_CLIP) | ||||
| #define SHADE_MASK (SHADE_SMOOTH|SHADE_FLAT) | ||||
| #define FOG_MASK (FOG|NO_FOG) | ||||
| #define STIPPLE_MASK (STIPPLE|NO_STIPPLE) | ||||
| #define PRIMITIVE_MASK		(TRIANGLES|STRIPS|POINTS) | ||||
| #define SHADE_MASK		(SHADE_SMOOTH|SHADE_FLAT) | ||||
|  | ||||
| #define MAXVERTS 10000 | ||||
| static GLint maxverts = MAXVERTS; | ||||
| static float data[MAXVERTS][6]; | ||||
| static float compressed_data[MAXVERTS][6]; | ||||
| static float expanded_data[MAXVERTS*3][6]; | ||||
| static GLuint indices[MAXVERTS]; | ||||
| static GLuint tri_indices[MAXVERTS*3]; | ||||
| static GLuint strip_indices[MAXVERTS]; | ||||
| static GLfloat col[100][4]; | ||||
| static GLint numverts, num_tri_verts, numuniq; | ||||
|  | ||||
| static GLfloat xrot; | ||||
| static GLfloat yrot; | ||||
| static GLfloat dist = -6; | ||||
| static GLfloat dist; | ||||
| static GLint state, allowed = ~0; | ||||
| static GLboolean doubleBuffer = GL_TRUE; | ||||
| static GLdouble plane[4] = {1.0, 0.0, -1.0, 0.0}; | ||||
| static GLuint surf1; | ||||
| static GLdouble plane[4]; | ||||
| static GLuint surf1, dlist_state; | ||||
|  | ||||
| static GLboolean PrintInfo = GL_FALSE; | ||||
|  | ||||
| @@ -110,9 +88,6 @@ static GLubyte halftone[] = { | ||||
|    0x55, 0x55, 0x55, 0x55, 0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55, | ||||
|    0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55}; | ||||
|  | ||||
| /* forward decl */ | ||||
| int BuildList( int mode ); | ||||
|  | ||||
|  | ||||
| static void read_surface( char *filename ) | ||||
| { | ||||
| @@ -125,7 +100,7 @@ static void read_surface( char *filename ) | ||||
|    } | ||||
|  | ||||
|    numverts = 0; | ||||
|    while (!feof(f) && numverts<MAXVERTS) { | ||||
|    while (!feof(f) && numverts<maxverts) { | ||||
|       fscanf( f, "%f %f %f  %f %f %f", | ||||
| 	      &data[numverts][0], &data[numverts][1], &data[numverts][2], | ||||
| 	      &data[numverts][3], &data[numverts][4], &data[numverts][5] ); | ||||
| @@ -139,6 +114,11 @@ static void read_surface( char *filename ) | ||||
|  | ||||
|  | ||||
|  | ||||
| static void print_flags( const char *msg, GLuint flags )  | ||||
| { | ||||
| } | ||||
|  | ||||
|  | ||||
|  | ||||
| struct data_idx { | ||||
|    float *data; | ||||
| @@ -180,7 +160,7 @@ int (*(compare[7]))( const void *a, const void *b ) = | ||||
|  | ||||
| #define VEC_ELT(f, s, i)  (float *)(((char *)f) + s * i) | ||||
|  | ||||
| static int sort_axis( int axis,  | ||||
| static int sort_axis( int axis, | ||||
| 		      int vec_size, | ||||
| 		      int vec_stride, | ||||
| 		      struct data_idx *indices, | ||||
| @@ -192,27 +172,27 @@ static int sort_axis( int axis, | ||||
| { | ||||
|    int i; | ||||
|  | ||||
|    if (finish-start > 2)  | ||||
|    if (finish-start > 2) | ||||
|    { | ||||
|       qsort( indices+start, finish-start, sizeof(*indices), compare[axis] ); | ||||
|    }  | ||||
|    else if (indices[start].data[axis] > indices[start+1].data[axis])  | ||||
|    } | ||||
|    else if (indices[start].data[axis] > indices[start+1].data[axis]) | ||||
|    { | ||||
|       struct data_idx tmp = indices[start]; | ||||
|       indices[start] = indices[start+1]; | ||||
|       indices[start+1] = tmp; | ||||
|    } | ||||
| 	  | ||||
|  | ||||
|    if (axis == vec_size-1) { | ||||
|       for (i = start ; i < finish ; ) { | ||||
| 	 float max = indices[i].data[axis] + fudge; | ||||
| 	 float *dest = VEC_ELT(out, vec_stride, uniq); | ||||
| 	 int j; | ||||
| 	 | ||||
|  | ||||
| 	 for (j = 0 ; j < vec_size ; j++) | ||||
| 	    dest[j] = indices[i].data[j]; | ||||
|  | ||||
| 	 for ( ; i < finish && max >= indices[i].data[axis]; i++)  | ||||
| 	 for ( ; i < finish && max >= indices[i].data[axis]; i++) | ||||
| 	    indices[i].uniq_idx = uniq; | ||||
|  | ||||
| 	 uniq++; | ||||
| @@ -227,7 +207,7 @@ static int sort_axis( int axis, | ||||
| 	    int k; | ||||
|  | ||||
| 	    indices[i].uniq_idx = uniq; | ||||
| 	 | ||||
|  | ||||
| 	    for (k = 0 ; k < vec_size ; k++) | ||||
| 	       dest[k] = indices[i].data[k]; | ||||
|  | ||||
| @@ -244,7 +224,7 @@ static int sort_axis( int axis, | ||||
| } | ||||
|  | ||||
|  | ||||
| static void extract_indices1( const struct data_idx *in, unsigned int *out,  | ||||
| static void extract_indices1( const struct data_idx *in, unsigned int *out, | ||||
| 			      int n ) | ||||
| { | ||||
|    int i; | ||||
| @@ -266,13 +246,13 @@ static void compactify_arrays(void) | ||||
|       ind[i].data = data[i]; | ||||
|    } | ||||
|  | ||||
|    numuniq = sort_axis(0,  | ||||
| 		       sizeof(compressed_data[0])/sizeof(float),  | ||||
|    numuniq = sort_axis(0, | ||||
| 		       sizeof(compressed_data[0])/sizeof(float), | ||||
| 		       sizeof(compressed_data[0]), | ||||
| 		       ind,  | ||||
| 		       0,  | ||||
| 		       numverts,  | ||||
| 		       (float *)compressed_data,  | ||||
| 		       ind, | ||||
| 		       0, | ||||
| 		       numverts, | ||||
| 		       (float *)compressed_data, | ||||
| 		       0, | ||||
| 		       1e-6); | ||||
|  | ||||
| @@ -282,6 +262,20 @@ static void compactify_arrays(void) | ||||
|    free( ind ); | ||||
| } | ||||
|  | ||||
| static void expand_arrays(void)  | ||||
| { | ||||
|    int i; | ||||
|    int parity = 0; | ||||
|    for (i = 2 ; i < numverts ; i++, parity ^= 1) { | ||||
|       int v0 = i-2+parity; | ||||
|       int v1 = i-1-parity; | ||||
|       int v2 = i; | ||||
|       memcpy( expanded_data[(i-2)*3+0], data[v0], sizeof(data[0]) ); | ||||
|       memcpy( expanded_data[(i-2)*3+1], data[v1], sizeof(data[0]) ); | ||||
|       memcpy( expanded_data[(i-2)*3+2], data[v2], sizeof(data[0]) ); | ||||
|    } | ||||
| } | ||||
|  | ||||
| static float myrand( float max ) | ||||
| { | ||||
|    return max*rand()/(RAND_MAX+1.0); | ||||
| @@ -292,12 +286,12 @@ static void make_tri_indices( void ) | ||||
| { | ||||
|    unsigned int *v = tri_indices; | ||||
|    unsigned int parity = 0; | ||||
|    unsigned int i, j; | ||||
|    int i, j; | ||||
|  | ||||
|    for (j=2;j<numverts;j++,parity^=1) { | ||||
|       if (parity) { | ||||
| 	 *v++ = indices[j-1]; | ||||
| 	 *v++ = indices[j-2];  | ||||
| 	 *v++ = indices[j-2]; | ||||
| 	 *v++ = indices[j]; | ||||
|       } else { | ||||
| 	 *v++ = indices[j-2]; | ||||
| @@ -305,7 +299,7 @@ static void make_tri_indices( void ) | ||||
| 	 *v++ = indices[j]; | ||||
|       } | ||||
|    } | ||||
|     | ||||
|  | ||||
|    num_tri_verts = v - tri_indices; | ||||
|    printf("num_tri_verts: %d\n", num_tri_verts); | ||||
|  | ||||
| @@ -315,124 +309,55 @@ static void make_tri_indices( void ) | ||||
|       col[j][1] = myrand(1); | ||||
|       col[j][0] = myrand(1); | ||||
|    } | ||||
|  | ||||
|    for (i = 0; i < numverts ; i++) | ||||
|       strip_indices[i] = i; | ||||
| } | ||||
|  | ||||
| #define MIN(x,y) (x < y) ? x : y | ||||
|  | ||||
| static void draw_surface( int with_state ) | ||||
| static void draw_surface( unsigned int with_state ) | ||||
| { | ||||
|    GLuint i, j; | ||||
|    GLint i, j; | ||||
|     | ||||
|  | ||||
|    switch (with_state & (COMPILED_MASK|RENDER_STYLE_MASK|PRIMITIVE_MASK)) { | ||||
| #ifdef GL_EXT_vertex_array | ||||
|    switch (with_state & (PRIMITIVE_MASK)) { | ||||
|  | ||||
|    case (COMPILED|DRAW_ARRAYS|STRIPS): | ||||
|       glDrawElements( GL_TRIANGLE_STRIP, numverts, GL_UNSIGNED_INT, indices ); | ||||
|       break; | ||||
|  | ||||
|  | ||||
|    case (COMPILED|ARRAY_ELT|STRIPS): | ||||
|       glBegin( GL_TRIANGLE_STRIP ); | ||||
|       for (i = 0 ; i < numverts ; i++)  | ||||
| 	 glArrayElement( indices[i] );       | ||||
|       glEnd(); | ||||
|       break; | ||||
|  | ||||
|    case (COMPILED|DRAW_ARRAYS|TRIANGLES): | ||||
|    case (IMMEDIATE|DRAW_ARRAYS|TRIANGLES): | ||||
|       if (with_state & MATERIALS) { | ||||
| 	 for (j = i = 0 ; i < num_tri_verts ; i += 600, j++) { | ||||
| 	    GLuint nr = MIN(num_tri_verts-i, 600); | ||||
| 	    glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, col[j]); | ||||
| 	    glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, col[j]); | ||||
| 	    glDrawElements( GL_TRIANGLES, nr, GL_UNSIGNED_INT, tri_indices+i ); | ||||
| 	 } | ||||
|       } else { | ||||
| 	 glDrawElements( GL_TRIANGLES, num_tri_verts, GL_UNSIGNED_INT,  | ||||
| 			 tri_indices ); | ||||
|       } | ||||
|  | ||||
|       break; | ||||
|  | ||||
|       /* Uses the original arrays (including duplicate elements): | ||||
|        */ | ||||
|    case (IMMEDIATE|DRAW_ARRAYS|STRIPS): | ||||
|       glDrawArraysEXT( GL_TRIANGLE_STRIP, 0, numverts ); | ||||
|       break; | ||||
|  | ||||
|       /* Uses the original arrays (including duplicate elements): | ||||
|        */ | ||||
|    case (IMMEDIATE|ARRAY_ELT|STRIPS): | ||||
|       glBegin( GL_TRIANGLE_STRIP ); | ||||
|       for (i = 0 ; i < numverts ; i++) | ||||
| 	 glArrayElement( i ); | ||||
|       glEnd(); | ||||
|       break; | ||||
|  | ||||
|    case (IMMEDIATE|ARRAY_ELT|TRIANGLES): | ||||
|    case (COMPILED|ARRAY_ELT|TRIANGLES): | ||||
|       if (with_state & MATERIALS) { | ||||
| 	 for (j = i = 0 ; i < num_tri_verts ; i += 600, j++) { | ||||
| 	    GLuint nr = MIN(num_tri_verts-i, 600); | ||||
| 	    GLuint k; | ||||
| 	    glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, col[j]); | ||||
| 	    glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, col[j]); | ||||
| 	    glBegin( GL_TRIANGLES ); | ||||
| 	    for (k = 0 ; k < nr ; k++) | ||||
| 	       glArrayElement( tri_indices[i+k] ); | ||||
| 	    glEnd(); | ||||
| 	 } | ||||
|       } else { | ||||
| 	 glBegin( GL_TRIANGLES ); | ||||
| 	 for (i = 0 ; i < num_tri_verts ; i++) | ||||
| 	    glArrayElement( tri_indices[i] ); | ||||
| 	        | ||||
| 	 glEnd(); | ||||
|       }	  | ||||
|       break; | ||||
|  | ||||
|    case (IMMEDIATE|GLVERTEX|TRIANGLES): | ||||
|       if (with_state & MATERIALS) { | ||||
| 	 for (j = i = 0 ; i < num_tri_verts ; i += 600, j++) { | ||||
| 	    GLuint nr = MIN(num_tri_verts-i, 600); | ||||
| 	    GLuint k; | ||||
| 	    glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, col[j]); | ||||
| 	    glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, col[j]); | ||||
| 	    glBegin( GL_TRIANGLES ); | ||||
| 	    for (k = 0 ; k < nr ; k++) { | ||||
| 	       glNormal3fv( &compressed_data[tri_indices[i+k]][3] ); | ||||
| 	       glVertex3fv( &compressed_data[tri_indices[i+k]][0] ); | ||||
| 	    } | ||||
| 	    glEnd(); | ||||
| 	 } | ||||
|       } else { | ||||
|    case (0|TRIANGLES): | ||||
| 	 glBegin( GL_TRIANGLES ); | ||||
| 	 for (i = 0 ; i < num_tri_verts ; i++) { | ||||
| 	    glNormal3fv( &compressed_data[tri_indices[i]][3] ); | ||||
| 	    glColor3fv( &compressed_data[tri_indices[i]][3] ); | ||||
| 	    glVertex3fv( &compressed_data[tri_indices[i]][0] ); | ||||
| 	 } | ||||
| 	 glEnd(); | ||||
|       }	  | ||||
|       break; | ||||
|  | ||||
|    case (DISPLAYLIST|GLVERTEX|STRIPS): | ||||
|       if (!surf1) | ||||
| 	 surf1 = BuildList( GL_COMPILE_AND_EXECUTE ); | ||||
|       else | ||||
| 	 glCallList(surf1); | ||||
|       break; | ||||
|  | ||||
| #endif | ||||
|  | ||||
|       /* Uses the original arrays (including duplicate elements): | ||||
|    case (0|POINTS): | ||||
|       /* Renders all points, but not in strip order...  Shouldn't be a | ||||
|        * problem, but people may be confused as to why points are so | ||||
|        * much faster in this demo...  And why cva doesn't help them... | ||||
|        */ | ||||
|    default: | ||||
|       glBegin( GL_POINTS ); | ||||
|       for ( i = 0 ; i < numuniq ; i++ ) { | ||||
|          glColor3fv( &compressed_data[i][3] ); | ||||
|          glVertex3fv( &compressed_data[i][0] ); | ||||
|       } | ||||
|       glEnd(); | ||||
|       break; | ||||
|  | ||||
|    case (0|STRIPS): | ||||
|       glBegin( GL_TRIANGLE_STRIP ); | ||||
|       for (i=0;i<numverts;i++) { | ||||
|          glNormal3fv( &data[i][3] ); | ||||
|          glColor3fv( &data[i][0] ); | ||||
|          glVertex3fv( &data[i][0] ); | ||||
|       } | ||||
|       glEnd(); | ||||
|       break; | ||||
|  | ||||
|    default: | ||||
|       fprintf(stderr, "unimplemented mode %x...\n",  | ||||
| 	      (with_state & (PRIMITIVE_MASK))); | ||||
|       break; | ||||
|    } | ||||
| } | ||||
|  | ||||
| @@ -443,17 +368,9 @@ static void Display(void) | ||||
|     glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); | ||||
|     draw_surface( state ); | ||||
|     glFlush(); | ||||
|     if (doubleBuffer) glutSwapBuffers();     | ||||
|     if (doubleBuffer) glutSwapBuffers(); | ||||
| } | ||||
|  | ||||
| int BuildList( int mode ) | ||||
| { | ||||
|    int rv = glGenLists(1); | ||||
|    glNewList(rv, mode ); | ||||
|    draw_surface( IMMEDIATE|GLVERTEX|STRIPS ); | ||||
|    glEndList(); | ||||
|    return rv; | ||||
| } | ||||
|  | ||||
| /* KW: only do this when necessary, so CVA can re-use results. | ||||
|  */ | ||||
| @@ -511,31 +428,30 @@ static void InitMaterials(void) | ||||
|     static float lmodel_ambient[] = {1.0, 1.0, 1.0, 1.0}; | ||||
|     static float lmodel_twoside[] = {GL_FALSE}; | ||||
|  | ||||
|     glLightfv(GL_LIGHT0, GL_AMBIENT, ambient); | ||||
|     glLightfv(GL_LIGHT0, GL_DIFFUSE, diffuse); | ||||
|     glLightfv(GL_LIGHT0, GL_POSITION, position0); | ||||
|     glEnable(GL_LIGHT0); | ||||
|      | ||||
|     glLightfv(GL_LIGHT1, GL_AMBIENT, ambient); | ||||
|     glLightfv(GL_LIGHT1, GL_DIFFUSE, diffuse); | ||||
|     glLightfv(GL_LIGHT1, GL_POSITION, position1); | ||||
|     glEnable(GL_LIGHT1); | ||||
|      | ||||
|     glLightModelfv(GL_LIGHT_MODEL_AMBIENT, lmodel_ambient); | ||||
|     glLightModelfv(GL_LIGHT_MODEL_TWO_SIDE, lmodel_twoside); | ||||
| /*     glLightfv(GL_LIGHT0, GL_AMBIENT, ambient); */ | ||||
| /*     glLightfv(GL_LIGHT0, GL_DIFFUSE, diffuse); */ | ||||
| /*     glLightfv(GL_LIGHT0, GL_POSITION, position0); */ | ||||
| /*     glEnable(GL_LIGHT0); */ | ||||
|  | ||||
|     glMaterialfv(GL_FRONT_AND_BACK, GL_SHININESS, front_mat_shininess); | ||||
|     glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, front_mat_specular); | ||||
|     glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, front_mat_diffuse); | ||||
| /*     glLightfv(GL_LIGHT1, GL_AMBIENT, ambient); */ | ||||
| /*     glLightfv(GL_LIGHT1, GL_DIFFUSE, diffuse); */ | ||||
| /*     glLightfv(GL_LIGHT1, GL_POSITION, position1); */ | ||||
| /*     glEnable(GL_LIGHT1); */ | ||||
|  | ||||
|     glPolygonStipple (halftone); | ||||
| /*     glLightModelfv(GL_LIGHT_MODEL_AMBIENT, lmodel_ambient); */ | ||||
| /*     glLightModelfv(GL_LIGHT_MODEL_TWO_SIDE, lmodel_twoside); */ | ||||
|  | ||||
| /*     glMaterialfv(GL_FRONT_AND_BACK, GL_SHININESS, front_mat_shininess); */ | ||||
| /*     glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, front_mat_specular); */ | ||||
| /*     glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, front_mat_diffuse); */ | ||||
|  | ||||
| /*     glPolygonStipple (halftone); */ | ||||
| } | ||||
|  | ||||
|  | ||||
|  | ||||
| #define UPDATE(o,n,mask) (o&=~mask, o|=n&mask) | ||||
| #define CHANGED(o,n,mask) ((n&mask) && \ | ||||
|                            (n&mask) != (o&mask) ? UPDATE(o,n,mask) : 0) | ||||
| #define CHANGED(o,n,mask) ((n&mask) && (n&mask) != (o&mask) ) | ||||
|  | ||||
| static void ModeMenu(int m) | ||||
| { | ||||
| @@ -543,7 +459,7 @@ static void ModeMenu(int m) | ||||
|  | ||||
|    if (!m) return; | ||||
|  | ||||
|    if (m==QUIT)  | ||||
|    if (m==QUIT) | ||||
|       exit(0); | ||||
|  | ||||
|    if (m==GLINFO) { | ||||
| @@ -553,24 +469,8 @@ static void ModeMenu(int m) | ||||
|       return; | ||||
|    } | ||||
|  | ||||
|    if (CHANGED(state, m, FILTER_MASK)) { | ||||
|       if (m & LINEAR_FILTER) { | ||||
| 	 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); | ||||
| 	 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); | ||||
|       } else { | ||||
| 	 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); | ||||
| 	 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); | ||||
|       } | ||||
|    } | ||||
|  | ||||
|    if (CHANGED(state, m, LIGHT_MASK)) { | ||||
|       if (m & LIT) | ||||
| 	 glEnable(GL_LIGHTING); | ||||
|       else | ||||
| 	 glDisable(GL_LIGHTING); | ||||
|    } | ||||
|  | ||||
|    if (CHANGED(state, m, SHADE_MASK)) { | ||||
|       UPDATE(state, m, SHADE_MASK); | ||||
|       if (m & SHADE_SMOOTH) | ||||
| 	 glShadeModel(GL_SMOOTH); | ||||
|       else | ||||
| @@ -578,91 +478,12 @@ static void ModeMenu(int m) | ||||
|    } | ||||
|  | ||||
|  | ||||
|    if (CHANGED(state, m, TEXTURE_MASK)) { | ||||
|       if (m & TEXTURE)  | ||||
| 	 glEnable(GL_TEXTURE_2D); | ||||
|       else | ||||
| 	 glDisable(GL_TEXTURE_2D); | ||||
|  | ||||
|    if (m & (PRIMITIVE_MASK)) { | ||||
|       UPDATE(state, m, (PRIMITIVE_MASK)); | ||||
|    } | ||||
|  | ||||
|    if (CHANGED(state, m, REFLECT_MASK)) { | ||||
|       if (m & REFLECT) { | ||||
| 	 glEnable(GL_TEXTURE_GEN_S); | ||||
| 	 glEnable(GL_TEXTURE_GEN_T); | ||||
|       } else { | ||||
| 	 glDisable(GL_TEXTURE_GEN_S); | ||||
| 	 glDisable(GL_TEXTURE_GEN_T); | ||||
|       } | ||||
|    } | ||||
|  | ||||
|    if (CHANGED(state, m, CLIP_MASK)) { | ||||
|       if (m & USER_CLIP) { | ||||
| 	 glEnable(GL_CLIP_PLANE0); | ||||
|       } else { | ||||
| 	 glDisable(GL_CLIP_PLANE0); | ||||
|       } | ||||
|    } | ||||
|  | ||||
|    if (CHANGED(state, m, FOG_MASK)) { | ||||
|       if (m & FOG)  | ||||
|       { | ||||
| 	 glEnable(GL_FOG); | ||||
| 	 printf("FOG enable\n"); | ||||
|       }  | ||||
|       else  | ||||
|       { | ||||
| 	 glDisable(GL_FOG); | ||||
| 	 printf("FOG disable\n"); | ||||
|       } | ||||
|    } | ||||
|  | ||||
|    if (CHANGED(state, m, STIPPLE_MASK)) { | ||||
|       if (m & STIPPLE)  | ||||
|       { | ||||
| 	 glEnable(GL_POLYGON_STIPPLE); | ||||
| 	 printf("STIPPLE enable\n"); | ||||
|       }  | ||||
|       else  | ||||
|       { | ||||
| 	 glDisable(GL_POLYGON_STIPPLE); | ||||
| 	 printf("STIPPLE disable\n"); | ||||
|       } | ||||
|    } | ||||
|  | ||||
| #ifdef GL_EXT_vertex_array | ||||
|    if (CHANGED(state, m, (COMPILED_MASK|RENDER_STYLE_MASK|PRIMITIVE_MASK)))  | ||||
|    { | ||||
|       if ((m & (COMPILED_MASK|PRIMITIVE_MASK)) == (IMMEDIATE|STRIPS)) | ||||
|       { | ||||
| 	 glVertexPointerEXT( 3, GL_FLOAT, sizeof(data[0]), numverts, data ); | ||||
| 	 glNormalPointerEXT( GL_FLOAT, sizeof(data[0]), numverts, &data[0][3]); | ||||
|       } | ||||
|       else  | ||||
|       { | ||||
| 	 glVertexPointerEXT( 3, GL_FLOAT, sizeof(data[0]), numuniq,  | ||||
| 			     compressed_data ); | ||||
| 	 glNormalPointerEXT( GL_FLOAT, sizeof(data[0]), numuniq,  | ||||
| 			     &compressed_data[0][3]); | ||||
|       } | ||||
| #ifdef GL_EXT_compiled_vertex_array | ||||
|       if (allowed & COMPILED) { | ||||
| 	 if (m & COMPILED) { | ||||
| 	    glLockArraysEXT( 0, numuniq ); | ||||
| 	 } else { | ||||
| 	    glUnlockArraysEXT(); | ||||
| 	 } | ||||
|       } | ||||
| #endif | ||||
|    } | ||||
| #endif | ||||
|  | ||||
|    if (m & (RENDER_STYLE_MASK|PRIMITIVE_MASK)) { | ||||
|       UPDATE(state, m, (RENDER_STYLE_MASK|PRIMITIVE_MASK)); | ||||
|    } | ||||
|     | ||||
|    if (m & MATERIAL_MASK) { | ||||
|       UPDATE(state, m, MATERIAL_MASK); | ||||
|    } | ||||
|  | ||||
|    glutPostRedisplay(); | ||||
| } | ||||
| @@ -673,12 +494,18 @@ static void Init(int argc, char *argv[]) | ||||
| { | ||||
|    GLfloat fogColor[4] = {0.5,1.0,0.5,1.0}; | ||||
|  | ||||
|    glClearColor(0.0, 0.0, 1.0, 0.0); | ||||
|    glEnable( GL_DEPTH_TEST ); | ||||
|    glEnable( GL_VERTEX_ARRAY_EXT ); | ||||
|    glEnable( GL_NORMAL_ARRAY_EXT ); | ||||
|    xrot = 0; | ||||
|    yrot = 0; | ||||
|    dist = -6; | ||||
|    plane[0] = 1.0; | ||||
|    plane[1] = 0.0; | ||||
|    plane[2] = -1.0; | ||||
|    plane[3] = 0.0; | ||||
|  | ||||
|    InitMaterials(); | ||||
|    glClearColor(0.0, 0.0, 1.0, 0.0); | ||||
| /*    glEnable( GL_DEPTH_TEST ); */ | ||||
| /*    glEnable( GL_VERTEX_ARRAY_EXT ); */ | ||||
| /*    glEnable( GL_NORMAL_ARRAY_EXT ); */ | ||||
|  | ||||
|    glMatrixMode(GL_PROJECTION); | ||||
|    glLoadIdentity(); | ||||
| @@ -686,44 +513,44 @@ static void Init(int argc, char *argv[]) | ||||
|  | ||||
|    glMatrixMode(GL_MODELVIEW); | ||||
|    glLoadIdentity(); | ||||
|    glClipPlane(GL_CLIP_PLANE0, plane);  | ||||
| /*    glClipPlane(GL_CLIP_PLANE0, plane); */ | ||||
|  | ||||
|    InitMaterials(); | ||||
|  | ||||
|    set_matrix(); | ||||
|  | ||||
|    glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); | ||||
|    glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_FASTEST); | ||||
| /*    glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_FASTEST); */ | ||||
|  | ||||
|    glTexGeni(GL_S, GL_TEXTURE_GEN_MODE, GL_SPHERE_MAP); | ||||
|    glTexGeni(GL_T, GL_TEXTURE_GEN_MODE, GL_SPHERE_MAP); | ||||
| /*    glTexGeni(GL_S, GL_TEXTURE_GEN_MODE, GL_SPHERE_MAP); */ | ||||
| /*    glTexGeni(GL_T, GL_TEXTURE_GEN_MODE, GL_SPHERE_MAP); */ | ||||
|  | ||||
|    if (!LoadRGBMipmaps(TEXTURE_FILE, GL_RGB)) { | ||||
|       printf("Error: couldn't load texture image\n"); | ||||
|       exit(1); | ||||
|    } | ||||
|  | ||||
|    /* Green fog is easy to see */ | ||||
|    glFogi(GL_FOG_MODE,GL_EXP2); | ||||
|    glFogfv(GL_FOG_COLOR,fogColor); | ||||
|    glFogf(GL_FOG_DENSITY,0.15); | ||||
|    glHint(GL_FOG_HINT,GL_DONT_CARE); | ||||
| /*    glFogi(GL_FOG_MODE,GL_EXP2); */ | ||||
| /*    glFogfv(GL_FOG_COLOR,fogColor); */ | ||||
| /*    glFogf(GL_FOG_DENSITY,0.15); */ | ||||
| /*    glHint(GL_FOG_HINT,GL_DONT_CARE); */ | ||||
|  | ||||
|    { | ||||
|       static int firsttime = 1; | ||||
|       if (firsttime) { | ||||
| 	 firsttime = 0; | ||||
| 	 compactify_arrays(); | ||||
| 	 expand_arrays(); | ||||
| 	 make_tri_indices(); | ||||
|  | ||||
|    compactify_arrays(); | ||||
|    make_tri_indices(); | ||||
|  | ||||
|    surf1 = BuildList( GL_COMPILE ); | ||||
| /* 	 if (!LoadRGBMipmaps(TEXTURE_FILE, GL_RGB)) { */ | ||||
| /* 	    printf("Error: couldn't load texture image\n"); */ | ||||
| /* 	    exit(1); */ | ||||
| /* 	 } */ | ||||
|       } | ||||
|    } | ||||
|  | ||||
|    ModeMenu(SHADE_SMOOTH| | ||||
| 	    LIT| | ||||
| 	    NO_TEXTURE| | ||||
| 	    NO_REFLECT| | ||||
| 	    POINT_FILTER| | ||||
| 	    IMMEDIATE| | ||||
| 	    NO_USER_CLIP| | ||||
| 	    NO_MATERIALS| | ||||
| 	    NO_FOG| | ||||
| 	    NO_STIPPLE| | ||||
| 	    GLVERTEX); | ||||
| 	    TRIANGLES| | ||||
| 	    0); | ||||
|  | ||||
|    if (PrintInfo) { | ||||
|       printf("GL_RENDERER   = %s\n", (char *) glGetString(GL_RENDERER)); | ||||
| @@ -749,31 +576,9 @@ static void Key( unsigned char key, int x, int y ) | ||||
|    switch (key) { | ||||
|    case 27: | ||||
|       exit(0); | ||||
|    case 'f': | ||||
|       ModeMenu((state ^ FOG_MASK) & FOG_MASK); | ||||
|       break; | ||||
|    case 's': | ||||
|       ModeMenu((state ^ SHADE_MASK) & SHADE_MASK); | ||||
|       break; | ||||
|    case 't': | ||||
|       ModeMenu((state ^ STIPPLE_MASK) & STIPPLE_MASK); | ||||
|       break; | ||||
|    case 'l': | ||||
|       ModeMenu((state ^ LIGHT_MASK) & LIGHT_MASK); | ||||
|       break; | ||||
|    case 'm': | ||||
|       ModeMenu((state ^ MATERIAL_MASK) & MATERIAL_MASK); | ||||
|       break; | ||||
|    case 'c': | ||||
|       ModeMenu((state ^ CLIP_MASK) & CLIP_MASK); | ||||
|       break; | ||||
|    case 'v': | ||||
|       if (allowed&COMPILED) | ||||
| 	 ModeMenu(COMPILED|DRAW_ARRAYS|TRIANGLES); | ||||
|       break; | ||||
|    case 'V': | ||||
|       ModeMenu(IMMEDIATE|GLVERTEX|STRIPS); | ||||
|       break; | ||||
|    case 'b': | ||||
|       Benchmark(5.0, 0); | ||||
|       break; | ||||
| @@ -790,25 +595,9 @@ static void Key( unsigned char key, int x, int y ) | ||||
|       set_matrix(); | ||||
|       glutPostRedisplay(); | ||||
|       break; | ||||
|    case '-': | ||||
|    case '_': | ||||
|       plane[3] += 2.0; | ||||
|       glMatrixMode(GL_MODELVIEW); | ||||
|       glLoadIdentity(); | ||||
|       glClipPlane(GL_CLIP_PLANE0, plane); | ||||
|       set_matrix(); | ||||
|       glutPostRedisplay(); | ||||
|    case ' ': | ||||
|       Init(0,0); | ||||
|       break; | ||||
|    case '+': | ||||
|    case '=': | ||||
|       plane[3] -= 2.0; | ||||
|       glMatrixMode(GL_MODELVIEW); | ||||
|       glLoadIdentity(); | ||||
|       glClipPlane(GL_CLIP_PLANE0, plane); | ||||
|       set_matrix(); | ||||
|       glutPostRedisplay(); | ||||
|       break; | ||||
|  | ||||
|    } | ||||
| } | ||||
|  | ||||
| @@ -854,6 +643,15 @@ static GLint Args(int argc, char **argv) | ||||
|       else if (strcmp(argv[i], "-info") == 0) { | ||||
|          PrintInfo = GL_TRUE; | ||||
|       } | ||||
|       else if (strcmp(argv[i], "-10") == 0) { | ||||
|          maxverts = 10; | ||||
|       } | ||||
|       else if (strcmp(argv[i], "-100") == 0) { | ||||
| 	 maxverts = 100; | ||||
|       } | ||||
|       else if (strcmp(argv[i], "-1000") == 0) { | ||||
| 	 maxverts = 1000; | ||||
|       } | ||||
|       else { | ||||
|          printf("%s (Bad option).\n", argv[i]); | ||||
| 	 return QUIT; | ||||
| @@ -877,7 +675,7 @@ int main(int argc, char **argv) | ||||
|  | ||||
|    glutInitWindowPosition(0, 0); | ||||
|    glutInitWindowSize(400, 400); | ||||
|     | ||||
|  | ||||
|    type = GLUT_DEPTH; | ||||
|    type |= GLUT_RGB; | ||||
|    type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE; | ||||
| @@ -890,70 +688,24 @@ int main(int argc, char **argv) | ||||
|    /* Make sure server supports the vertex array extension */ | ||||
|    extensions = (char *) glGetString( GL_EXTENSIONS ); | ||||
|  | ||||
|    if (!strstr( extensions, "GL_EXT_vertex_array" ))  | ||||
|    { | ||||
|       printf("Vertex arrays not supported by this renderer\n"); | ||||
|       allowed &= ~(COMPILED|DRAW_ARRAYS|ARRAY_ELT); | ||||
|    } | ||||
|    else if (!strstr( extensions, "GL_EXT_compiled_vertex_array" ))  | ||||
|    { | ||||
|       printf("Compiled vertex arrays not supported by this renderer\n"); | ||||
|       allowed &= ~COMPILED; | ||||
|    } | ||||
|  | ||||
|    Init(argc, argv); | ||||
|    ModeMenu(arg_mode); | ||||
|     | ||||
|  | ||||
|    glutCreateMenu(ModeMenu); | ||||
|    glutAddMenuEntry("GL info",               GLINFO);    | ||||
|    glutAddMenuEntry("", 0);    | ||||
|    glutAddMenuEntry("Lit",                   LIT|NO_TEXTURE|NO_REFLECT); | ||||
|    glutAddMenuEntry("Unlit",                 UNLIT|NO_TEXTURE|NO_REFLECT); | ||||
| /*    glutAddMenuEntry("Textured", TEXTURE); */ | ||||
|    glutAddMenuEntry("Reflect",               TEXTURE|REFLECT); | ||||
|    glutAddMenuEntry("", 0);    | ||||
|    glutAddMenuEntry("GL info",               GLINFO); | ||||
|    glutAddMenuEntry("", 0); | ||||
|    glutAddMenuEntry("", 0); | ||||
|    glutAddMenuEntry("Smooth",                SHADE_SMOOTH); | ||||
|    glutAddMenuEntry("Flat",                  SHADE_FLAT); | ||||
|    glutAddMenuEntry("", 0);    | ||||
|    glutAddMenuEntry("Fog",                   FOG); | ||||
|    glutAddMenuEntry("No Fog",                NO_FOG); | ||||
|    glutAddMenuEntry("", 0);    | ||||
|    glutAddMenuEntry("Stipple",               STIPPLE); | ||||
|    glutAddMenuEntry("No Stipple",            NO_STIPPLE); | ||||
|    glutAddMenuEntry("", 0);    | ||||
|    glutAddMenuEntry("Point Filtered",        POINT_FILTER); | ||||
|    glutAddMenuEntry("Linear Filtered",       LINEAR_FILTER); | ||||
|    glutAddMenuEntry("", 0);    | ||||
|    glutAddMenuEntry("glVertex (STRIPS)",    IMMEDIATE|GLVERTEX|STRIPS); | ||||
|    glutAddMenuEntry("glVertex (TRIANGLES)", IMMEDIATE|GLVERTEX|TRIANGLES); | ||||
|    glutAddMenuEntry("", 0);    | ||||
|    glutAddMenuEntry("glVertex display list (STRIPS)",  | ||||
| 		    DISPLAYLIST|GLVERTEX|STRIPS); | ||||
|    glutAddMenuEntry("", 0);    | ||||
|    if (allowed & DRAW_ARRAYS) { | ||||
|       glutAddMenuEntry("DrawArrays (STRIPS)", | ||||
| 		       IMMEDIATE|DRAW_ARRAYS|STRIPS); | ||||
|       glutAddMenuEntry("ArrayElement (STRIPS)",   | ||||
| 		       IMMEDIATE|ARRAY_ELT|STRIPS); | ||||
|       glutAddMenuEntry("DrawElements (TRIANGLES)",  | ||||
| 		       IMMEDIATE|DRAW_ARRAYS|TRIANGLES); | ||||
|       glutAddMenuEntry("ArrayElement (TRIANGLES)",  | ||||
| 		       IMMEDIATE|ARRAY_ELT|TRIANGLES); | ||||
|       glutAddMenuEntry("", 0);    | ||||
|  | ||||
|    } | ||||
|    if (allowed & COMPILED) { | ||||
|       glutAddMenuEntry("Compiled DrawElements (TRIANGLES)",  | ||||
| 		       COMPILED|DRAW_ARRAYS|TRIANGLES); | ||||
|       glutAddMenuEntry("Compiled DrawElements (STRIPS)",  | ||||
| 		       COMPILED|DRAW_ARRAYS|STRIPS); | ||||
|       glutAddMenuEntry("Compiled ArrayElement (TRIANGLES)",  | ||||
| 		       COMPILED|ARRAY_ELT|TRIANGLES);    | ||||
|       glutAddMenuEntry("Compiled ArrayElement (STRIPS)",  | ||||
| 		       COMPILED|ARRAY_ELT|STRIPS);    | ||||
|       glutAddMenuEntry("", 0);    | ||||
|    } | ||||
|    glutAddMenuEntry("Quit",                  QUIT); | ||||
|    glutAddMenuEntry("", 0); | ||||
|    glutAddMenuEntry("", 0); | ||||
|    glutAddMenuEntry("GL_TRIANGLES",          TRIANGLES); | ||||
|    glutAddMenuEntry("GL_TRIANGLE_STRIPS",    STRIPS); | ||||
|    glutAddMenuEntry("GL_POINTS",             POINTS); | ||||
|    glutAddMenuEntry("", 0); | ||||
|    glutAddMenuEntry("", 0); | ||||
|    glutAddMenuEntry("Quit",                   QUIT); | ||||
|    glutAttachMenu(GLUT_RIGHT_BUTTON); | ||||
|  | ||||
|    glutReshapeFunc(Reshape); | ||||
| @@ -961,6 +713,9 @@ int main(int argc, char **argv) | ||||
|    glutSpecialFunc(SpecialKey); | ||||
|    glutDisplayFunc(Display); | ||||
|  | ||||
|    Benchmark(5,0);  | ||||
|    Benchmark(5,0);  | ||||
|    Benchmark(5,0);  | ||||
|    glutMainLoop(); | ||||
|    return 0; | ||||
| } | ||||
|   | ||||
| @@ -33,14 +33,14 @@ | ||||
| #include <GL/glut.h> | ||||
| #include <GL/glext.h> | ||||
|  | ||||
| #include "../util/readtex.c"   /* I know, this is a hack. */ | ||||
| #include "readtex.c"   /* I know, this is a hack. */ | ||||
|  | ||||
| #define TEXTURE_FILE "../images/girl.rgb" | ||||
|  | ||||
| static GLfloat Xrot = 0, Yrot = -30, Zrot = 0; | ||||
| static GLboolean Anim = GL_TRUE; | ||||
| static GLint Bias = 0, BiasStepSign = +1; /* ints avoid fp precision problem */ | ||||
| static GLint BiasMin = -200, BiasMax = 500; | ||||
| static GLint BiasMin = -400, BiasMax = 400; | ||||
|  | ||||
|  | ||||
|  | ||||
| @@ -192,6 +192,8 @@ static void SpecialKey( int key, int x, int y ) | ||||
| static void Init( void ) | ||||
| { | ||||
|    const char *exten = (const char *) glGetString(GL_EXTENSIONS); | ||||
|    GLfloat maxBias; | ||||
|  | ||||
|    if (!strstr(exten, "GL_EXT_texture_lod_bias")) { | ||||
|       printf("Sorry, GL_EXT_texture_lod_bias not supported by this renderer.\n"); | ||||
|       exit(1); | ||||
| @@ -207,6 +209,11 @@ static void Init( void ) | ||||
|    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); | ||||
|    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); | ||||
|    glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); | ||||
|  | ||||
|    glGetFloatv(GL_MAX_TEXTURE_LOD_BIAS_EXT, &maxBias); | ||||
|    printf("LOD bias range: [%g, %g]\n", -maxBias, maxBias); | ||||
|    BiasMin = -100 * maxBias; | ||||
|    BiasMax =  100 * maxBias; | ||||
| } | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| /* $Id: multiarb.c,v 1.6 2000/05/23 23:21:00 brianp Exp $ */ | ||||
| /* $Id: multiarb.c,v 1.11 2002/02/13 02:23:33 brianp Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * GL_ARB_multitexture demo | ||||
| @@ -8,37 +8,7 @@ | ||||
|  * | ||||
|  * | ||||
|  * Brian Paul  November 1998  This program is in the public domain. | ||||
|  */ | ||||
|  | ||||
| /* | ||||
|  * $Log: multiarb.c,v $ | ||||
|  * Revision 1.6  2000/05/23 23:21:00  brianp | ||||
|  * set default window pos | ||||
|  * | ||||
|  * Revision 1.5  2000/02/02 17:31:45  brianp | ||||
|  * changed > to >= | ||||
|  * | ||||
|  * Revision 1.4  2000/02/02 01:07:21  brianp | ||||
|  * limit Drift to [0, 1] | ||||
|  * | ||||
|  * Revision 1.3  1999/10/21 16:40:32  brianp | ||||
|  * added -info command line option | ||||
|  * | ||||
|  * Revision 1.2  1999/10/13 12:02:13  brianp | ||||
|  * use texture objects now | ||||
|  * | ||||
|  * Revision 1.1.1.1  1999/08/19 00:55:40  jtg | ||||
|  * Imported sources | ||||
|  * | ||||
|  * Revision 1.3  1999/03/28 18:20:49  brianp | ||||
|  * minor clean-up | ||||
|  * | ||||
|  * Revision 1.2  1998/11/05 04:34:04  brianp | ||||
|  * moved image files to ../images/ directory | ||||
|  * | ||||
|  * Revision 1.1  1998/11/03 01:36:33  brianp | ||||
|  * Initial revision | ||||
|  * | ||||
|  * Modified on 12 Feb 2002 for > 2 texture units. | ||||
|  */ | ||||
|  | ||||
|  | ||||
| @@ -48,18 +18,19 @@ | ||||
| #include <string.h> | ||||
| #include <GL/glut.h> | ||||
|  | ||||
| #include "../util/readtex.c"   /* I know, this is a hack. */ | ||||
| #include "readtex.c"   /* I know, this is a hack. */ | ||||
|  | ||||
| #define TEXTURE_1_FILE "../images/girl.rgb" | ||||
| #define TEXTURE_2_FILE "../images/reflect.rgb" | ||||
|  | ||||
| #define TEX0 1 | ||||
| #define TEX1 2 | ||||
| #define TEXBOTH 3 | ||||
| #define TEX7 8 | ||||
| #define ANIMATE 10 | ||||
| #define QUIT 100 | ||||
|  | ||||
| static GLboolean Animate = GL_TRUE; | ||||
| static GLint NumUnits = 1; | ||||
| static GLboolean TexEnabled[8]; | ||||
|  | ||||
| static GLfloat Drift = 0.0; | ||||
| static GLfloat Xrot = 20.0, Yrot = 30.0, Zrot = 0.0; | ||||
| @@ -69,24 +40,30 @@ static GLfloat Xrot = 20.0, Yrot = 30.0, Zrot = 0.0; | ||||
| static void Idle( void ) | ||||
| { | ||||
|    if (Animate) { | ||||
|       GLint i; | ||||
|  | ||||
|       Drift += 0.05; | ||||
|       if (Drift >= 1.0) | ||||
|          Drift = 0.0; | ||||
|  | ||||
| #ifdef GL_ARB_multitexture | ||||
|       glActiveTextureARB(GL_TEXTURE0_ARB); | ||||
| #endif | ||||
|       glMatrixMode(GL_TEXTURE); | ||||
|       glLoadIdentity(); | ||||
|       glTranslatef(Drift, 0.0, 0.0); | ||||
|       glMatrixMode(GL_MODELVIEW); | ||||
|  | ||||
| #ifdef GL_ARB_multitexture | ||||
|       glActiveTextureARB(GL_TEXTURE1_ARB); | ||||
| #endif | ||||
|       glMatrixMode(GL_TEXTURE); | ||||
|       glLoadIdentity(); | ||||
|       glTranslatef(0.0, Drift, 0.0); | ||||
|       for (i = 0; i < NumUnits; i++) { | ||||
|          glActiveTextureARB(GL_TEXTURE0_ARB + i); | ||||
|          glMatrixMode(GL_TEXTURE); | ||||
|          glLoadIdentity(); | ||||
|          if (i == 0) { | ||||
|             glTranslatef(Drift, 0.0, 0.0); | ||||
|             glScalef(2, 2, 2); | ||||
|          } | ||||
|          else if (i == 1) { | ||||
|             glTranslatef(0.0, Drift, 0.0); | ||||
|          } | ||||
|          else { | ||||
|             glTranslatef(0.5, 0.5, 0.0); | ||||
|             glRotatef(180.0 * Drift, 0, 0, 1); | ||||
|             glScalef(1.0/i, 1.0/i, 1.0/i); | ||||
|             glTranslatef(-0.5, -0.5, 0.0); | ||||
|          } | ||||
|       } | ||||
|       glMatrixMode(GL_MODELVIEW); | ||||
|  | ||||
|       glutPostRedisplay(); | ||||
| @@ -96,37 +73,30 @@ static void Idle( void ) | ||||
|  | ||||
| static void DrawObject(void) | ||||
| { | ||||
|    GLint i; | ||||
|  | ||||
|    if (!TexEnabled[0] && !TexEnabled[1]) | ||||
|       glColor3f(0.1, 0.1, 0.1);  /* add onto this */ | ||||
|    else | ||||
|       glColor3f(1, 1, 1);  /* modulate this */ | ||||
|  | ||||
|    glBegin(GL_QUADS); | ||||
|  | ||||
| #ifdef GL_ARB_multitexture | ||||
|    glMultiTexCoord2fARB(GL_TEXTURE0_ARB, 0.0, 0.0); | ||||
|    glMultiTexCoord2fARB(GL_TEXTURE1_ARB, 0.0, 0.0); | ||||
|    for (i = 0; i < NumUnits; i++) | ||||
|       glMultiTexCoord2fARB(GL_TEXTURE0_ARB + i, 0.0, 0.0); | ||||
|    glVertex2f(-1.0, -1.0); | ||||
|  | ||||
|    glMultiTexCoord2fARB(GL_TEXTURE0_ARB, 2.0, 0.0); | ||||
|    glMultiTexCoord2fARB(GL_TEXTURE1_ARB, 1.0, 0.0); | ||||
|    for (i = 0; i < NumUnits; i++) | ||||
|       glMultiTexCoord2fARB(GL_TEXTURE0_ARB + i, 1.0, 0.0); | ||||
|    glVertex2f(1.0, -1.0); | ||||
|  | ||||
|    glMultiTexCoord2fARB(GL_TEXTURE0_ARB, 2.0, 2.0); | ||||
|    glMultiTexCoord2fARB(GL_TEXTURE1_ARB, 1.0, 1.0); | ||||
|    for (i = 0; i < NumUnits; i++) | ||||
|       glMultiTexCoord2fARB(GL_TEXTURE0_ARB + i, 1.0, 1.0); | ||||
|    glVertex2f(1.0, 1.0); | ||||
|  | ||||
|    glMultiTexCoord2fARB(GL_TEXTURE0_ARB, 0.0, 2.0); | ||||
|    glMultiTexCoord2fARB(GL_TEXTURE1_ARB, 0.0, 1.0); | ||||
|    for (i = 0; i < NumUnits; i++) | ||||
|       glMultiTexCoord2fARB(GL_TEXTURE0_ARB + i, 0.0, 1.0); | ||||
|    glVertex2f(-1.0, 1.0); | ||||
| #else | ||||
|    glTexCoord2f(0.0, 0.0); | ||||
|    glVertex2f(-1.0, -1.0); | ||||
|  | ||||
|    glTexCoord2f(1.0, 0.0); | ||||
|    glVertex2f(1.0, -1.0); | ||||
|  | ||||
|    glTexCoord2f(1.0, 1.0); | ||||
|    glVertex2f(1.0, 1.0); | ||||
|  | ||||
|    glTexCoord2f(0.0, 1.0); | ||||
|    glVertex2f(-1.0, 1.0); | ||||
| #endif | ||||
|  | ||||
|    glEnd(); | ||||
| } | ||||
| @@ -164,16 +134,19 @@ static void Reshape( int width, int height ) | ||||
|  | ||||
| static void ModeMenu(int entry) | ||||
| { | ||||
|    GLboolean enable0 = GL_FALSE, enable1 = GL_FALSE; | ||||
|    if (entry==TEX0) { | ||||
|       enable0 = GL_TRUE; | ||||
|    } | ||||
|    else if (entry==TEX1) { | ||||
|       enable1 = GL_TRUE; | ||||
|    } | ||||
|    else if (entry==TEXBOTH) { | ||||
|       enable0 = GL_TRUE; | ||||
|       enable1 = GL_TRUE; | ||||
|    if (entry >= TEX0 && entry <= TEX7) { | ||||
|       /* toggle */ | ||||
|       GLint i = entry - TEX0; | ||||
|       TexEnabled[i] = !TexEnabled[i]; | ||||
|       glActiveTextureARB(GL_TEXTURE0_ARB + i); | ||||
|       if (TexEnabled[i]) | ||||
|          glEnable(GL_TEXTURE_2D); | ||||
|       else | ||||
|          glDisable(GL_TEXTURE_2D); | ||||
|       printf("Enabled: "); | ||||
|       for (i = 0; i < NumUnits; i++) | ||||
|          printf("%d ", (int) TexEnabled[i]); | ||||
|       printf("\n"); | ||||
|    } | ||||
|    else if (entry==ANIMATE) { | ||||
|       Animate = !Animate; | ||||
| @@ -182,26 +155,6 @@ static void ModeMenu(int entry) | ||||
|       exit(0); | ||||
|    } | ||||
|  | ||||
|    if (entry != ANIMATE) { | ||||
| #ifdef GL_ARB_multitexture | ||||
|       glActiveTextureARB(GL_TEXTURE0_ARB); | ||||
| #endif | ||||
|       if (enable0) { | ||||
|          glEnable(GL_TEXTURE_2D); | ||||
|       } | ||||
|       else | ||||
|          glDisable(GL_TEXTURE_2D); | ||||
|  | ||||
| #ifdef GL_ARB_multitexture | ||||
|       glActiveTextureARB(GL_TEXTURE1_ARB); | ||||
| #endif | ||||
|       if (enable1) { | ||||
|          glEnable(GL_TEXTURE_2D); | ||||
|       } | ||||
|       else | ||||
|          glDisable(GL_TEXTURE_2D); | ||||
|    } | ||||
|  | ||||
|    glutPostRedisplay(); | ||||
| } | ||||
|  | ||||
| @@ -245,7 +198,8 @@ static void SpecialKey( int key, int x, int y ) | ||||
|  | ||||
| static void Init( int argc, char *argv[] ) | ||||
| { | ||||
|    GLuint texObj[2]; | ||||
|    GLuint texObj[8]; | ||||
|    GLint size, i; | ||||
|  | ||||
|    const char *exten = (const char *) glGetString(GL_EXTENSIONS); | ||||
|    if (!strstr(exten, "GL_ARB_multitexture")) { | ||||
| @@ -253,62 +207,82 @@ static void Init( int argc, char *argv[] ) | ||||
|       exit(1); | ||||
|    } | ||||
|  | ||||
|    /* allocate two texture objects */ | ||||
|    glGenTextures(2, texObj); | ||||
|    glGetIntegerv(GL_MAX_TEXTURE_UNITS_ARB, &NumUnits); | ||||
|    printf("%d texture units supported\n", NumUnits); | ||||
|    if (NumUnits > 8) | ||||
|       NumUnits = 8; | ||||
|  | ||||
|    /* setup texture obj 0 */ | ||||
|    glBindTexture(GL_TEXTURE_2D, texObj[0]); | ||||
| #ifdef LINEAR_FILTER | ||||
|    /* linear filtering looks much nicer but is much slower for Mesa */ | ||||
|    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); | ||||
|    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); | ||||
| #else | ||||
|    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); | ||||
|    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); | ||||
| #endif | ||||
|  | ||||
|    glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); | ||||
|    glGetIntegerv(GL_MAX_TEXTURE_SIZE, &size); | ||||
|    printf("%d x %d max texture size\n", size, size); | ||||
|  | ||||
|    glPixelStorei(GL_UNPACK_ALIGNMENT, 1); | ||||
|  | ||||
|    if (!LoadRGBMipmaps(TEXTURE_1_FILE, GL_RGB)) { | ||||
|       printf("Error: couldn't load texture image\n"); | ||||
|       exit(1); | ||||
|    for (i = 0; i < NumUnits; i++) { | ||||
|       if (i < 2) | ||||
|          TexEnabled[i] = GL_TRUE; | ||||
|       else | ||||
|          TexEnabled[i] = GL_FALSE; | ||||
|    } | ||||
|  | ||||
|    /* allocate two texture objects */ | ||||
|    glGenTextures(NumUnits, texObj); | ||||
|  | ||||
|    /* setup texture obj 1 */ | ||||
|    glBindTexture(GL_TEXTURE_2D, texObj[1]); | ||||
| #ifdef LINEAR_FILTER | ||||
|    /* linear filtering looks much nicer but is much slower for Mesa */ | ||||
|    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); | ||||
|    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); | ||||
| #else | ||||
|    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); | ||||
|    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); | ||||
| #endif | ||||
|    /* setup the texture objects */ | ||||
|    for (i = 0; i < NumUnits; i++) { | ||||
|  | ||||
|    glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); | ||||
|       glActiveTextureARB(GL_TEXTURE0_ARB + i); | ||||
|       glBindTexture(GL_TEXTURE_2D, texObj[i]); | ||||
|  | ||||
|    if (!LoadRGBMipmaps(TEXTURE_2_FILE, GL_RGB)) { | ||||
|       printf("Error: couldn't load texture image\n"); | ||||
|       exit(1); | ||||
|       glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); | ||||
|       glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); | ||||
|  | ||||
|       if (i == 0) { | ||||
|          if (!LoadRGBMipmaps(TEXTURE_1_FILE, GL_RGB)) { | ||||
|             printf("Error: couldn't load texture image\n"); | ||||
|             exit(1); | ||||
|          } | ||||
|       } | ||||
|       else if (i == 1) { | ||||
|          if (!LoadRGBMipmaps(TEXTURE_2_FILE, GL_RGB)) { | ||||
|             printf("Error: couldn't load texture image\n"); | ||||
|             exit(1); | ||||
|          } | ||||
|       } | ||||
|       else { | ||||
|          /* checker */ | ||||
|          GLubyte image[8][8][3]; | ||||
|          GLint i, j; | ||||
|          for (i = 0; i < 8; i++) { | ||||
|             for (j = 0; j < 8; j++) { | ||||
|                if ((i + j) & 1) { | ||||
|                   image[i][j][0] = 50; | ||||
|                   image[i][j][1] = 50; | ||||
|                   image[i][j][2] = 50; | ||||
|                } | ||||
|                else { | ||||
|                   image[i][j][0] = 25; | ||||
|                   image[i][j][1] = 25; | ||||
|                   image[i][j][2] = 25; | ||||
|                } | ||||
|             } | ||||
|          } | ||||
|          glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 8, 8, 0, | ||||
|                       GL_RGB, GL_UNSIGNED_BYTE, (GLvoid *) image); | ||||
|       } | ||||
|  | ||||
|       /* Bind texObj[i] to ith texture unit */ | ||||
|       if (i < 2) | ||||
|          glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); | ||||
|       else | ||||
|          glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_ADD); | ||||
|  | ||||
|       if (TexEnabled[i]) | ||||
|          glEnable(GL_TEXTURE_2D); | ||||
|    } | ||||
|  | ||||
|  | ||||
|    /* now bind the texture objects to the respective texture units */ | ||||
| #ifdef GL_ARB_multitexture | ||||
|    glActiveTextureARB(GL_TEXTURE0_ARB); | ||||
|    glBindTexture(GL_TEXTURE_2D, texObj[0]); | ||||
|    glActiveTextureARB(GL_TEXTURE1_ARB); | ||||
|    glBindTexture(GL_TEXTURE_2D, texObj[1]); | ||||
| #endif | ||||
|  | ||||
|    glShadeModel(GL_FLAT); | ||||
|    glClearColor(0.3, 0.3, 0.4, 1.0); | ||||
|  | ||||
|    ModeMenu(TEXBOTH); | ||||
|  | ||||
|    if (argc > 1 && strcmp(argv[1], "-info")==0) { | ||||
|       printf("GL_RENDERER   = %s\n", (char *) glGetString(GL_RENDERER)); | ||||
|       printf("GL_VERSION    = %s\n", (char *) glGetString(GL_VERSION)); | ||||
| @@ -320,6 +294,8 @@ static void Init( int argc, char *argv[] ) | ||||
|  | ||||
| int main( int argc, char *argv[] ) | ||||
| { | ||||
|    GLint i; | ||||
|  | ||||
|    glutInit( &argc, argv ); | ||||
|    glutInitWindowSize( 300, 300 ); | ||||
|    glutInitWindowPosition( 0, 0 ); | ||||
| @@ -335,9 +311,12 @@ int main( int argc, char *argv[] ) | ||||
|    glutIdleFunc( Idle ); | ||||
|  | ||||
|    glutCreateMenu(ModeMenu); | ||||
|    glutAddMenuEntry("Texture 0", TEX0); | ||||
|    glutAddMenuEntry("Texture 1", TEX1); | ||||
|    glutAddMenuEntry("Multi-texture", TEXBOTH); | ||||
|  | ||||
|    for (i = 0; i < NumUnits; i++) { | ||||
|       char s[100]; | ||||
|       sprintf(s, "Toggle Texture %d", i); | ||||
|       glutAddMenuEntry(s, TEX0 + i); | ||||
|    } | ||||
|    glutAddMenuEntry("Toggle Animation", ANIMATE); | ||||
|    glutAddMenuEntry("Quit", QUIT); | ||||
|    glutAttachMenu(GLUT_RIGHT_BUTTON); | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| /* $Id: osdemo.c,v 1.4 2000/03/28 16:59:39 rjfrank Exp $ */ | ||||
| /* $Id: osdemo.c,v 1.9 2002/07/12 15:54:19 brianp Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * Demo of off-screen Mesa rendering | ||||
| @@ -14,11 +14,17 @@ | ||||
|  * | ||||
|  * PPM output provided by Joerg Schmalzl. | ||||
|  * ASCII PPM output added by Brian Paul. | ||||
|  * | ||||
|  * Usage: osdemo [-perf] [filename] | ||||
|  * | ||||
|  * -perf: Redraws the image 1000 times, displaying the FPS every 5 secs. | ||||
|  * filename: file to store the TGA or PPM output | ||||
|  */ | ||||
|  | ||||
|  | ||||
| #include <stdio.h> | ||||
| #include <stdlib.h> | ||||
| #include <string.h> | ||||
| #include "GL/osmesa.h" | ||||
| #include "GL/glut.h" | ||||
|  | ||||
| @@ -29,7 +35,9 @@ | ||||
| #define WIDTH 400 | ||||
| #define HEIGHT 400 | ||||
|  | ||||
|  | ||||
| static GLint T0 = 0; | ||||
| static GLint Frames = 0; | ||||
| static int perf = 0; | ||||
|  | ||||
| static void render_image( void ) | ||||
| { | ||||
| @@ -76,7 +84,7 @@ static void render_image( void ) | ||||
|    glPopMatrix(); | ||||
|  | ||||
| #ifdef GL_HP_occlusion_test | ||||
|    { | ||||
|    if (perf == 0) { | ||||
|       GLboolean bRet; | ||||
|       glDepthMask(GL_FALSE); | ||||
|       glColorMask(GL_FALSE,GL_FALSE,GL_FALSE,GL_FALSE); | ||||
| @@ -105,7 +113,7 @@ static void render_image( void ) | ||||
|    glPopMatrix(); | ||||
|  | ||||
| #ifdef GL_HP_occlusion_test | ||||
|    { | ||||
|    if (perf == 0){ | ||||
|       GLboolean bRet; | ||||
|  | ||||
|       glDepthMask(GL_FALSE); | ||||
| @@ -130,9 +138,22 @@ static void render_image( void ) | ||||
| #endif | ||||
|  | ||||
|    glPopMatrix(); | ||||
|  | ||||
|    Frames++; | ||||
|    if (perf) { | ||||
|      GLint t = glutGet(GLUT_ELAPSED_TIME); | ||||
|      if (t - T0 >= 5000) { | ||||
|         GLfloat seconds = (t - T0) / 1000.0; | ||||
|         GLfloat fps = Frames / seconds; | ||||
|         printf("%d frames in %6.3f seconds = %6.3f FPS\n", Frames, seconds, fps); | ||||
|         T0 = t; | ||||
|         Frames = 0; | ||||
|      } | ||||
|    } | ||||
| } | ||||
|  | ||||
|  | ||||
| #ifdef SAVE_TARGA | ||||
|  | ||||
| static void | ||||
| write_targa(const char *filename, const GLubyte *buffer, int width, int height) | ||||
| @@ -173,6 +194,7 @@ write_targa(const char *filename, const GLubyte *buffer, int width, int height) | ||||
|    } | ||||
| } | ||||
|  | ||||
| #else | ||||
|  | ||||
| static void | ||||
| write_ppm(const char *filename, const GLubyte *buffer, int width, int height) | ||||
| @@ -219,26 +241,65 @@ write_ppm(const char *filename, const GLubyte *buffer, int width, int height) | ||||
|    } | ||||
| } | ||||
|  | ||||
| #endif | ||||
|  | ||||
|  | ||||
|  | ||||
| int main( int argc, char *argv[] ) | ||||
| { | ||||
|    void *buffer; | ||||
|    int i; | ||||
|    char *filename = NULL; | ||||
|  | ||||
|    /* Create an RGBA-mode context */ | ||||
|    OSMesaContext ctx = OSMesaCreateContext( GL_RGBA, NULL ); | ||||
| #if OSMESA_MAJOR_VERSION * 100 + OSMESA_MINOR_VERSION >= 305 | ||||
|    /* specify Z, stencil, accum sizes */ | ||||
|    OSMesaContext ctx = OSMesaCreateContextExt( OSMESA_RGBA, 16, 0, 0, NULL ); | ||||
| #else | ||||
|    OSMesaContext ctx = OSMesaCreateContext( OSMESA_RGBA, NULL ); | ||||
| #endif | ||||
|    if (!ctx) { | ||||
|       printf("OSMesaCreateContext failed!\n"); | ||||
|       return 0; | ||||
|    } | ||||
|  | ||||
|    for ( i=1; i<argc; i++ ) { | ||||
|       if (argv[i][0] != '-') filename = argv[i]; | ||||
|       if (strcmp(argv[i], "-perf")==0) perf = 1; | ||||
|    } | ||||
|  | ||||
|    /* Allocate the image buffer */ | ||||
|    void *buffer = malloc( WIDTH * HEIGHT * 4 ); | ||||
|    buffer = malloc( WIDTH * HEIGHT * 4 * sizeof(GLubyte) ); | ||||
|    if (!buffer) { | ||||
|       printf("Alloc image buffer failed!\n"); | ||||
|       return 0; | ||||
|    } | ||||
|  | ||||
|    /* Bind the buffer to the context and make it current */ | ||||
|    OSMesaMakeCurrent( ctx, buffer, GL_UNSIGNED_BYTE, WIDTH, HEIGHT ); | ||||
|    if (!OSMesaMakeCurrent( ctx, buffer, GL_UNSIGNED_BYTE, WIDTH, HEIGHT )) { | ||||
|       printf("OSMesaMakeCurrent failed!\n"); | ||||
|       return 0; | ||||
|    } | ||||
|       | ||||
|  | ||||
|    { | ||||
|       int z, s, a; | ||||
|       glGetIntegerv(GL_DEPTH_BITS, &z); | ||||
|       glGetIntegerv(GL_STENCIL_BITS, &s); | ||||
|       glGetIntegerv(GL_ACCUM_RED_BITS, &a); | ||||
|       printf("Depth=%d Stencil=%d Accum=%d\n", z, s, a); | ||||
|    } | ||||
|  | ||||
|    render_image(); | ||||
|    if (perf) | ||||
|       for(i=0; i< 1000; i++) | ||||
|          render_image(); | ||||
|  | ||||
|    if (argc>1) { | ||||
|    if (filename != NULL) { | ||||
| #ifdef SAVE_TARGA | ||||
|       write_targa(argv[1], buffer, WIDTH, HEIGHT); | ||||
|       write_targa(filename, buffer, WIDTH, HEIGHT); | ||||
| #else | ||||
|       write_ppm(argv[1], buffer, WIDTH, HEIGHT); | ||||
|       write_ppm(filename, buffer, WIDTH, HEIGHT); | ||||
| #endif | ||||
|    } | ||||
|    else { | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| /* $Id: paltex.c,v 1.4 2000/06/27 17:12:10 brianp Exp $ */ | ||||
| /* $Id: paltex.c,v 1.9 2002/07/22 13:45:31 brianp Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * Paletted texture demo.  Written by Brian Paul. | ||||
| @@ -8,27 +8,41 @@ | ||||
| #include <stdio.h> | ||||
| #include <stdlib.h> | ||||
| #include <math.h> | ||||
| #include <string.h> | ||||
| #ifdef _WIN32 | ||||
| #include <windows.h> | ||||
| #endif | ||||
| #define GL_GLEXT_LEGACY | ||||
| #include <GL/glut.h> | ||||
|  | ||||
|  | ||||
| static float Rot = 0.0; | ||||
| static GLboolean Anim = 1; | ||||
|  | ||||
|  | ||||
| static void Idle( void ) | ||||
| { | ||||
|    Rot += 5.0; | ||||
|    float t = glutGet(GLUT_ELAPSED_TIME) * 0.001;  /* in seconds */ | ||||
|    Rot = t * 360 / 4;  /* 1 rotation per 4 seconds */ | ||||
|    glutPostRedisplay(); | ||||
| } | ||||
|  | ||||
|  | ||||
| static void Display( void ) | ||||
| { | ||||
|    glClear( GL_COLOR_BUFFER_BIT ); | ||||
|    /* draw background gradient */ | ||||
|    glDisable(GL_TEXTURE_2D); | ||||
|    glBegin(GL_POLYGON); | ||||
|    glColor3f(1.0, 0.0, 0.2); glVertex2f(-1.5, -1.0); | ||||
|    glColor3f(1.0, 0.0, 0.2); glVertex2f( 1.5, -1.0); | ||||
|    glColor3f(0.0, 0.0, 1.0); glVertex2f( 1.5,  1.0); | ||||
|    glColor3f(0.0, 0.0, 1.0); glVertex2f(-1.5,  1.0); | ||||
|    glEnd(); | ||||
|  | ||||
|    glPushMatrix(); | ||||
|    glRotatef(Rot, 0, 0, 1); | ||||
|  | ||||
|    glEnable(GL_TEXTURE_2D); | ||||
|    glBegin(GL_POLYGON); | ||||
|    glTexCoord2f(0, 1);  glVertex2f(-1, -0.5); | ||||
|    glTexCoord2f(1, 1);  glVertex2f( 1, -0.5); | ||||
| @@ -47,10 +61,9 @@ static void Reshape( int width, int height ) | ||||
|    glViewport( 0, 0, width, height ); | ||||
|    glMatrixMode( GL_PROJECTION ); | ||||
|    glLoadIdentity(); | ||||
|    glFrustum( -1.0, 1.0, -1.0, 1.0, 5.0, 25.0 ); | ||||
|    glOrtho( -1.5, 1.5, -1.0, 1.0, -1.0, 1.0 ); | ||||
|    glMatrixMode( GL_MODELVIEW ); | ||||
|    glLoadIdentity(); | ||||
|    glTranslatef( 0.0, 0.0, -7.0 ); | ||||
| } | ||||
|  | ||||
|  | ||||
| @@ -62,6 +75,16 @@ static void Key( unsigned char key, int x, int y ) | ||||
|       case 27: | ||||
|          exit(0); | ||||
|          break; | ||||
|       case 's': | ||||
|          Rot += 0.5; | ||||
|          break; | ||||
|       case ' ': | ||||
|          Anim = !Anim; | ||||
|          if (Anim) | ||||
|             glutIdleFunc( Idle ); | ||||
|          else | ||||
|             glutIdleFunc( NULL ); | ||||
|          break; | ||||
|    } | ||||
|    glutPostRedisplay(); | ||||
| } | ||||
| @@ -71,15 +94,16 @@ static void Init( void ) | ||||
| { | ||||
| #define HEIGHT 8 | ||||
| #define WIDTH 32 | ||||
|    static char texture[HEIGHT][WIDTH] = { | ||||
|          "                                ", | ||||
|          "    MMM    EEEE   SSS    AAA    ", | ||||
|          "   M M M  E      S   S  A   A   ", | ||||
|          "   M M M  EEEE    SS    A   A   ", | ||||
|          "   M M M  E         SS  AAAAA   ", | ||||
|          "   M   M  E      S   S  A   A   ", | ||||
|          "   M   M   EEEE   SSS   A   A   ", | ||||
|          "                                " | ||||
|    /* 257 = HEIGHT * WIDTH + 1 (for trailing '\0') */ | ||||
|    static char texture[257] = {"\ | ||||
|                                 \ | ||||
|     MMM    EEEE   SSS    AAA    \ | ||||
|    M M M  E      S   S  A   A   \ | ||||
|    M M M  EEEE    SS    A   A   \ | ||||
|    M M M  E         SS  AAAAA   \ | ||||
|    M   M  E      S   S  A   A   \ | ||||
|    M   M   EEEE   SSS   A   A   \ | ||||
|                                 " | ||||
|       }; | ||||
|    GLubyte table[256][4]; | ||||
|  | ||||
| @@ -89,26 +113,99 @@ static void Init( void ) | ||||
|    } | ||||
|  | ||||
|    /* load the color table for each texel-index */ | ||||
|    table[' '][0] = 50; | ||||
|    table[' '][1] = 50; | ||||
|    table[' '][2] = 50; | ||||
|    table[' '][3] = 50; | ||||
|    memset(table, 0, 256*4); | ||||
|    table[' '][0] = 255; | ||||
|    table[' '][1] = 255; | ||||
|    table[' '][2] = 255; | ||||
|    table[' '][3] = 64; | ||||
|    table['M'][0] = 255; | ||||
|    table['M'][1] = 0; | ||||
|    table['M'][2] = 0; | ||||
|    table['M'][3] = 0; | ||||
|    table['M'][3] = 255; | ||||
|    table['E'][0] = 0; | ||||
|    table['E'][1] = 255; | ||||
|    table['E'][2] = 0; | ||||
|    table['E'][3] = 0; | ||||
|    table['S'][0] = 40; | ||||
|    table['S'][1] = 40; | ||||
|    table['E'][3] = 255; | ||||
|    table['S'][0] = 0; | ||||
|    table['S'][1] = 0; | ||||
|    table['S'][2] = 255; | ||||
|    table['S'][3] = 0; | ||||
|    table['S'][3] = 255; | ||||
|    table['A'][0] = 255; | ||||
|    table['A'][1] = 255; | ||||
|    table['A'][2] = 0; | ||||
|    table['A'][3] = 0; | ||||
|    table['A'][3] = 255; | ||||
|  | ||||
| #ifdef GL_EXT_paletted_texture | ||||
|  | ||||
| #if defined(GL_EXT_shared_texture_palette) && defined(USE_SHARED_PALETTE) | ||||
|    printf("Using shared palette\n"); | ||||
|    glColorTableEXT(GL_SHARED_TEXTURE_PALETTE_EXT,    /* target */ | ||||
|                    GL_RGBA,          /* internal format */ | ||||
|                    256,              /* table size */ | ||||
|                    GL_RGBA,          /* table format */ | ||||
|                    GL_UNSIGNED_BYTE, /* table type */ | ||||
|                    table);           /* the color table */ | ||||
|    glEnable(GL_SHARED_TEXTURE_PALETTE_EXT); | ||||
| #else | ||||
|    glColorTableEXT(GL_TEXTURE_2D,    /* target */ | ||||
|                    GL_RGBA,          /* internal format */ | ||||
|                    256,              /* table size */ | ||||
|                    GL_RGBA,          /* table format */ | ||||
|                    GL_UNSIGNED_BYTE, /* table type */ | ||||
|                    table);           /* the color table */ | ||||
| #endif | ||||
|  | ||||
|    glTexImage2D(GL_TEXTURE_2D,       /* target */ | ||||
|                 0,                   /* level */ | ||||
|                 GL_COLOR_INDEX8_EXT, /* internal format */ | ||||
|                 WIDTH, HEIGHT,       /* width, height */ | ||||
|                 0,                   /* border */ | ||||
|                 GL_COLOR_INDEX,      /* texture format */ | ||||
|                 GL_UNSIGNED_BYTE,    /* texture type */ | ||||
|                 texture);            /* the texture */ | ||||
| #endif | ||||
|  | ||||
|    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); | ||||
|    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); | ||||
|    glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); | ||||
|    glEnable(GL_TEXTURE_2D); | ||||
|  | ||||
|    glEnable(GL_BLEND); | ||||
|    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); | ||||
| #undef HEIGHT | ||||
| #undef WIDTH | ||||
| } | ||||
|  | ||||
|  | ||||
|  | ||||
| /* | ||||
|  * Color ramp test | ||||
|  */ | ||||
| static void Init2( void ) | ||||
| { | ||||
| #define HEIGHT 32 | ||||
| #define WIDTH 256 | ||||
|    static char texture[HEIGHT][WIDTH]; | ||||
|    GLubyte table[256][4]; | ||||
|    int i, j; | ||||
|  | ||||
|    if (!glutExtensionSupported("GL_EXT_paletted_texture")) { | ||||
|       printf("Sorry, GL_EXT_paletted_texture not supported\n"); | ||||
|       exit(0); | ||||
|    } | ||||
|  | ||||
|    for (j = 0; j < HEIGHT; j++) { | ||||
|       for (i = 0; i < WIDTH; i++) { | ||||
|          texture[j][i] = i; | ||||
|       } | ||||
|    } | ||||
|  | ||||
|    for (i = 0; i < 255; i++) { | ||||
|       table[i][0] = i; | ||||
|       table[i][1] = 0; | ||||
|       table[i][2] = 0; | ||||
|       table[i][3] = 255; | ||||
|    } | ||||
|  | ||||
| #ifdef GL_EXT_paletted_texture | ||||
|  | ||||
| @@ -144,6 +241,9 @@ static void Init( void ) | ||||
|    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); | ||||
|    glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); | ||||
|    glEnable(GL_TEXTURE_2D); | ||||
|  | ||||
|    glEnable(GL_BLEND); | ||||
|    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); | ||||
| } | ||||
|  | ||||
|  | ||||
| @@ -151,7 +251,7 @@ int main( int argc, char *argv[] ) | ||||
| { | ||||
|    glutInit( &argc, argv ); | ||||
|    glutInitWindowPosition( 0, 0 ); | ||||
|    glutInitWindowSize( 400, 400 ); | ||||
|    glutInitWindowSize( 400, 300 ); | ||||
|  | ||||
|    glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE ); | ||||
|  | ||||
| @@ -162,7 +262,8 @@ int main( int argc, char *argv[] ) | ||||
|    glutReshapeFunc( Reshape ); | ||||
|    glutKeyboardFunc( Key ); | ||||
|    glutDisplayFunc( Display ); | ||||
|    glutIdleFunc( Idle ); | ||||
|    if (Anim) | ||||
|       glutIdleFunc( Idle ); | ||||
|  | ||||
|    glutMainLoop(); | ||||
|    return 0; | ||||
|   | ||||
| @@ -56,7 +56,7 @@ | ||||
| #include <string.h> | ||||
| #include <GL/glut.h> | ||||
| #include <GL/glext.h> | ||||
| #include "../util/readtex.c"   /* I know, this is a hack. */ | ||||
| #include "readtex.c"   /* I know, this is a hack. */ | ||||
|  | ||||
| #define TEXTURE_FILE "../images/girl.rgb" | ||||
|  | ||||
| @@ -127,12 +127,12 @@ static void Idle(void) | ||||
|  | ||||
| static GLubyte warp(GLfloat s, int frame) | ||||
| { | ||||
|    static const GLfloat PI = 3.14159265; | ||||
|    static const GLfloat pi = 3.14159265; | ||||
|    static int halfFrame = FRAMES / 2; | ||||
|    GLfloat y, weight, v; | ||||
|    if (frame >= halfFrame) | ||||
|       frame = halfFrame - (frame - halfFrame); | ||||
|    y = sin(s * PI); | ||||
|    y = sin(s * pi); | ||||
|    weight = (float) frame / (FRAMES-1); | ||||
|    v = y * (0.8 * weight + 0.2); | ||||
|    return (GLint) (v * 255.0F); | ||||
|   | ||||
| @@ -11,33 +11,13 @@ | ||||
|    is present , the particle size is attenuated based on eye distance. */ | ||||
|  | ||||
|  | ||||
| /* | ||||
|  * $Log: pointblast.c,v $ | ||||
|  * Revision 1.2  2000/06/27 17:04:43  brianp | ||||
|  * fixed compiler warnings | ||||
|  * | ||||
|  * Revision 1.1.1.1  1999/08/19 00:55:40  jtg | ||||
|  * Imported sources | ||||
|  * | ||||
|  * Revision 3.3  1998/07/26 01:24:27  brianp | ||||
|  * removed include of gl.h | ||||
|  * | ||||
|  * Revision 3.2  1998/02/14 18:51:46  brianp | ||||
|  * fixed a small compiler warning | ||||
|  * | ||||
|  * Revision 3.1  1998/02/14 18:45:25  brianp | ||||
|  * optimized to use flat shading, don't blend ground polygon | ||||
|  * | ||||
|  * Revision 3.0  1998/02/14 18:42:29  brianp | ||||
|  * initial rev | ||||
|  * | ||||
|  */ | ||||
|  | ||||
|  | ||||
| #include <stdio.h> | ||||
| #include <stdlib.h> | ||||
| #include <string.h> | ||||
| #include <math.h>       /* for cos(), sin(), and sqrt() */ | ||||
| #ifdef _WIN32 | ||||
| #include <windows.h> | ||||
| #endif | ||||
| #define GL_GLEXT_LEGACY | ||||
| #include <GL/glut.h> | ||||
|  | ||||
|   | ||||
| @@ -11,15 +11,20 @@ | ||||
| #include <math.h> | ||||
| #include <time.h> | ||||
| #include <GL/glut.h> | ||||
| #ifndef M_PI | ||||
| #define M_PI 3.14159265 | ||||
| #endif | ||||
|  | ||||
| #include "particles.h" | ||||
| extern "C" { | ||||
| #include "image.h" | ||||
| #include "readtex.h" | ||||
| } | ||||
|  | ||||
| #ifdef WIN32 | ||||
| #ifdef _WIN32 | ||||
| #include <windows.h> | ||||
| #include <mmsystem.h> | ||||
| #include "particles.cxx" | ||||
| #include "readtex.c" | ||||
| #endif | ||||
|  | ||||
| #ifdef XMESA | ||||
| @@ -297,20 +302,21 @@ static void key(unsigned char key, int x, int y) | ||||
|  | ||||
| static void inittextures(void) | ||||
| { | ||||
|   IMAGE *img; | ||||
|   GLubyte *img; | ||||
|   GLint width,height; | ||||
|   GLenum format; | ||||
|   GLenum gluerr; | ||||
|  | ||||
|   glGenTextures(1,&groundid); | ||||
|   glBindTexture(GL_TEXTURE_2D,groundid); | ||||
|  | ||||
|   if(!(img=ImageLoad("s128.rgb"))) { | ||||
|     fprintf(stderr,"Error reading a texture.\n"); | ||||
|     exit(-1); | ||||
|   if(!(img=LoadRGBImage("../images/s128.rgb",&width,&height,&format))){ | ||||
|   	fprintf(stderr,"Error reading a texture.\n"); | ||||
|   	exit(-1); | ||||
|   } | ||||
|  | ||||
|   glPixelStorei(GL_UNPACK_ALIGNMENT,4); | ||||
|   if((gluerr=(GLenum)gluBuild2DMipmaps(GL_TEXTURE_2D, 3, img->sizeX, img->sizeY, GL_RGB, | ||||
| 			       GL_UNSIGNED_BYTE, (GLvoid *)(img->data)))) { | ||||
|   if((gluerr=(GLenum)gluBuild2DMipmaps(GL_TEXTURE_2D, 3, width, height,GL_RGB, | ||||
| 			       GL_UNSIGNED_BYTE, (GLvoid *)(img)))) { | ||||
|     fprintf(stderr,"GLULib%s\n",gluErrorString(gluerr)); | ||||
|     exit(-1); | ||||
|   } | ||||
|   | ||||
| @@ -8,6 +8,7 @@ | ||||
|  | ||||
| #include <stdio.h> | ||||
| #include <stdlib.h> | ||||
| #include <string.h> | ||||
| #include <math.h> | ||||
|  | ||||
| #ifdef WIN32 | ||||
| @@ -24,7 +25,8 @@ static int fullscreen = 1; | ||||
| static int WIDTH = 640; | ||||
| static int HEIGHT = 480; | ||||
|  | ||||
| #define FRAME 50 | ||||
| static GLint T0 = 0; | ||||
| static GLint Frames = 0; | ||||
|  | ||||
| #define BASESIZE 7.5f | ||||
| #define SPHERE_RADIUS 0.75f | ||||
| @@ -94,21 +96,6 @@ static int showreflectmap = 1; | ||||
| static int joyavailable = 0; | ||||
| static int joyactive = 0; | ||||
|  | ||||
| static float | ||||
| gettime(void) | ||||
| { | ||||
|    static float told = 0.0f; | ||||
|    float tnew, ris; | ||||
|  | ||||
|    tnew = glutGet(GLUT_ELAPSED_TIME); | ||||
|  | ||||
|    ris = tnew - told; | ||||
|  | ||||
|    told = tnew; | ||||
|  | ||||
|    return ris / 1000.0; | ||||
| } | ||||
|  | ||||
| static void | ||||
| calcposobs(void) | ||||
| { | ||||
| @@ -116,6 +103,13 @@ calcposobs(void) | ||||
|    dir[1] = cos(alpha * M_PI / 180.0) * sin(beta * M_PI / 180.0); | ||||
|    dir[2] = cos(beta * M_PI / 180.0); | ||||
|  | ||||
|    if (dir[0] < 1.0e-5 && dir[0] > -1.0e-5) | ||||
|       dir[0] = 0; | ||||
|    if (dir[1] < 1.0e-5 && dir[1] > -1.0e-5) | ||||
|       dir[1] = 0; | ||||
|    if (dir[2] < 1.0e-5 && dir[2] > -1.0e-5) | ||||
|       dir[2] = 0; | ||||
|  | ||||
|    obs[0] += v * dir[0]; | ||||
|    obs[1] += v * dir[1]; | ||||
|    obs[2] += v * dir[2]; | ||||
| @@ -393,8 +387,7 @@ colorcheckmap(float ppos[3], float c[3]) | ||||
|    h[1] = 0.5f * (vdir[1] + ldir[1]); | ||||
|    h[2] = 0.5f * (vdir[2] + ldir[2]); | ||||
|    kfact = dprod(h, norm); | ||||
|    kfact = | ||||
|       kfact * kfact * kfact * kfact * kfact * kfact * kfact * 7.0f * 255.0f; | ||||
|    kfact = pow(kfact, 6.0) * 7.0 * 255.0; | ||||
|  | ||||
|    r = r * dfact + kfact; | ||||
|    g = g * dfact + kfact; | ||||
| @@ -494,12 +487,10 @@ updatereflectmap(int slot) | ||||
| 	    h[1] = 0.5f * (vdir[1] + ldir[1]); | ||||
| 	    h[2] = 0.5f * (vdir[2] + ldir[2]); | ||||
| 	    kfact = dprod(h, norm); | ||||
| 	    kfact *= kfact; | ||||
| 	    kfact *= kfact; | ||||
| 	    kfact *= kfact; | ||||
| 	    kfact *= kfact; | ||||
| 	    kfact *= 10.0f; | ||||
| 	 } | ||||
|             kfact = pow(kfact, 4.0); | ||||
|             if (kfact < 1.0e-10) | ||||
|                kfact = 0.0; | ||||
|          } | ||||
|  | ||||
| 	 r = dfact + kfact; | ||||
| 	 g = dfact + kfact; | ||||
| @@ -622,9 +613,7 @@ updatemaps(void) | ||||
| static void | ||||
| draw(void) | ||||
| { | ||||
|    static int count = 0; | ||||
|    static char frbuf[80]; | ||||
|    float fr; | ||||
|    static char frbuf[80] = ""; | ||||
|  | ||||
|    dojoy(); | ||||
|  | ||||
| @@ -657,11 +646,6 @@ draw(void) | ||||
|  | ||||
|    glPopMatrix(); | ||||
|  | ||||
|    if ((count % FRAME) == 0) { | ||||
|       fr = gettime(); | ||||
|       sprintf(frbuf, "Frame rate: %f", FRAME / fr); | ||||
|    } | ||||
|  | ||||
|    glDisable(GL_DEPTH_TEST); | ||||
|    glDisable(GL_FOG); | ||||
|  | ||||
| @@ -746,7 +730,17 @@ draw(void) | ||||
|  | ||||
|    glutSwapBuffers(); | ||||
|  | ||||
|    count++; | ||||
|    Frames++; | ||||
|    { | ||||
|       GLint t = glutGet(GLUT_ELAPSED_TIME); | ||||
|       if (t - T0 >= 2000) { | ||||
|          GLfloat seconds = (t - T0) / 1000.0; | ||||
|          GLfloat fps = Frames / seconds; | ||||
|          sprintf(frbuf, "Frame rate: %f", fps); | ||||
|          T0 = t; | ||||
|          Frames = 0; | ||||
|       } | ||||
|    } | ||||
| } | ||||
|  | ||||
| static void | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| /* $Id: readpix.c,v 1.3 2000/03/31 01:01:31 brianp Exp $ */ | ||||
| /* $Id: readpix.c,v 1.8 2002/07/12 15:54:02 brianp Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * glReadPixels and glCopyPixels test | ||||
| @@ -6,20 +6,6 @@ | ||||
|  * Brian Paul   March 1, 2000  This file is in the public domain. | ||||
|  */ | ||||
|  | ||||
| /* | ||||
|  * $Log: readpix.c,v $ | ||||
|  * Revision 1.3  2000/03/31 01:01:31  brianp | ||||
|  * tweaks to allow different read formats/types | ||||
|  * | ||||
|  * Revision 1.2  2000/03/23 19:47:25  brianp | ||||
|  * added benchmarking | ||||
|  * | ||||
|  * Revision 1.1  2000/03/01 16:23:14  brianp | ||||
|  * test glDraw/Read/CopyPixels() | ||||
|  * | ||||
|  */ | ||||
|  | ||||
|  | ||||
| #include <assert.h> | ||||
| #include <stdio.h> | ||||
| #include <stdlib.h> | ||||
| @@ -43,11 +29,11 @@ static GLboolean ScaleAndBias = GL_FALSE; | ||||
| static GLboolean Benchmark = GL_FALSE; | ||||
| static GLubyte *TempImage = NULL; | ||||
|  | ||||
| #if 1 | ||||
| #if 0 | ||||
| #define ReadFormat ImgFormat | ||||
| #define ReadType GL_UNSIGNED_BYTE | ||||
| #endif | ||||
| #if 0 | ||||
| #if 1 | ||||
| static GLenum ReadFormat = GL_RGBA; | ||||
| static GLenum ReadType = GL_UNSIGNED_BYTE; | ||||
| #endif | ||||
| @@ -55,6 +41,18 @@ static GLenum ReadType = GL_UNSIGNED_BYTE; | ||||
| static GLenum ReadFormat = GL_RGB; | ||||
| static GLenum ReadType = GL_UNSIGNED_SHORT_5_6_5; | ||||
| #endif | ||||
| #if 0 | ||||
| static GLenum ReadFormat = GL_RGBA; | ||||
| static GLenum ReadType = GL_UNSIGNED_SHORT_1_5_5_5_REV; | ||||
| #endif | ||||
| #if 0 | ||||
| static GLenum ReadFormat = GL_BGRA; | ||||
| static GLenum ReadType = GL_UNSIGNED_SHORT_5_5_5_1; | ||||
| #endif | ||||
| #if 0 | ||||
| static GLenum ReadFormat = GL_BGRA; | ||||
| static GLenum ReadType = GL_UNSIGNED_SHORT_4_4_4_4_REV; | ||||
| #endif | ||||
|  | ||||
|  | ||||
| static void | ||||
| @@ -101,6 +99,7 @@ SetupPixelTransfer(GLboolean invert) | ||||
| static void | ||||
| Display( void ) | ||||
| { | ||||
|    glClearColor(.3, .3, .3, 1); | ||||
|    glClear( GL_COLOR_BUFFER_BIT ); | ||||
|  | ||||
|    glRasterPos2i(5, ImgHeight+25); | ||||
| @@ -137,6 +136,8 @@ Display( void ) | ||||
|       Benchmark = GL_FALSE; | ||||
|    } | ||||
|    else { | ||||
|       /* clear the temporary image to white (helpful for debugging */ | ||||
|       memset(TempImage, 255, ImgWidth * ImgHeight * 4); | ||||
|       glReadPixels(APosX, APosY, ImgWidth, ImgHeight, | ||||
|                    ReadFormat, ReadType, TempImage); | ||||
|    } | ||||
| @@ -155,6 +156,8 @@ Display( void ) | ||||
|  | ||||
|    if (!DrawFront) | ||||
|       glutSwapBuffers(); | ||||
|    else | ||||
|       glFinish(); | ||||
| } | ||||
|  | ||||
|  | ||||
| @@ -216,7 +219,7 @@ Init( GLboolean ciMode ) | ||||
|  | ||||
|    if (ciMode) { | ||||
|       /* Convert RGB image to grayscale */ | ||||
|       GLubyte *indexImage = malloc( ImgWidth * ImgHeight ); | ||||
|       GLubyte *indexImage = (GLubyte *) malloc( ImgWidth * ImgHeight ); | ||||
|       GLint i; | ||||
|       for (i=0; i<ImgWidth*ImgHeight; i++) { | ||||
|          int gray = Image[i*3] + Image[i*3+1] + Image[i*3+2]; | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| /* $Id: reflect.c,v 1.3 2000/06/15 14:25:48 brianp Exp $ */ | ||||
| /* $Id: reflect.c,v 1.7 2001/04/25 15:51:32 brianp Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * Demo of a reflective, texture-mapped surface with OpenGL. | ||||
| @@ -53,7 +53,11 @@ static GLfloat spin; | ||||
|  | ||||
| static GLint Width = 400, Height = 300; | ||||
| static GLenum ShowBuffer = GL_NONE; | ||||
| static GLboolean Anim = GL_TRUE; | ||||
|  | ||||
| /* performance info */ | ||||
| static GLint T0 = 0; | ||||
| static GLint Frames = 0; | ||||
|  | ||||
|  | ||||
| static void make_table( void ) | ||||
| @@ -144,7 +148,7 @@ static void init( void ) | ||||
|    glEnable( GL_LIGHT0 ); | ||||
|    glEnable( GL_LIGHTING ); | ||||
|  | ||||
|    glClearColor( 0.5, 0.5, 0.9, 1.0 ); | ||||
|    glClearColor( 0.5, 0.5, 0.9, 0.0 ); | ||||
|  | ||||
|    glEnable( GL_NORMALIZE ); | ||||
| } | ||||
| @@ -293,8 +297,31 @@ static void draw_scene( void ) | ||||
|    else if (ShowBuffer == GL_STENCIL) { | ||||
|       ShowStencilBuffer(Width, Height, 255.0, 0.0); | ||||
|    } | ||||
|    else if (ShowBuffer == GL_ALPHA) { | ||||
|       ShowAlphaBuffer(Width, Height); | ||||
|    } | ||||
|  | ||||
|    glutSwapBuffers(); | ||||
|  | ||||
|    { | ||||
|       GLint t = glutGet(GLUT_ELAPSED_TIME); | ||||
|       Frames++; | ||||
|       if (t - T0 >= 5000) { | ||||
|          GLfloat seconds = (t - T0) / 1000.0; | ||||
|          GLfloat fps = Frames / seconds; | ||||
|          printf("%d frames in %g seconds = %g FPS\n", Frames, seconds, fps); | ||||
|          T0 = t; | ||||
|          Frames = 0; | ||||
|       } | ||||
|    } | ||||
| } | ||||
|  | ||||
|  | ||||
| static void idle( void ) | ||||
| { | ||||
|    spin += 2.0; | ||||
|    yrot += 3.0; | ||||
|    glutPostRedisplay(); | ||||
| } | ||||
|  | ||||
|  | ||||
| @@ -308,6 +335,16 @@ static void Key( unsigned char key, int x, int y ) | ||||
|    else if (key == 's') { | ||||
|       ShowBuffer = GL_STENCIL; | ||||
|    } | ||||
|    else if (key == 'a') { | ||||
|       ShowBuffer = GL_ALPHA; | ||||
|    } | ||||
|    else if (key == ' ') { | ||||
|       Anim = !Anim; | ||||
|       if (Anim) | ||||
|          glutIdleFunc(idle); | ||||
|       else | ||||
|          glutIdleFunc(NULL); | ||||
|    } | ||||
|    else if (key==27) { | ||||
|       exit(0); | ||||
|    } | ||||
| @@ -344,16 +381,6 @@ static void SpecialKey( int key, int x, int y ) | ||||
| } | ||||
|  | ||||
|  | ||||
|  | ||||
| static void idle( void ) | ||||
| { | ||||
|    spin += 2.0; | ||||
|    yrot += 3.0; | ||||
|    glutPostRedisplay(); | ||||
| } | ||||
|  | ||||
|  | ||||
|  | ||||
| int main( int argc, char *argv[] ) | ||||
| { | ||||
|    glutInit(&argc, argv); | ||||
|   | ||||
| @@ -1,119 +0,0 @@ | ||||
| /** | ||||
| (c) Copyright 1993, Silicon Graphics, Inc. | ||||
|  | ||||
| ALL RIGHTS RESERVED | ||||
|  | ||||
| Permission to use, copy, modify, and distribute this software | ||||
| for any purpose and without fee is hereby granted, provided | ||||
| that the above copyright notice appear in all copies and that | ||||
| both the copyright notice and this permission notice appear in | ||||
| supporting documentation, and that the name of Silicon | ||||
| Graphics, Inc. not be used in advertising or publicity | ||||
| pertaining to distribution of the software without specific, | ||||
| written prior permission. | ||||
|  | ||||
| THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU | ||||
| "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR | ||||
| OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF | ||||
| MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  IN NO | ||||
| EVENT SHALL SILICON GRAPHICS, INC.  BE LIABLE TO YOU OR ANYONE | ||||
| ELSE FOR ANY DIRECT, SPECIAL, INCIDENTAL, INDIRECT OR | ||||
| CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER, | ||||
| INCLUDING WITHOUT LIMITATION, LOSS OF PROFIT, LOSS OF USE, | ||||
| SAVINGS OR REVENUE, OR THE CLAIMS OF THIRD PARTIES, WHETHER OR | ||||
| NOT SILICON GRAPHICS, INC.  HAS BEEN ADVISED OF THE POSSIBILITY | ||||
| OF SUCH LOSS, HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, | ||||
| ARISING OUT OF OR IN CONNECTION WITH THE POSSESSION, USE OR | ||||
| PERFORMANCE OF THIS SOFTWARE. | ||||
|  | ||||
| US Government Users Restricted Rights | ||||
|  | ||||
| Use, duplication, or disclosure by the Government is subject to | ||||
| restrictions set forth in FAR 52.227.19(c)(2) or subparagraph | ||||
| (c)(1)(ii) of the Rights in Technical Data and Computer | ||||
| Software clause at DFARS 252.227-7013 and/or in similar or | ||||
| successor clauses in the FAR or the DOD or NASA FAR | ||||
| Supplement.  Unpublished-- rights reserved under the copyright | ||||
| laws of the United States.  Contractor/manufacturer is Silicon | ||||
| Graphics, Inc., 2011 N.  Shoreline Blvd., Mountain View, CA | ||||
| 94039-7311. | ||||
|  | ||||
| OpenGL(TM) is a trademark of Silicon Graphics, Inc. | ||||
| */ | ||||
|  | ||||
| /* Taken from the projshadow.c - by Tom McReynolds, SGI */ | ||||
|  | ||||
| /* Modified by David Bucciarelli */ | ||||
|  | ||||
| /* Rendering shadows using projective shadows. */ | ||||
|  | ||||
| #include <GL/glut.h> | ||||
| #include "shadow.h" | ||||
|  | ||||
|  | ||||
| enum { | ||||
|   X, Y, Z, W | ||||
| }; | ||||
| enum { | ||||
|   A, B, C, D | ||||
| }; | ||||
|  | ||||
| /* create a matrix that will project the desired shadow */ | ||||
| void | ||||
| shadowmatrix(GLfloat shadowMat[4][4], | ||||
|   GLfloat groundplane[4], | ||||
|   GLfloat lightpos[4]) | ||||
| { | ||||
|   GLfloat dot; | ||||
|  | ||||
|   /* find dot product between light position vector and ground plane normal */ | ||||
|   dot = groundplane[X] * lightpos[X] + | ||||
|     groundplane[Y] * lightpos[Y] + | ||||
|     groundplane[Z] * lightpos[Z] + | ||||
|     groundplane[W] * lightpos[W]; | ||||
|  | ||||
|   shadowMat[0][0] = dot - lightpos[X] * groundplane[X]; | ||||
|   shadowMat[1][0] = 0.f - lightpos[X] * groundplane[Y]; | ||||
|   shadowMat[2][0] = 0.f - lightpos[X] * groundplane[Z]; | ||||
|   shadowMat[3][0] = 0.f - lightpos[X] * groundplane[W]; | ||||
|  | ||||
|   shadowMat[X][1] = 0.f - lightpos[Y] * groundplane[X]; | ||||
|   shadowMat[1][1] = dot - lightpos[Y] * groundplane[Y]; | ||||
|   shadowMat[2][1] = 0.f - lightpos[Y] * groundplane[Z]; | ||||
|   shadowMat[3][1] = 0.f - lightpos[Y] * groundplane[W]; | ||||
|  | ||||
|   shadowMat[X][2] = 0.f - lightpos[Z] * groundplane[X]; | ||||
|   shadowMat[1][2] = 0.f - lightpos[Z] * groundplane[Y]; | ||||
|   shadowMat[2][2] = dot - lightpos[Z] * groundplane[Z]; | ||||
|   shadowMat[3][2] = 0.f - lightpos[Z] * groundplane[W]; | ||||
|  | ||||
|   shadowMat[X][3] = 0.f - lightpos[W] * groundplane[X]; | ||||
|   shadowMat[1][3] = 0.f - lightpos[W] * groundplane[Y]; | ||||
|   shadowMat[2][3] = 0.f - lightpos[W] * groundplane[Z]; | ||||
|   shadowMat[3][3] = dot - lightpos[W] * groundplane[W]; | ||||
|  | ||||
| } | ||||
|  | ||||
| /* find the plane equation given 3 points */ | ||||
| void | ||||
| findplane(GLfloat plane[4], | ||||
|   GLfloat v0[3], GLfloat v1[3], GLfloat v2[3]) | ||||
| { | ||||
|   GLfloat vec0[3], vec1[3]; | ||||
|  | ||||
|   /* need 2 vectors to find cross product */ | ||||
|   vec0[X] = v1[X] - v0[X]; | ||||
|   vec0[Y] = v1[Y] - v0[Y]; | ||||
|   vec0[Z] = v1[Z] - v0[Z]; | ||||
|  | ||||
|   vec1[X] = v2[X] - v0[X]; | ||||
|   vec1[Y] = v2[Y] - v0[Y]; | ||||
|   vec1[Z] = v2[Z] - v0[Z]; | ||||
|  | ||||
|   /* find cross product to get A, B, and C of plane equation */ | ||||
|   plane[A] = vec0[Y] * vec1[Z] - vec0[Z] * vec1[Y]; | ||||
|   plane[B] = -(vec0[X] * vec1[Z] - vec0[Z] * vec1[X]); | ||||
|   plane[C] = vec0[X] * vec1[Y] - vec0[Y] * vec1[X]; | ||||
|  | ||||
|   plane[D] = -(plane[A] * v0[X] + plane[B] * v0[Y] + plane[C] * v0[Z]); | ||||
| } | ||||
| @@ -1,18 +0,0 @@ | ||||
| #ifndef SHADOW_H | ||||
| #define SHADOW_H | ||||
|  | ||||
|  | ||||
| extern void | ||||
| shadowmatrix(GLfloat shadowMat[4][4], | ||||
|              GLfloat groundplane[4], | ||||
|              GLfloat lightpos[4]); | ||||
|  | ||||
|  | ||||
| extern void | ||||
| findplane(GLfloat plane[4], | ||||
|           GLfloat v0[3], GLfloat v1[3], GLfloat v2[3]); | ||||
|  | ||||
|  | ||||
| #endif | ||||
|  | ||||
|  | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user