Compare commits
	
		
			818 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 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 | 
							
								
								
									
										183
									
								
								Make-config
									
									
									
									
									
								
							
							
						
						
									
										183
									
								
								Make-config
									
									
									
									
									
								
							| @@ -1,13 +1,13 @@ | ||||
| # $Id: Make-config,v 1.46 2001/06/18 22:45:16 brianp Exp $ | ||||
| # $Id: Make-config,v 1.63 2002/06/10 17:01:46 brianp Exp $ | ||||
|  | ||||
| MESA_MAJOR=3 | ||||
| MESA_MINOR=5 | ||||
| MESA_MAJOR=4 | ||||
| MESA_MINOR=1 | ||||
| MESA_TINY=0 | ||||
| VERSION=$(MESA_MAJOR).$(MESA_MINOR) | ||||
|  | ||||
| # Mesa 3-D graphics library | ||||
| #  | ||||
| # 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"), | ||||
| @@ -178,6 +178,25 @@ cygnus-linux: | ||||
| 	"MAKELIB = ../bin/mklib.cygnus-linux" \ | ||||
| 	"WLIBS = ../lib/wing32.a -lkernel32 -luser32 -lgdi32" | ||||
|  | ||||
| darwin: | ||||
| 	$(MAKE) $(MFLAGS) -f Makefile.X11 targets \ | ||||
| 	"GL_LIB = libGL.dylib" \ | ||||
| 	"GLU_LIB = libGLU.dylib" \ | ||||
| 	"GLUT_LIB = libglut.dylib" \ | ||||
| 	"GLW_LIB = libGLw.dylib" \ | ||||
| 	"OSMESA_LIB = libOSMesa.dylib" \ | ||||
| 	"CC = cc" \ | ||||
| 	"CPLUSPLUS = cc" \ | ||||
| 	"CFLAGS = -I/usr/X11R6/include -O3 -fPIC -fno-common -ffast-math \ | ||||
|                 -funroll-loops -fexpensive-optimizations -no-cpp-precomp \ | ||||
|                 -dynamic -Ddarwin" \ | ||||
| 	"CCFLAGS = $(CFLAGS)" \ | ||||
| 	"MAKELIB = ../bin/mklib.darwin" \ | ||||
| 	"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread" \ | ||||
| 	"GLU_LIB_DEPS = -L../lib -lGL -lm" \ | ||||
| 	"GLUT_LIB_DEPS = -L../lib -lGLU -lGL \ | ||||
|                        -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm"  | ||||
|  | ||||
| dgux: | ||||
| 	$(MAKE) $(MFLAGS) -f Makefile.X11 targets \ | ||||
| 	"GL_LIB = libGL.a" \ | ||||
| @@ -344,7 +363,7 @@ hpux10-gcc-sl: | ||||
|  | ||||
| # For IRIX 4: don't use -fullwarn because it causes too much garbage | ||||
| irix4: | ||||
| 	pmake $(MFLAGS) -f Makefile.X11 targets \ | ||||
| 	$(MAKE) $(MFLAGS) -f Makefile.X11 targets \ | ||||
| 	"GL_LIB = libGL.a" \ | ||||
| 	"GLU_LIB = libGLU.a" \ | ||||
| 	"GLUT_LIB = libglut.a" \ | ||||
| @@ -357,7 +376,7 @@ irix4: | ||||
|  | ||||
| # On IRIX 5.3 -sopt causes a problem in drawpixels.c so we don't use it | ||||
| irix5: | ||||
| 	pmake $(MFLAGS) -f Makefile.X11 targets \ | ||||
| 	$(MAKE) $(MFLAGS) -f Makefile.X11 targets \ | ||||
| 	"GL_LIB = libGL.a" \ | ||||
| 	"GLU_LIB = libGLU.a" \ | ||||
| 	"GLUT_LIB = libglut.a" \ | ||||
| @@ -385,7 +404,7 @@ irix5-gcc: | ||||
|  | ||||
| # IRIX 5 using Dynamic Shared Objects (DSO) | ||||
| irix5-dso: | ||||
| 	pmake $(MFLAGS) -f Makefile.X11 targets \ | ||||
| 	$(MAKE) $(MFLAGS) -f Makefile.X11 targets \ | ||||
| 	"GL_LIB = libGL.so" \ | ||||
| 	"GLU_LIB = libGLU.so" \ | ||||
| 	"GLUT_LIB = libglut.so" \ | ||||
| @@ -396,34 +415,46 @@ irix5-dso: | ||||
| 	"MAKELIB = ../bin/mklib.irix5" \ | ||||
| 	"APP_LIB_DEPS = -rpath ../lib -lX11 -lXmu -lXi -lm" | ||||
|  | ||||
| # IRIX 6 32-bit Targets | ||||
| #	Turn Warnings off for these errors (MIPSpro Compiler 7.30) | ||||
| #	1521:   A nonstandard preprocessing directive is used. | ||||
| #	1552:   The variable "" is set but never used. | ||||
| #	C++ | ||||
| #	3262:   The variable "" was declared but never referenced. | ||||
| #	3666:   The variable "" is set but never used. | ||||
| #	Use -v if using pmake to compile files in subdirectories. | ||||
| irix6-o32: | ||||
| 	pmake $(MFLAGS) -f Makefile.X11 targets \ | ||||
| 	$(MAKE) $(MFLAGS) -f Makefile.X11 targets \ | ||||
| 	"GL_LIB = libGL.a" \ | ||||
| 	"GLU_LIB = libGLU.a" \ | ||||
| 	"GLUT_LIB = libglut.a" \ | ||||
| 	"GLW_LIB = libGLw.a" \ | ||||
| 	"OSMESA_LIB = libOSMesa.a" \ | ||||
| 	"LIBDIR = ../lib32" \ | ||||
| 	"CC = cc" \ | ||||
| 	"CFLAGS = -32 -mips2 -O2 -ansi -DUSE_XSHM -DNO_CONST" \ | ||||
| 	"CPLUSPLUS = CC" \ | ||||
| 	"CFLAGS = -32 -mips2 -O2 -ansi -woff 1521,1552 -DUSE_XSHM" \ | ||||
| 	"CCFLAGS = -32 -mips2 -O2 -ansi -woff 3262,3666" \ | ||||
| 	"MAKELIB = ../bin/mklib.ar-rcv" \ | ||||
| 	"APP_LIB_DEPS = -lX11 -lXext -lXmu -lXi -lm" | ||||
|  | ||||
| irix6-o32-dso: | ||||
| 	pmake $(MFLAGS) -f Makefile.X11 targets \ | ||||
| 	$(MAKE) $(MFLAGS) -f Makefile.X11 targets \ | ||||
| 	"GL_LIB = libGL.so" \ | ||||
| 	"GLU_LIB = libGLU.so" \ | ||||
| 	"GLUT_LIB = libglut.so" \ | ||||
| 	"GLW_LIB = libGLw.so" \ | ||||
| 	"OSMESA_LIB = libOSMesa.so" \ | ||||
| 	"LIBDIR = ../lib32" \ | ||||
| 	"CC = cc" \ | ||||
| 	"CFLAGS = -32 -mips2 -O2 -ansi -DUSE_XSHM -DNO_CONST" \ | ||||
| 	"CPLUSPLUS = CC" \ | ||||
| 	"CFLAGS = -32 -mips2 -O2 -ansi -woff 1521,1552 -DUSE_XSHM" \ | ||||
| 	"CCFLAGS = -32 -mips2 -O2 -ansi -woff 3262,3666" \ | ||||
| 	"MAKELIB = ../bin/mklib.irix6-32" \ | ||||
| 	"APP_LIB_DEPS = -rpath ../lib -lX11 -lXext -lXmu -lXi -lm" | ||||
| 	"APP_LIB_DEPS = -rpath ../lib32 -lX11 -lXext -lXmu -lXi -lm" | ||||
|  | ||||
| # For IRIX 6: -woff: | ||||
| #   1209 - controlling expression is constant | ||||
| irix6-n32: | ||||
| 	pmake $(MFLAGS) -f Makefile.X11 targets \ | ||||
| 	$(MAKE) $(MFLAGS) -f Makefile.X11 targets \ | ||||
| 	"GL_LIB = libGL.a" \ | ||||
| 	"GLU_LIB = libGLU.a" \ | ||||
| 	"GLUT_LIB = libglut.a" \ | ||||
| @@ -431,20 +462,24 @@ irix6-n32: | ||||
| 	"OSMESA_LIB = libOSMesa.a" \ | ||||
| 	"LIBDIR = ../lib32" \ | ||||
| 	"CC = cc" \ | ||||
| 	"CFLAGS = -n32 -mips3 -O3 -ansi -woff 1209,1521" \ | ||||
| 	"CPLUSPLUS = CC" \ | ||||
| 	"CFLAGS = -n32 -mips3 -O3 -ansi -woff 1174,1521,1552 -DUSE_XSHM" \ | ||||
| 	"CCFLAGS = -n32 -mips3 -O3 -ansi -woff 1174,1552" \ | ||||
| 	"MAKELIB = ../bin/mklib.ar-rcv" \ | ||||
| 	"APP_LIB_DEPS = -lX11 -lXext -lXmu -lXi -lm" | ||||
|  | ||||
| irix6-n32-dso: | ||||
| 	pmake $(MFLAGS) -f Makefile.X11 targets \ | ||||
| 	$(MAKE) $(MFLAGS) -f Makefile.X11 targets \ | ||||
| 	"GL_LIB = libGL.so" \ | ||||
| 	"GLU_LIB = libGLU.so" \ | ||||
| 	"GLUT_LIB = libglut.so" \ | ||||
| 	"GLW_LIB = libGLw.a" \ | ||||
| 	"OSMESA_LIB = libOSMesa.a" \ | ||||
| 	"GLW_LIB = libGLw.so" \ | ||||
| 	"OSMESA_LIB = libOSMesa.so" \ | ||||
| 	"LIBDIR = ../lib32" \ | ||||
| 	"CC = cc" \ | ||||
| 	"CFLAGS = -n32 -mips3 -O3 -ansi -DUSE_XSHM -woff 1185,1521" \ | ||||
| 	"CPLUSPLUS = CC" \ | ||||
| 	"CFLAGS = -n32 -mips3 -O3 -ansi -woff 1174,1521,1552 -DUSE_XSHM" \ | ||||
| 	"CCFLAGS = -n32 -mips3 -O3 -ansi -woff 1174,1552" \ | ||||
| 	"MAKELIB = ../bin/mklib.irix6-n32" \ | ||||
| 	"APP_LIB_DEPS = -rpath ../lib32 -lX11 -lXmu -lXi -lfpe -lm" | ||||
|  | ||||
| @@ -472,7 +507,7 @@ irix6-gcc-n32-sl: | ||||
| #   1474 - declaring a void parameter list with a typedef is nonstandard | ||||
| #   1552 - variable was set but never used | ||||
| irix6-64: | ||||
| 	pmake $(MFLAGS) -f Makefile.X11 targets \ | ||||
| 	$(MAKE) $(MFLAGS) -f Makefile.X11 targets \ | ||||
| 	"GL_LIB = libGL.a" \ | ||||
| 	"GLU_LIB = libGLU.a" \ | ||||
| 	"GLUT_LIB = libglut.a" \ | ||||
| @@ -485,7 +520,7 @@ irix6-64: | ||||
| 	"APP_LIB_DEPS = -lX11 -lXext -lXmu -lXi -lm" | ||||
|  | ||||
| irix6-64-dso: | ||||
| 	pmake $(MFLAGS) -f Makefile.X11 targets \ | ||||
| 	$(MAKE) $(MFLAGS) -f Makefile.X11 targets \ | ||||
| 	"GL_LIB = libGL.so" \ | ||||
| 	"GLU_LIB = libGLU.so" \ | ||||
| 	"GLUT_LIB = libglut.so" \ | ||||
| @@ -562,14 +597,40 @@ linux-x86: | ||||
| 	"APP_LIB_DEPS = -lm" \ | ||||
| 	"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \ | ||||
| 		X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \ | ||||
| 		X86/x86_cliptest.S X86/x86_vertex.S \ | ||||
| 		X86/x86_cliptest.S \ | ||||
| 		X86/mmx_blend.S \ | ||||
| 		X86/3dnow_xform1.S X86/3dnow_xform2.S \ | ||||
| 		X86/3dnow_xform3.S X86/3dnow_xform4.S \ | ||||
| 		X86/3dnow_normal.S X86/3dnow_vertex.S \ | ||||
| 		X86/3dnow_normal.S \ | ||||
| 		X86/sse_xform1.S X86/sse_xform2.S \ | ||||
| 		X86/sse_xform3.S X86/sse_xform4.S \ | ||||
| 		X86/sse_normal.S X86/sse_vertex.S" | ||||
| 		X86/sse_normal.S" | ||||
|  | ||||
| linux-icc: | ||||
| 	$(MAKE) $(MFLAGS) -f Makefile.X11 targets \ | ||||
| 	"GL_LIB = libGL.so" \ | ||||
| 	"GLU_LIB = libGLU.so" \ | ||||
| 	"GLUT_LIB = libglut.so" \ | ||||
| 	"GLW_LIB = libGLw.so" \ | ||||
| 	"OSMESA_LIB = libOSMesa.so" \ | ||||
| 	"CC = icc" \ | ||||
| 	"CPLUSPLUS = g++" \ | ||||
| 	"CFLAGS = -O3 -tpp6 -axK -KPIC -D_GCC_LIMITS_H_ -D__GNUC__ -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS -I/usr/X11R6/include" \ | ||||
| 	"MAKELIB = ../bin/mklib.linux" \ | ||||
| 	"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lm -lpthread" \ | ||||
| 	"GLU_LIB_DEPS = -L../lib -lGL -lm" \ | ||||
| 	"GLUT_LIB_DEPS = -L../lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \ | ||||
| 	"APP_LIB_DEPS = -lm" \ | ||||
| 	"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \ | ||||
| 		X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \ | ||||
| 		X86/x86_cliptest.S \ | ||||
| 		X86/mmx_blend.S \ | ||||
| 		X86/3dnow_xform1.S X86/3dnow_xform2.S \ | ||||
| 		X86/3dnow_xform3.S X86/3dnow_xform4.S \ | ||||
| 		X86/3dnow_normal.S \ | ||||
| 		X86/sse_xform1.S X86/sse_xform2.S \ | ||||
| 		X86/sse_xform3.S X86/sse_xform4.S \ | ||||
| 		X86/sse_normal.S" | ||||
|  | ||||
| linux-x86-static: | ||||
| 	$(MAKE) $(MFLAGS) -f Makefile.X11 targets \ | ||||
| @@ -587,15 +648,15 @@ linux-x86-static: | ||||
| 	"GLUT_LIB_DEPS = -L../lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \ | ||||
| 	"APP_LIB_DEPS = -lm" \ | ||||
| 	"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \ | ||||
| 		X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform_raw4.S \ | ||||
| 		X86/x86_cliptest.S X86/x86_vertex.S \ | ||||
| 		X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \ | ||||
| 		X86/x86_cliptest.S \ | ||||
| 		X86/mmx_blend.S \ | ||||
| 		X86/3dnow_xform1.S X86/3dnow_xform2.S \ | ||||
| 		X86/3dnow_xform3.S X86/3dnow_xform4.S \ | ||||
| 		X86/3dnow_normal.S X86/3dnow_vertex.S \ | ||||
| 		X86/3dnow_normal.S \ | ||||
| 		X86/sse_xform1.S X86/sse_xform2.S \ | ||||
| 		X86/sse_xform3.S X86/sse_xform4.S \ | ||||
| 		X86/sse_normal.S X86/sse_vertex.S" | ||||
| 		X86/sse_normal.S" | ||||
|  | ||||
| # Contributed by Uwe_Maurer@t-online.de | ||||
| linux-ggi: | ||||
| @@ -628,7 +689,7 @@ linux-386-ggi: | ||||
| 	"APP_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lggi -lm" \ | ||||
| 	"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \ | ||||
| 		X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \ | ||||
| 		X86/x86_cliptest.S X86/x86_vertex.S" | ||||
| 		X86/x86_cliptest.S" | ||||
|  | ||||
| linux-glide: | ||||
| 	$(MAKE) $(MFLAGS) -f Makefile.X11 targets \ | ||||
| @@ -662,10 +723,10 @@ linux-386-glide: | ||||
| 	"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -L/usr/local/glide/lib -lglide2x -lm -lpthread" \ | ||||
| 	"GLU_LIB_DEPS = -L../lib -lGL -lm" \ | ||||
| 	"GLUT_LIB_DEPS = -L../lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \ | ||||
| 	"APP_LIB_DEPS = -L/usr/local/glide/lib -lglide2x -lglut -lGLU -lGL" | ||||
| 	"APP_LIB_DEPS = -L/usr/local/glide/lib -lglide2x -lglut -lGLU -lGL" \ | ||||
| 	"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \ | ||||
| 		X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \ | ||||
| 		X86/x86_cliptest.S X86/x86_vertex.S" | ||||
| 		X86/x86_cliptest.S" | ||||
|  | ||||
| linux-386-opt-glide: | ||||
| 	$(MAKE) $(MFLAGS) -f Makefile.X11 targets \ | ||||
| @@ -685,7 +746,7 @@ linux-386-opt-glide: | ||||
| 	"APP_LIB_DEPS = -lm" \ | ||||
| 	"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \ | ||||
| 		X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \ | ||||
| 		X86/x86_cliptest.S X86/x86_vertex.S" | ||||
| 		X86/x86_cliptest.S" | ||||
|  | ||||
| linux-x86-glide: | ||||
| 	$(MAKE) $(MFLAGS) -f Makefile.X11 targets \ | ||||
| @@ -704,15 +765,15 @@ linux-x86-glide: | ||||
| 	"APP_LIB_DEPS = -lm" \ | ||||
| 	"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \ | ||||
| 		X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \ | ||||
| 		X86/x86_cliptest.S X86/x86_vertex.S \ | ||||
| 		X86/x86_cliptest.S  \ | ||||
| 		X86/mmx_blend.S \ | ||||
| 		X86/3dnow_xform1.S X86/3dnow_xform2.S \ | ||||
| 		X86/3dnow_xform3.S X86/3dnow_xform4.S \ | ||||
| 		X86/3dnow_normal.S X86/3dnow_vertex.S \ | ||||
| 		X86/3dnow_normal.S  \ | ||||
| 		FX/X86/fx_3dnow_fastpath.S \ | ||||
| 		X86/sse_xform1.S X86/sse_xform2.S \ | ||||
| 		X86/sse_xform3.S X86/sse_xform4.S \ | ||||
| 		X86/sse_normal.S X86/sse_vertex.S" | ||||
| 		X86/sse_normal.S " | ||||
|  | ||||
| linux-alpha: | ||||
| 	$(MAKE) $(MFLAGS) -f Makefile.X11 targets \ | ||||
| @@ -832,11 +893,23 @@ linux-osmesa16: | ||||
| 	"OSMESA16_LIB = libOSMesa16.so" \ | ||||
| 	"CC = gcc" \ | ||||
| 	"CPLUSPLUS = g++" \ | ||||
| 	"CFLAGS = -g -ansi -pedantic -Wall -Wmissing-prototypes -Wundef -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM -DPTHREADS -DDEBUG -DMESA_DEBUG -DCHAN_BITS=16" \ | ||||
| 	"CFLAGS = -O3 -ansi -pedantic -Wall -Wmissing-prototypes -Wundef -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM -DPTHREADS -DDEBUG -DMESA_DEBUG -DCHAN_BITS=16 -DDEFAULT_SOFTWARE_DEPTH_BITS=31" \ | ||||
| 	"CCFLAGS = $(CFLAGS)" \ | ||||
| 	"MAKELIB = ../bin/mklib.linux" \ | ||||
| 	"GL_LIB_DEPS = -lm -lpthread" \ | ||||
| 	"APP_LIB_DEPS = -lOSMesa -lGL" | ||||
| 	"APP_LIB_DEPS = -lOSMesa16 -lGL" | ||||
|  | ||||
| # 32-bit/channel Mesa using OSMesa driver | ||||
| linux-osmesa32: | ||||
| 	$(MAKE) $(MFLAGS) -f Makefile.OSMesa16 targets \ | ||||
| 	"OSMESA16_LIB = libOSMesa32.so" \ | ||||
| 	"CC = gcc" \ | ||||
| 	"CPLUSPLUS = g++" \ | ||||
| 	"CFLAGS = -O3 -ansi -pedantic -Wall -Wmissing-prototypes -Wundef -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM -DPTHREADS -DDEBUG -DMESA_DEBUG -DCHAN_BITS=32 -DDEFAULT_SOFTWARE_DEPTH_BITS=31" \ | ||||
| 	"CCFLAGS = $(CFLAGS)" \ | ||||
| 	"MAKELIB = ../bin/mklib.linux" \ | ||||
| 	"GL_LIB_DEPS = -lm -lpthread" \ | ||||
| 	"APP_LIB_DEPS = -lOSMesa32 -lGL" | ||||
|  | ||||
| # May want to add these CFLAGS for better performance under LynxOS and GCC: | ||||
| # -fPIC -O2 -ansi -pedantic -mieee-fp -DUSE_XSHM -funroll-loops | ||||
| @@ -970,7 +1043,7 @@ os2-x11: | ||||
| 	"APP_LIB_DEPS = -Zmt -Zcrtdll -Zexe -L$(X11ROOT)/XFree86/lib -lXt -lX11 -lm" \ | ||||
| 	"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \ | ||||
| 		X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \ | ||||
| 		X86/x86_cliptest.S X86/x86_vertex.S" | ||||
| 		X86/x86_cliptest.S" | ||||
|  | ||||
| osf1: | ||||
| 	$(MAKE) $(MFLAGS) -f Makefile.X11 targets \ | ||||
| @@ -1165,6 +1238,7 @@ sunos5: | ||||
| 	"GLW_LIB = libGLw.a" \ | ||||
| 	"OSMESA_LIB = libOSMesa.a" \ | ||||
| 	"CC = cc" \ | ||||
| 	"CPLUSPLUS = CC" \ | ||||
| 	"CFLAGS = -Xa -fast -xO4 -native -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DSOLARIS_2_4_BUG" \ | ||||
| 	"MAKELIB = ../bin/mklib.ar-ruv" \ | ||||
| 	"APP_LIB_DEPS = -L/usr/openwin/lib -L/usr/dt/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm" | ||||
| @@ -1177,6 +1251,7 @@ sunos5-sl: | ||||
| 	"GLW_LIB = libGLw.so" \ | ||||
| 	"OSMESA_LIB = libOSMesa.so" \ | ||||
| 	"CC = cc" \ | ||||
| 	"CPLUSPLUS = CC" \ | ||||
| 	"CFLAGS = -KPIC -Xa -O -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DSOLARIS_2_4_BUG" \ | ||||
| 	"MAKELIB = ../bin/mklib.sunos5" \ | ||||
| 	"APP_LIB_DEPS = -L/usr/openwin/lib -L/usr/dt/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm" | ||||
| @@ -1189,6 +1264,7 @@ sunos5-ultra: | ||||
| 	"GLW_LIB = libGLw.a" \ | ||||
| 	"OSMESA_LIB = libOSMesa.a" \ | ||||
| 	"CC = cc" \ | ||||
| 	"CPLUSPLUS = CC" \ | ||||
| 	"CFLAGS = -Xa -fast -xO5 -xtarget=ultra -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DSOLARIS_2_4_BUG" \ | ||||
| 	"MAKELIB = ../bin/mklib.ar-ruv" \ | ||||
| 	"APP_LIB_DEPS = -L/usr/openwin/lib -L/usr/dt/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm" | ||||
| @@ -1201,6 +1277,7 @@ sunos5-ultra-sl: | ||||
| 	"GLW_LIB = libGLw.so" \ | ||||
| 	"OSMESA_LIB = libOSMesa.so" \ | ||||
| 	"CC = cc" \ | ||||
| 	"CPLUSPLUS = CC" \ | ||||
| 	"CFLAGS = -KPIC -Xa -fast -xO5 -xtarget=ultra -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DSOLARIS_2_4_BUG" \ | ||||
| 	"MAKELIB = ../bin/mklib.sunos5" \ | ||||
| 	"APP_LIB_DEPS = -L/usr/openwin/lib -L/usr/dt/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm" | ||||
| @@ -1406,7 +1483,7 @@ vistra: | ||||
| # -woff 1521 = "nonstandard preprocessing directive is used" | ||||
| # -woff 3496 = "bitwise operator precedence" | ||||
| irix-debug: | ||||
| 	pmake $(MFLAGS) -f Makefile.X11 targets \ | ||||
| 	$(MAKE) $(MFLAGS) -f Makefile.X11 targets \ | ||||
| 	"GL_LIB = libGL.a" \ | ||||
| 	"GLU_LIB = libGLU.a" \ | ||||
| 	"GLUT_LIB = libglut.a" \ | ||||
| @@ -1419,7 +1496,7 @@ irix-debug: | ||||
| 	"APP_LIB_DEPS = -rpath ../lib32 -lX11 -lXext -lXmu -lXi -lfpe -lXext -lXmu -lXi -lm" | ||||
|  | ||||
| DEBUG: | ||||
| 	pmake $(MFLAGS) -f Makefile.X11 targets \ | ||||
| 	$(MAKE) $(MFLAGS) -f Makefile.X11 targets \ | ||||
| 	"GL_LIB = libGL.a" \ | ||||
| 	"GLU_LIB = libGLU.a" \ | ||||
| 	"GLUT_LIB = libglut.a" \ | ||||
| @@ -1440,13 +1517,13 @@ linux-debug: | ||||
| 	"OSMESA_LIB = libOSMesa.so" \ | ||||
| 	"CC = gcc" \ | ||||
| 	"CPLUSPLUS = g++" \ | ||||
| 	"CFLAGS = -g -ansi -pedantic -Wall -Wmissing-prototypes -Wundef -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM -DPTHREADS -DDEBUG -DMESA_DEBUG -DSVGA -I/usr/include/glide -DFX -DMESA_TRACE" \ | ||||
| 	"CFLAGS = -g -ansi -pedantic -Wall -Wmissing-prototypes -Wundef -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM -DPTHREADS -DDEBUG -DMESA_DEBUG" \ | ||||
| 	"CCFLAGS = $(CFLAGS)" \ | ||||
| 	"MAKELIB = ../bin/mklib.linux" \ | ||||
| 	"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread -L/usr/local/glide/lib -lglide2x -lvga" \ | ||||
| 	"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread" \ | ||||
| 	"GLU_LIB_DEPS = -L../lib -lGL -lm" \ | ||||
| 	"GLUT_LIB_DEPS = -L../lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \ | ||||
| 	"APP_LIB_DEPS = -lglut -lGLU -lGL -L/usr/local/glide/lib -lglide2x" | ||||
| 	"APP_LIB_DEPS = -lglut -lGLU -lGL" | ||||
|  | ||||
| linux-static-debug: | ||||
| 	$(MAKE) $(MFLAGS) -f Makefile.X11 targets \ | ||||
| @@ -1479,14 +1556,14 @@ linux-x86-debug: | ||||
| 	"APP_LIB_DEPS = -lm" \ | ||||
| 	"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \ | ||||
| 		X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \ | ||||
| 		X86/x86_cliptest.S X86/x86_vertex.S \ | ||||
| 		X86/x86_cliptest.S \ | ||||
| 		X86/mmx_blend.S \ | ||||
| 		X86/3dnow_xform1.S X86/3dnow_xform2.S \ | ||||
| 		X86/3dnow_xform3.S X86/3dnow_xform4.S \ | ||||
| 		X86/3dnow_normal.S X86/3dnow_vertex.S \ | ||||
| 		X86/3dnow_normal.S \ | ||||
| 		X86/sse_xform1.S X86/sse_xform2.S \ | ||||
| 		X86/sse_xform3.S X86/sse_xform4.S \ | ||||
| 		X86/sse_normal.S X86/sse_vertex.S" | ||||
| 		X86/sse_normal.S" | ||||
|  | ||||
| linux-glide-debug: | ||||
| 	$(MAKE) $(MFLAGS) -f Makefile.X11 targets \ | ||||
| @@ -1518,15 +1595,15 @@ linux-prof: | ||||
| 	"APP_LIB_DEPS = -L/usr/X11/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE -lm" \ | ||||
| 	"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \ | ||||
| 		X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \ | ||||
| 		X86/x86_cliptest.S X86/x86_vertex.S \ | ||||
| 		X86/x86_cliptest.S  \ | ||||
| 		X86/mmx_blend.S \ | ||||
| 		X86/3dnow_xform1.S X86/3dnow_xform2.S \ | ||||
| 		X86/3dnow_xform3.S X86/3dnow_xform4.S \ | ||||
| 		X86/3dnow_normal.S X86/3dnow_vertex.S \ | ||||
| 		X86/3dnow_normal.S \ | ||||
| 		FX/X86/fx_3dnow_fastpath.S \ | ||||
| 		X86/sse_xform1.S X86/sse_xform2.S \ | ||||
| 		X86/sse_xform3.S X86/sse_xform4.S \ | ||||
| 		X86/sse_normal.S X86/sse_vertex.S" | ||||
| 		X86/sse_normal.S " | ||||
|  | ||||
| linux-glide-prof: | ||||
| 	$(MAKE) $(MFLAGS) -f Makefile.X11 targets \ | ||||
| @@ -1543,12 +1620,12 @@ linux-glide-prof: | ||||
| 	"APP_LIB_DEPS = -L/usr/local/glide/lib -lglide2x -L/usr/X11/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE -lm" \ | ||||
| 	"ASM_SOURCES = X86/common_x86_asm.S X86/glapi_x86.S \ | ||||
| 		X86/x86_xform2.S X86/x86_xform3.S X86/x86_xform4.S \ | ||||
| 		X86/x86_cliptest.S X86/x86_vertex.S \ | ||||
| 		X86/x86_cliptest.S \ | ||||
| 		X86/mmx_blend.S \ | ||||
| 		X86/3dnow_xform1.S X86/3dnow_xform2.S \ | ||||
| 		X86/3dnow_xform3.S X86/3dnow_xform4.S \ | ||||
| 		X86/3dnow_normal.S X86/3dnow_vertex.S \ | ||||
| 		X86/3dnow_normal.S \ | ||||
| 		FX/X86/fx_3dnow_fastpath.S \ | ||||
| 		X86/sse_xform1.S X86/sse_xform2.S \ | ||||
| 		X86/sse_xform3.S X86/sse_xform4.S \ | ||||
| 		X86/sse_normal.S X86/sse_vertex.S" | ||||
| 		X86/sse_normal.S" | ||||
|   | ||||
							
								
								
									
										63
									
								
								Makefile.X11
									
									
									
									
									
								
							
							
						
						
									
										63
									
								
								Makefile.X11
									
									
									
									
									
								
							| @@ -1,9 +1,9 @@ | ||||
| # $Id: Makefile.X11,v 1.48 2001/06/19 21:49:06 brianp Exp $ | ||||
| # $Id: Makefile.X11,v 1.65 2002/10/15 15:40:57 brianp Exp $ | ||||
|  | ||||
| # Mesa 3-D graphics library | ||||
| # Version:  3.5 | ||||
| # 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"), | ||||
| @@ -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" | ||||
| @@ -85,6 +86,8 @@ default: | ||||
| 	@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)" | ||||
| @@ -136,12 +139,12 @@ default: | ||||
| # 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 dgux freebsd freebsd-386 gcc \ | ||||
| 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 \ | ||||
| irix4 irix5 irix5-gcc irix5-dso \ | ||||
| linux linux-static linux-debug linux-static-debug linux-prof \ | ||||
| linux-x86 linux-x86-static linux-x86-debug \ | ||||
| linux-x86 linux-icc linux-x86-static linux-x86-debug \ | ||||
| linux-glide linux-386-glide linux-386-opt-glide \ | ||||
| linux-x86-glide linux-glide-debug linux-glide-prof \ | ||||
| linux-alpha-static linux-alpha \ | ||||
| @@ -170,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 | ||||
| @@ -294,7 +296,7 @@ linux-ggi-install linux-386-ggi-install: | ||||
| #	echo ".include $(DESTDIR)/etc/ggi/ggimesa.conf" >> $(DESTDIR)/etc/ggi/libggi.conf ; \ | ||||
| #	fi | ||||
|  | ||||
| linux-osmesa16: | ||||
| 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 | ||||
| @@ -321,20 +323,17 @@ 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.5 | ||||
| LIB_NAME = MesaLib-3.5 | ||||
| DEMO_NAME = MesaDemos-3.5 | ||||
| GLU_NAME = MesaGLU-3.5 | ||||
| DIRECTORY = Mesa-4.1 | ||||
| LIB_NAME = MesaLib-4.1 | ||||
| DEMO_NAME = MesaDemos-4.1 | ||||
| GLU_NAME = MesaGLU-4.1 | ||||
| GLUT_NAME = GLUT-3.7 | ||||
|  | ||||
|  | ||||
| @@ -351,7 +350,6 @@ LIB_FILES =	\ | ||||
| 	$(DIRECTORY)/configure						\ | ||||
| 	$(DIRECTORY)/configure.in					\ | ||||
| 	$(DIRECTORY)/install-sh						\ | ||||
| 	$(DIRECTORY)/ltconfig						\ | ||||
| 	$(DIRECTORY)/ltmain.sh						\ | ||||
| 	$(DIRECTORY)/missing						\ | ||||
| 	$(DIRECTORY)/mkinstalldirs					\ | ||||
| @@ -379,7 +377,7 @@ LIB_FILES =	\ | ||||
| 	$(DIRECTORY)/include/GL/internal/glcore.h			\ | ||||
| 	$(DIRECTORY)/include/GL/Makefile.in				\ | ||||
| 	$(DIRECTORY)/include/GL/Makefile.am				\ | ||||
| 	$(DIRECTORY)/include/GL/dosmesa.h				\ | ||||
| 	$(DIRECTORY)/include/GL/dmesa.h					\ | ||||
| 	$(DIRECTORY)/include/GL/amesa.h					\ | ||||
| 	$(DIRECTORY)/include/GL/fxmesa.h				\ | ||||
| 	$(DIRECTORY)/include/GL/ggimesa.h				\ | ||||
| @@ -395,17 +393,19 @@ LIB_FILES =	\ | ||||
| 	$(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/dmesadxe.h					\ | ||||
| 	$(DIRECTORY)/include/Makefile.in				\ | ||||
| 	$(DIRECTORY)/include/Makefile.am				\ | ||||
| 	$(DIRECTORY)/src/Makefile*					\ | ||||
| 	$(DIRECTORY)/src/libGL_la_SOURCES				\ | ||||
| 	$(DIRECTORY)/src/descrip.mms					\ | ||||
| 	$(DIRECTORY)/src/mms_depend					\ | ||||
| 	$(DIRECTORY)/src/mesa.conf					\ | ||||
| 	$(DIRECTORY)/src/*.def						\ | ||||
| 	$(DIRECTORY)/src/depend						\ | ||||
| @@ -423,6 +423,16 @@ LIB_FILES =	\ | ||||
| 	$(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					\ | ||||
| @@ -454,6 +464,8 @@ LIB_FILES =	\ | ||||
| 	$(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				\ | ||||
| @@ -476,6 +488,8 @@ LIB_FILES =	\ | ||||
| 	$(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					\ | ||||
| @@ -567,7 +581,6 @@ OBSOLETE_LIB_FILES = \ | ||||
| 	$(DIRECTORY)/src/D3D/*bat					\ | ||||
| 	$(DIRECTORY)/src/D3D/*DEF					\ | ||||
| 	$(DIRECTORY)/src/DOS/DEPEND.DOS					\ | ||||
| 	$(DIRECTORY)/src/DOS/*.c					\ | ||||
| 	$(DIRECTORY)/src/S3/*.[ch]					\ | ||||
| 	$(DIRECTORY)/src/S3/*.def					\ | ||||
| 	$(DIRECTORY)/src/S3/*.mak					\ | ||||
| @@ -600,6 +613,9 @@ DEMO_FILES =	\ | ||||
| 	$(DIRECTORY)/src-glut/descrip.mms	\ | ||||
| 	$(DIRECTORY)/src-glut/mms_depend	\ | ||||
| 	$(DIRECTORY)/src-glut/*.[ch]		\ | ||||
| 	$(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		\ | ||||
| @@ -609,7 +625,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]		\ | ||||
| @@ -617,6 +633,9 @@ 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 = \ | ||||
|   | ||||
							
								
								
									
										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 | ||||
							
								
								
									
										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 $ | ||||
|   | ||||
							
								
								
									
										211
									
								
								docs/README.DJ
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										211
									
								
								docs/README.DJ
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,211 @@ | ||||
| 			Mesa 4.0 DOS/DJGPP Port v1.1 | ||||
| 			~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||||
|  | ||||
|  | ||||
|  | ||||
| Description: | ||||
| ~~~~~~~~~~~~ | ||||
|  | ||||
| Well, guess what... this is the DOS port of Mesa 4.0.4, 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.03 + gcc v3.1 + 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 couln'd 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. For example: | ||||
| 	gcc -o OUT.exe IN.c -lglut -lglu -lgl | ||||
|  | ||||
|    Q) Okay, DXE2 modules are built. How can I use them? | ||||
|    A) Usage of the dynamic modules requires three things: | ||||
| 	- include DMESADXE.H in one of the sources, so references inside | ||||
| 	  dynamic modules will get resolved (or use `-include' directive). | ||||
| 	- link against import libraries (libI*.a) and LIBDL.A, which will do | ||||
| 	  the dynamic linkage job for you | ||||
| 	- put the DXEs somewhere along the library path (LD_LIBRARY_PATH) or | ||||
| 	  in the current directory | ||||
|       For example: | ||||
| 	gcc -o OUT.exe -include dmesadxe.h IN.c -ligl -liglu -liglut -ldl | ||||
|  | ||||
|    Q) The application dies with "Abort!" due to unresolved symbols. | ||||
|    A) This is bad! Extract the unresolved symbol list from this module. For | ||||
|       example: | ||||
| 	dxe2gen --show-unres gl.dxe > u | ||||
|       Check DMESADXE.H; the symbols in `u' must either be present here or be | ||||
|       exported from another module that has to be loaded before your faulting | ||||
|       one. Then recompile. | ||||
|  | ||||
| 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) The DJGPP port of Mesa 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 | ||||
|  | ||||
|  | ||||
|  | ||||
| Contact: | ||||
| ~~~~~~~~ | ||||
|  | ||||
| Name:   Borca Daniel | ||||
| E-mail: dborca@yahoo.com | ||||
| WWW:    http://www.geocities.com/dborca/ | ||||
| @@ -1,623 +1,94 @@ | ||||
|  | ||||
|     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: Aug 15, 2002 - Karl Schultz - kschultz@users.sourceforge.net | ||||
|  | ||||
| Quick Start | ||||
|  | ||||
| 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.5 Unix/X11 Information | ||||
|                        Mesa 4.0 Unix/X11 Information | ||||
|  | ||||
|  | ||||
|  | ||||
| @@ -25,7 +25,7 @@ There are two ways to compile Mesa on Unix/X11 systems: | ||||
|  | ||||
|  | ||||
| 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.5/lib/ | ||||
| directories.  When finished, the Mesa libraries will be in the Mesa-4.0/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 | ||||
| @@ -323,4 +323,4 @@ Summary of X-related environment variables: | ||||
|  | ||||
|  | ||||
| ---------------------------------------------------------------------- | ||||
| $Id: README.X11,v 3.6 2001/06/20 19:02:48 brianp Exp $ | ||||
| $Id: README.X11,v 3.8 2001/09/23 16:10:02 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 $ | ||||
							
								
								
									
										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 $ | ||||
							
								
								
									
										192
									
								
								docs/VERSIONS
									
									
									
									
									
								
							
							
						
						
									
										192
									
								
								docs/VERSIONS
									
									
									
									
									
								
							| @@ -1,4 +1,4 @@ | ||||
| $Id: VERSIONS,v 1.60 2001/06/20 19:02:48 brianp Exp $ | ||||
| $Id: VERSIONS,v 1.103 2002/10/29 15:09:37 brianp Exp $ | ||||
|  | ||||
|  | ||||
| Mesa Version History | ||||
| @@ -867,3 +867,193 @@ Mesa Version History | ||||
|     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,1] 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 | ||||
| 	- floating point color channels now clamped to [0,inf) | ||||
| 	- updated demos/stex3d with new options | ||||
|   | ||||
							
								
								
									
										7
									
								
								doxygen/README
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								doxygen/README
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,7 @@ | ||||
|  | ||||
| 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. | ||||
							
								
								
									
										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         = 4.1 | ||||
| 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/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          =  | ||||
							
								
								
									
										183
									
								
								doxygen/core.doxy
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										183
									
								
								doxygen/core.doxy
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,183 @@ | ||||
| # Doxyfile 0.1 | ||||
|  | ||||
| #--------------------------------------------------------------------------- | ||||
| # General configuration options | ||||
| #--------------------------------------------------------------------------- | ||||
| PROJECT_NAME           = "Mesa Core" | ||||
| PROJECT_NUMBER         = 4.1 | ||||
| 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/ | ||||
| FILE_PATTERNS          = *.h *.c | ||||
| RECURSIVE              = NO | ||||
| EXCLUDE                = ../src/glapitemp.h ../src/glapioffsets.h | ||||
| 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            = 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        = 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		= tnl_dd.tag=../tnl_dd \ | ||||
| 			 array_cache.tag=../array_cache \ | ||||
|                          math.tag=../math \ | ||||
|                          swrast.tag=../swrast \ | ||||
|                          swrast_setup.tag=../swrast_setup \ | ||||
|                          tnl.tag=../tnl \ | ||||
|                          array_cache.tag=array_cache | ||||
| 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          =  | ||||
							
								
								
									
										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 API docs</title> | ||||
| <link href="doxygen.css" rel="stylesheet" type="text/css"> | ||||
| </head> | ||||
| <body><center> | ||||
| <a href="../array_cache/index.html">array_cache</a>  | ||||
| <a href="../core/index.html">core</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> | ||||
							
								
								
									
										21
									
								
								doxygen/makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								doxygen/makefile
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,21 @@ | ||||
| default: | ||||
| 	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 | ||||
|  | ||||
|  | ||||
| clean: | ||||
| 	rm -rf array_cache core math swrast swrast_setup tnl_dd tnl | ||||
| 	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" | ||||
| PROJECT_NUMBER         = 4.1 | ||||
| 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/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     = YES | ||||
| 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          =  | ||||
							
								
								
									
										183
									
								
								doxygen/swrast.doxy
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										183
									
								
								doxygen/swrast.doxy
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,183 @@ | ||||
| # Doxyfile 0.1 | ||||
|  | ||||
| #--------------------------------------------------------------------------- | ||||
| # General configuration options | ||||
| #--------------------------------------------------------------------------- | ||||
| PROJECT_NAME           = "Mesa swrast" | ||||
| PROJECT_NUMBER         = 4.1 | ||||
| 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   = YES | ||||
| 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_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         = 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/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         = 4.1 | ||||
| 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 tnl" | ||||
| PROJECT_NUMBER         = 4.1 | ||||
| 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         = 4.1 | ||||
| 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          = *.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          =  | ||||
							
								
								
									
										77
									
								
								include/GL/dmesa.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										77
									
								
								include/GL/dmesa.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,77 @@ | ||||
| /* | ||||
|  * Mesa 3-D graphics library | ||||
|  * Version:  4.0 | ||||
|  *  | ||||
|  * 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. | ||||
|  */ | ||||
|  | ||||
| /* | ||||
|  * DOS/DJGPP device driver v1.0 for Mesa 4.0 | ||||
|  * | ||||
|  *  Copyright (C) 2002 - Borca Daniel | ||||
|  *  Email : dborca@yahoo.com | ||||
|  *  Web   : http://www.geocities.com/dborca | ||||
|  */ | ||||
|  | ||||
|  | ||||
| #ifndef DMESA_included | ||||
| #define DMESA_included | ||||
|  | ||||
| #define DMESA_MAJOR_VERSION 4 | ||||
| #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,8 +1,8 @@ | ||||
| /* $Id: fxmesa.h,v 1.3 2001/06/20 19:52:11 brianp Exp $ */ | ||||
| /* $Id: fxmesa.h,v 1.4 2001/09/23 16:06:13 brianp Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * Mesa 3-D graphics library | ||||
|  * Version:  3.3 | ||||
|  * Version:  4.0 | ||||
|  * Copyright (C) 1995-2001  Brian Paul | ||||
|  * | ||||
|  * This library is free software; you can redistribute it and/or | ||||
| @@ -40,8 +40,8 @@ extern "C" { | ||||
| #endif | ||||
|  | ||||
|  | ||||
| #define FXMESA_MAJOR_VERSION 3 | ||||
| #define FXMESA_MINOR_VERSION 5 | ||||
| #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 | ||||
| } | ||||
|   | ||||
							
								
								
									
										814
									
								
								include/GL/gl.h
									
									
									
									
									
								
							
							
						
						
									
										814
									
								
								include/GL/gl.h
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										2982
									
								
								include/GL/glext.h
									
									
									
									
									
								
							
							
						
						
									
										2982
									
								
								include/GL/glext.h
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										140
									
								
								include/GL/glu.h
									
									
									
									
									
								
							
							
						
						
									
										140
									
								
								include/GL/glu.h
									
									
									
									
									
								
							| @@ -30,8 +30,20 @@ | ||||
| #ifndef __glu_h__ | ||||
| #define __glu_h__ | ||||
|  | ||||
| #if defined(USE_MGL_NAMESPACE) | ||||
| #include "glu_mangle.h" | ||||
| #endif | ||||
|  | ||||
| #include <GL/gl.h> | ||||
|  | ||||
| #ifndef GLAPIENTRY | ||||
| #define GLAPIENTRY | ||||
| #endif | ||||
|  | ||||
| #ifndef GLAPI | ||||
| #define GLAPI | ||||
| #endif | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
| @@ -246,75 +258,75 @@ typedef struct GLUquadric GLUquadric; | ||||
| typedef struct GLUtesselator GLUtesselator; | ||||
| #endif | ||||
|  | ||||
| typedef struct GLUnurbs GLUnurbsObj; | ||||
| typedef struct GLUquadric GLUquadricObj; | ||||
| typedef struct GLUtesselator GLUtesselatorObj; | ||||
| typedef struct GLUtesselator GLUtriangulatorObj; | ||||
| typedef GLUnurbs GLUnurbsObj; | ||||
| typedef GLUquadric GLUquadricObj; | ||||
| typedef GLUtesselator GLUtesselatorObj; | ||||
| typedef GLUtesselator GLUtriangulatorObj; | ||||
|  | ||||
| #define GLU_TESS_MAX_COORD 1.0e150 | ||||
|  | ||||
| /* Internal convenience typedefs */ | ||||
| typedef void (*_GLUfuncptr)(); | ||||
| typedef void (GLAPIENTRY *_GLUfuncptr)(); | ||||
|  | ||||
| extern void gluBeginCurve (GLUnurbs* nurb); | ||||
| extern void gluBeginPolygon (GLUtesselator* tess); | ||||
| extern void gluBeginSurface (GLUnurbs* nurb); | ||||
| extern void gluBeginTrim (GLUnurbs* nurb); | ||||
| extern GLint gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); | ||||
| extern GLint gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); | ||||
| extern GLint gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); | ||||
| extern GLint gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); | ||||
| extern GLint gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); | ||||
| extern GLint gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); | ||||
| extern GLboolean gluCheckExtension (const GLubyte *extName, const GLubyte *extString); | ||||
| extern void gluCylinder (GLUquadric* quad, GLdouble base, GLdouble top, GLdouble height, GLint slices, GLint stacks); | ||||
| extern void gluDeleteNurbsRenderer (GLUnurbs* nurb); | ||||
| extern void gluDeleteQuadric (GLUquadric* quad); | ||||
| extern void gluDeleteTess (GLUtesselator* tess); | ||||
| extern void gluDisk (GLUquadric* quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops); | ||||
| extern void gluEndCurve (GLUnurbs* nurb); | ||||
| extern void gluEndPolygon (GLUtesselator* tess); | ||||
| extern void gluEndSurface (GLUnurbs* nurb); | ||||
| extern void gluEndTrim (GLUnurbs* nurb); | ||||
| extern const GLubyte * gluErrorString (GLenum error); | ||||
| extern void gluGetNurbsProperty (GLUnurbs* nurb, GLenum property, GLfloat* data); | ||||
| extern const GLubyte * gluGetString (GLenum name); | ||||
| extern void gluGetTessProperty (GLUtesselator* tess, GLenum which, GLdouble* data); | ||||
| extern void gluLoadSamplingMatrices (GLUnurbs* nurb, const GLfloat *model, const GLfloat *perspective, const GLint *view); | ||||
| extern void gluLookAt (GLdouble eyeX, GLdouble eyeY, GLdouble eyeZ, GLdouble centerX, GLdouble centerY, GLdouble centerZ, GLdouble upX, GLdouble upY, GLdouble upZ); | ||||
| extern GLUnurbs* gluNewNurbsRenderer (void); | ||||
| extern GLUquadric* gluNewQuadric (void); | ||||
| extern GLUtesselator* gluNewTess (void); | ||||
| extern void gluNextContour (GLUtesselator* tess, GLenum type); | ||||
| extern void gluNurbsCallback (GLUnurbs* nurb, GLenum which, _GLUfuncptr CallBackFunc); | ||||
| extern void gluNurbsCallbackData (GLUnurbs* nurb, GLvoid* userData); | ||||
| extern void gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); | ||||
| extern void gluNurbsCurve (GLUnurbs* nurb, GLint knotCount, GLfloat *knots, GLint stride, GLfloat *control, GLint order, GLenum type); | ||||
| extern void gluNurbsProperty (GLUnurbs* nurb, GLenum property, GLfloat value); | ||||
| extern void gluNurbsSurface (GLUnurbs* nurb, GLint sKnotCount, GLfloat* sKnots, GLint tKnotCount, GLfloat* tKnots, GLint sStride, GLint tStride, GLfloat* control, GLint sOrder, GLint tOrder, GLenum type); | ||||
| extern void gluOrtho2D (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top); | ||||
| extern void gluPartialDisk (GLUquadric* quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops, GLdouble start, GLdouble sweep); | ||||
| extern void gluPerspective (GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar); | ||||
| extern void gluPickMatrix (GLdouble x, GLdouble y, GLdouble delX, GLdouble delY, GLint *viewport); | ||||
| extern GLint gluProject (GLdouble objX, GLdouble objY, GLdouble objZ, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble* winX, GLdouble* winY, GLdouble* winZ); | ||||
| extern void gluPwlCurve (GLUnurbs* nurb, GLint count, GLfloat* data, GLint stride, GLenum type); | ||||
| extern void gluQuadricCallback (GLUquadric* quad, GLenum which, _GLUfuncptr CallBackFunc); | ||||
| extern void gluQuadricDrawStyle (GLUquadric* quad, GLenum draw); | ||||
| extern void gluQuadricNormals (GLUquadric* quad, GLenum normal); | ||||
| extern void gluQuadricOrientation (GLUquadric* quad, GLenum orientation); | ||||
| extern void gluQuadricTexture (GLUquadric* quad, GLboolean texture); | ||||
| extern GLint gluScaleImage (GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void *dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid* dataOut); | ||||
| extern void gluSphere (GLUquadric* quad, GLdouble radius, GLint slices, GLint stacks); | ||||
| extern void gluTessBeginContour (GLUtesselator* tess); | ||||
| extern void gluTessBeginPolygon (GLUtesselator* tess, GLvoid* data); | ||||
| extern void gluTessCallback (GLUtesselator* tess, GLenum which, _GLUfuncptr CallBackFunc); | ||||
| extern void gluTessEndContour (GLUtesselator* tess); | ||||
| extern void gluTessEndPolygon (GLUtesselator* tess); | ||||
| extern void gluTessNormal (GLUtesselator* tess, GLdouble valueX, GLdouble valueY, GLdouble valueZ); | ||||
| extern void gluTessProperty (GLUtesselator* tess, GLenum which, GLdouble data); | ||||
| extern void gluTessVertex (GLUtesselator* tess, GLdouble *location, GLvoid* data); | ||||
| extern GLint gluUnProject (GLdouble winX, GLdouble winY, GLdouble winZ, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble* objX, GLdouble* objY, GLdouble* objZ); | ||||
| extern GLint gluUnProject4 (GLdouble winX, GLdouble winY, GLdouble winZ, GLdouble clipW, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble near, GLdouble far, GLdouble* objX, GLdouble* objY, GLdouble* objZ, GLdouble* objW); | ||||
| 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 | ||||
| } | ||||
|   | ||||
| @@ -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.27 2001/05/24 19:07:14 brianp Exp $ */ | ||||
| /* $Id: glx.h,v 1.38 2002/10/14 13:52:27 brianp Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * Mesa 3-D graphics library | ||||
|  * Version:  3.5 | ||||
|  * 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"), | ||||
| @@ -60,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" | ||||
|  | ||||
| @@ -125,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 | ||||
| @@ -137,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 | ||||
| @@ -151,15 +154,27 @@ 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			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*/ | ||||
|  | ||||
|  | ||||
|  | ||||
| @@ -279,6 +294,9 @@ extern void glXGetSelectedEvent( Display *dpy, GLXDrawable drawable, | ||||
|                                  unsigned long *mask ); | ||||
|  | ||||
|  | ||||
| /* GLX 1.4 and later */ | ||||
| extern void (*glXGetProcAddress(const GLubyte *procname))(); | ||||
|  | ||||
|  | ||||
| #ifndef GLX_GLXEXT_LEGACY | ||||
|  | ||||
| @@ -435,6 +453,38 @@ extern void (*glXGetProcAddressARB(const GLubyte *procName))(); | ||||
| #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 */ | ||||
|  | ||||
|  | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -42,11 +42,16 @@ extern "C" { | ||||
| #ifndef APIENTRY | ||||
| #define APIENTRY | ||||
| #endif | ||||
| #ifndef GLAPI | ||||
| #define GLAPI extern | ||||
| #endif | ||||
|  | ||||
| /*************************************************************/ | ||||
|  | ||||
| /* Header file version number, required by OpenGL ABI for Linux */ | ||||
| #define GLX_GLXEXT_VERSION 2 | ||||
| /* 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 | ||||
| @@ -107,7 +112,19 @@ extern "C" { | ||||
| #define GLX_PBUFFER_WIDTH                  0x8041 | ||||
| #endif | ||||
|  | ||||
| /* XXX Added by BrianP */ | ||||
| #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 | ||||
| @@ -248,11 +265,24 @@ extern "C" { | ||||
| #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 | ||||
| /* XXX Added void parameter to silence many, many warnings (BrianP) */ | ||||
| typedef void (*__GLXextFuncPtr)(void); | ||||
| #endif | ||||
|  | ||||
| @@ -324,6 +354,14 @@ typedef void ( * PFNGLXSELECTEVENTPROC) (Display *dpy, GLXDrawable draw, unsigne | ||||
| 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 | ||||
| @@ -332,6 +370,10 @@ extern __GLXextFuncPtr glXGetProcAddressARB (const GLubyte *); | ||||
| 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 | ||||
| @@ -389,13 +431,13 @@ typedef void ( * PFNGLXDESTROYGLXVIDEOSOURCESGIXPROC) (Display *dpy, GLXVideoSou | ||||
| #ifdef GLX_GLXEXT_PROTOTYPES | ||||
| extern Display * glXGetCurrentDisplayEXT (void); | ||||
| extern int glXQueryContextInfoEXT (Display *, GLXContext, int, int *); | ||||
| extern GLXContextID glXGetContextIDEXT (GLXContext); | ||||
| 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) (GLXContext context); | ||||
| typedef GLXContextID ( * PFNGLXGETCONTEXTIDEXTPROC) (const GLXContext context); | ||||
| typedef GLXContext ( * PFNGLXIMPORTCONTEXTEXTPROC) (Display *dpy, GLXContextID contextID); | ||||
| typedef void ( * PFNGLXFREECONTEXTEXTPROC) (Display *dpy, GLXContext context); | ||||
| #endif | ||||
| @@ -526,6 +568,37 @@ extern Bool glXSet3DfxModeMESA (int); | ||||
| 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 | ||||
| } | ||||
|   | ||||
| @@ -314,7 +314,9 @@ struct __GLdrawablePrivateRec { | ||||
|     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 | ||||
| @@ -373,8 +375,13 @@ typedef struct __GLimportsRec { | ||||
|     /* 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; | ||||
|   | ||||
| @@ -1,10 +1,10 @@ | ||||
| /* $Id: osmesa.h,v 1.6 2000/09/08 16:41:38 brianp Exp $ */ | ||||
| /* $Id: osmesa.h,v 1.10 2002/04/04 16:58:04 brianp Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * Mesa 3-D graphics library | ||||
|  * Version:  3.5 | ||||
|  * 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"), | ||||
| @@ -62,8 +62,9 @@ extern "C" { | ||||
| #include <GL/gl.h> | ||||
|  | ||||
|  | ||||
| #define OSMESA_MAJOR_VERSION 3 | ||||
| #define OSMESA_MINOR_VERSION 5 | ||||
| #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; | ||||
| @@ -250,6 +254,15 @@ OSMesaGetColorBuffer( OSMesaContext c, GLint *width, GLint *height, | ||||
|  | ||||
|  | ||||
|  | ||||
| /* | ||||
|  * Return pointer to the named function. | ||||
|  * | ||||
|  * New in Mesa 4.1 | ||||
|  */ | ||||
| GLAPI void * GLAPIENTRY | ||||
| OSMesaGetProcAddress( const char *funcName ); | ||||
|  | ||||
|  | ||||
| #if defined(__BEOS__) || defined(__QUICKDRAW__) | ||||
| #pragma export off | ||||
| #endif | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| /* $Id: svgamesa.h,v 1.5 2001/06/20 19:52:11 brianp Exp $ */ | ||||
| /* $Id: svgamesa.h,v 1.6 2001/09/23 16:06:13 brianp Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * Mesa 3-D graphics library | ||||
|  * Version:  3.5 | ||||
|  * Version:  4.0 | ||||
|  * Copyright (C) 1995-2001  Brian Paul | ||||
|  * | ||||
|  * This library is free software; you can redistribute it and/or | ||||
| @@ -52,8 +52,8 @@ | ||||
| #define SVGAMESA_H | ||||
|  | ||||
|  | ||||
| #define SVGAMESA_MAJOR_VERSION 3 | ||||
| #define SVGAMESA_MINOR_VERSION 5 | ||||
| #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 | ||||
| @@ -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.11 2001/06/20 19:52:11 brianp Exp $ */ | ||||
| /* $Id: xmesa.h,v 1.14 2002/10/05 03:03:37 brianp Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * Mesa 3-D graphics library | ||||
|  * Version:  3.5 | ||||
|  * Version:  4.1 | ||||
|  *  | ||||
|  * Copyright (C) 1999-2001  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"), | ||||
| @@ -89,8 +89,8 @@ extern struct Library *XLibBase; | ||||
| #endif | ||||
|  | ||||
|  | ||||
| #define XMESA_MAJOR_VERSION 3 | ||||
| #define XMESA_MINOR_VERSION 5 | ||||
| #define XMESA_MAJOR_VERSION 4 | ||||
| #define XMESA_MINOR_VERSION 1 | ||||
|  | ||||
|  | ||||
|  | ||||
| @@ -365,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(); | ||||
|    } | ||||
|     | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| # $Id: Makefile.X11,v 1.19 2001/03/27 17:44:35 brianp Exp $ | ||||
| # $Id: Makefile.X11,v 1.20 2001/08/21 05:42:11 gareth Exp $ | ||||
|  | ||||
| # Mesa 3-D graphics library | ||||
| # Version:  3.5 | ||||
| @@ -18,8 +18,7 @@ OSMESA_LIBS = -L$(LIBDIR) -lglut -lOSMesa -lGLU -lGL $(APP_LIB_DEPS) | ||||
|  | ||||
| LIB_DEP = $(LIBDIR)/$(GL_LIB) $(LIBDIR)/$(GLU_LIB) $(LIBDIR)/$(GLUT_LIB) | ||||
|  | ||||
| PROGS = anisotropic \ | ||||
| 	bounce \ | ||||
| PROGS = bounce \ | ||||
| 	clearspd \ | ||||
| 	cubemap \ | ||||
| 	drawpix \ | ||||
|   | ||||
							
								
								
									
										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,220 +0,0 @@ | ||||
| /* $Id: anisotropic.c,v 1.1 2001/03/22 15:24:15 gareth Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * GL_ARB_texture_filter_anisotropic demo | ||||
|  * | ||||
|  * Gareth Hughes | ||||
|  * March 2001 | ||||
|  * | ||||
|  * Copyright (C) 2000  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. | ||||
|  */ | ||||
|  | ||||
| /* This is a fairly early version.  All it does is draw a couple of | ||||
|  * textured quads with different forms of texture filtering.  Eventually, | ||||
|  * you'll be able to adjust the maximum anisotropy and so on. | ||||
|  */ | ||||
|  | ||||
| #include <math.h> | ||||
| #include <stdio.h> | ||||
| #include <stdlib.h> | ||||
| #include <GL/glut.h> | ||||
|  | ||||
| #define TEXTURE_SIZE 256 | ||||
| static GLubyte image[TEXTURE_SIZE][TEXTURE_SIZE][3]; | ||||
|  | ||||
| static GLfloat repeat = 1.0; | ||||
|  | ||||
| static GLfloat texcoords[] = { | ||||
|    0.0, 0.0, | ||||
|    0.0, 1.0, | ||||
|    1.0, 0.0, | ||||
|    1.0, 1.0 | ||||
| }; | ||||
|  | ||||
| static GLfloat vertices[] = { | ||||
|    -400.0, -400.0,     0.0, | ||||
|    -400.0,  400.0, -7000.0, | ||||
|     400.0, -400.0,     0.0, | ||||
|     400.0,  400.0, -7000.0 | ||||
| }; | ||||
|  | ||||
| static GLfloat maxAnisotropy; | ||||
|  | ||||
|  | ||||
| static void init( void ) | ||||
| { | ||||
|    int i, j; | ||||
|  | ||||
|    if ( !glutExtensionSupported( "GL_EXT_texture_filter_anisotropic" ) ) { | ||||
|       fprintf( stderr, "Sorry, this demo requires GL_EXT_texture_filter_anisotropic.\n" ); | ||||
|       exit( 0 ); | ||||
|    } | ||||
|  | ||||
|    glClearColor( 0.0, 0.0, 0.0, 0.0 ); | ||||
|    glShadeModel( GL_SMOOTH ); | ||||
|  | ||||
|    /* Init the vertex arrays. | ||||
|     */ | ||||
|    glEnableClientState( GL_VERTEX_ARRAY ); | ||||
|    glEnableClientState( GL_TEXTURE_COORD_ARRAY ); | ||||
|  | ||||
|    glVertexPointer( 3, GL_FLOAT, 0, vertices ); | ||||
|    glTexCoordPointer( 2, GL_FLOAT, 0, texcoords ); | ||||
|  | ||||
|    /* Init the texture environment. | ||||
|     */ | ||||
|    glEnable( GL_TEXTURE_2D ); | ||||
|    glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE ); | ||||
|  | ||||
|    glMatrixMode( GL_TEXTURE ); | ||||
|    glScalef( repeat, repeat, 0 ); | ||||
|  | ||||
|    glMatrixMode( GL_MODELVIEW ); | ||||
|  | ||||
|    glGetFloatv( GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &maxAnisotropy ); | ||||
|    printf( "Maximum supported anisotropy: %.2f\n", maxAnisotropy ); | ||||
|  | ||||
|    /* Make the texture image. | ||||
|     */ | ||||
|    glPixelStorei( GL_UNPACK_ALIGNMENT, 1 ); | ||||
|  | ||||
|    for ( i = 0 ; i < TEXTURE_SIZE ; i++ ) { | ||||
|       for ( j = 0 ; j < TEXTURE_SIZE ; j++ ) { | ||||
| 	 if ( (i/4 + j/4) & 1 ) { | ||||
| 	    image[i][j][0] = 0; | ||||
| 	    image[i][j][1] = 0; | ||||
| 	    image[i][j][2] = 0; | ||||
| 	 } else { | ||||
| 	    image[i][j][0] = 255; | ||||
| 	    image[i][j][1] = 255; | ||||
| 	    image[i][j][2] = 255; | ||||
| 	 } | ||||
|       } | ||||
|    } | ||||
|  | ||||
|    gluBuild2DMipmaps( GL_TEXTURE_2D, GL_RGB, TEXTURE_SIZE, TEXTURE_SIZE, | ||||
| 		      GL_RGB, GL_UNSIGNED_BYTE, image ); | ||||
| } | ||||
|  | ||||
| static void display( void ) | ||||
| { | ||||
|    GLint vp[4], w, h; | ||||
|  | ||||
|    glClear( GL_COLOR_BUFFER_BIT ); | ||||
|  | ||||
|    glGetIntegerv( GL_VIEWPORT, vp ); | ||||
|    w = vp[2] / 2; | ||||
|    h = vp[3] / 2; | ||||
|  | ||||
|    /* Upper left corner: | ||||
|     */ | ||||
|    glViewport( 1, h + 1, w - 2, h - 2 ); | ||||
|  | ||||
|    glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); | ||||
|    glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, maxAnisotropy ); | ||||
|  | ||||
|    glDrawArrays( GL_TRIANGLE_STRIP, 0, 4 ); | ||||
|  | ||||
|  | ||||
|    /* Upper right corner: | ||||
|     */ | ||||
|    glViewport( w + 1, h + 1, w - 2, h - 2 ); | ||||
|  | ||||
|    glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST ); | ||||
|    glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, maxAnisotropy ); | ||||
|  | ||||
|    glDrawArrays( GL_TRIANGLE_STRIP, 0, 4 ); | ||||
|  | ||||
|  | ||||
|    /* Lower left corner: | ||||
|     */ | ||||
|    glViewport( 1, 1, w - 2, h - 2 ); | ||||
|  | ||||
|    glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_LINEAR ); | ||||
|    glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, maxAnisotropy ); | ||||
|  | ||||
|    glDrawArrays( GL_TRIANGLE_STRIP, 0, 4 ); | ||||
|  | ||||
|  | ||||
|    /* Lower right corner: | ||||
|     */ | ||||
|    glViewport( w + 1, 1, w - 2, h - 2 ); | ||||
|  | ||||
|    glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR ); | ||||
|    glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, maxAnisotropy ); | ||||
|  | ||||
|    glDrawArrays( GL_TRIANGLE_STRIP, 0, 4 ); | ||||
|  | ||||
|  | ||||
|    glViewport( vp[0], vp[1], vp[2], vp[3] ); | ||||
|  | ||||
|    glutSwapBuffers(); | ||||
| } | ||||
|  | ||||
| static void reshape( int w, int h ) | ||||
| { | ||||
|    glViewport( 0, 0, (GLsizei) w, (GLsizei) h ); | ||||
|  | ||||
|    glMatrixMode( GL_PROJECTION ); | ||||
|    glLoadIdentity(); | ||||
|    glFrustum( -1.0, 1.0, -1.0, 1.0, 10.0, 10000.0 ); | ||||
|  | ||||
|    glMatrixMode( GL_MODELVIEW ); | ||||
|    glLoadIdentity(); | ||||
|    glTranslatef( 0.0, 0.0, -10.0 ); | ||||
| } | ||||
|  | ||||
| static void key( unsigned char key, int x, int y ) | ||||
| { | ||||
|    (void) x; (void) y; | ||||
|  | ||||
|    switch ( key ) { | ||||
|    case 27: | ||||
|       exit( 0 ); | ||||
|    } | ||||
|  | ||||
|    glutPostRedisplay(); | ||||
| } | ||||
|  | ||||
| static void usage( void ) | ||||
| { | ||||
|    /* Nothing yet... */ | ||||
| } | ||||
|  | ||||
| int main( int argc, char **argv ) | ||||
| { | ||||
|    glutInit( &argc, argv ); | ||||
|    glutInitDisplayMode( GLUT_DOUBLE | GLUT_RGB ); | ||||
|    glutInitWindowSize( 600, 300 ); | ||||
|    glutInitWindowPosition( 0, 0 ); | ||||
|    glutCreateWindow( "Anisotropic Texture Filter Demo" ); | ||||
|  | ||||
|    init(); | ||||
|  | ||||
|    glutDisplayFunc( display ); | ||||
|    glutReshapeFunc( reshape ); | ||||
|    glutKeyboardFunc( key ); | ||||
|  | ||||
|    usage(); | ||||
|  | ||||
|    glutMainLoop(); | ||||
|  | ||||
|    return 0; | ||||
| } | ||||
| @@ -1,36 +1,10 @@ | ||||
| /* $Id: clearspd.c,v 1.3 2000/12/07 21:50:39 brianp Exp $ */ | ||||
| /* $Id: clearspd.c,v 1.4 2002/04/22 16:03:37 brianp 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.3  2000/12/07 21:50:39  brianp | ||||
|  * call glFinish() before getting t1 time | ||||
|  * | ||||
|  * 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> | ||||
|   | ||||
| @@ -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 ); | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| /* $Id: drawpix.c,v 1.5 2000/12/24 22:53:54 pesco Exp $ */ | ||||
| /* $Id: drawpix.c,v 1.8 2002/07/12 15:54:02 brianp Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * glDrawPixels demo/test/benchmark | ||||
| @@ -6,61 +6,6 @@ | ||||
|  * Brian Paul   September 25, 1997  This file is in the public domain. | ||||
|  */ | ||||
|  | ||||
| /* | ||||
|  * $Log: drawpix.c,v $ | ||||
|  * Revision 1.5  2000/12/24 22:53:54  pesco | ||||
|  * * demos/Makefile.am (INCLUDES): Added -I$(top_srcdir)/util. | ||||
|  * * demos/Makefile.X11, demos/Makefile.BeOS-R4, demos/Makefile.cygnus: | ||||
|  * Essentially the same. | ||||
|  * Program files updated to include "readtex.c", not "../util/readtex.c". | ||||
|  * * demos/reflect.c: Likewise for "showbuffer.c". | ||||
|  * | ||||
|  * | ||||
|  * * Makefile.am (EXTRA_DIST): Added top-level regular files. | ||||
|  * | ||||
|  * * include/GL/Makefile.am (INC_X11): Added glxext.h. | ||||
|  * | ||||
|  * | ||||
|  * * src/GGI/include/ggi/mesa/Makefile.am (EXTRA_HEADERS): Include | ||||
|  * Mesa GGI headers in dist even if HAVE_GGI is not given. | ||||
|  * | ||||
|  * * configure.in: Look for GLUT and demo source dirs in $srcdir. | ||||
|  * | ||||
|  * * src/swrast/Makefile.am (libMesaSwrast_la_SOURCES): Set to *.[ch]. | ||||
|  * More source list updates in various Makefile.am's. | ||||
|  * | ||||
|  * * Makefile.am (dist-hook): Remove CVS directory from distribution. | ||||
|  * (DIST_SUBDIRS): List all possible subdirs here. | ||||
|  * (SUBDIRS): Only list subdirs selected for build again. | ||||
|  * The above two applied to all subdir Makefile.am's also. | ||||
|  * | ||||
|  * Revision 1.4  2000/09/08 21:45:21  brianp | ||||
|  * added dither key option | ||||
|  * | ||||
|  * 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> | ||||
| @@ -78,6 +23,8 @@ 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; | ||||
| @@ -90,6 +37,8 @@ static void Reset( void ) | ||||
|    DrawHeight = ImgHeight; | ||||
|    SkipPixels = SkipRows = 0; | ||||
|    Scissor = 0; | ||||
|    Fog = 0; | ||||
|    Zpos = -1.0; | ||||
|    Xzoom = Yzoom = 1.0; | ||||
| } | ||||
|  | ||||
| @@ -102,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 | ||||
|  | ||||
| @@ -114,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(); | ||||
| @@ -136,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); | ||||
| @@ -153,6 +108,7 @@ static void Benchmark( void ) | ||||
|  | ||||
|    /* GL clean-up */ | ||||
|    glDisable(GL_SCISSOR_TEST); | ||||
|    glDisable(GL_FOG); | ||||
|  | ||||
|    /* Results */ | ||||
|    seconds = (double) (endTime - startTime) / 1000.0; | ||||
| @@ -167,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(); | ||||
|  | ||||
| @@ -233,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) | ||||
| @@ -276,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)); | ||||
|  | ||||
| @@ -287,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]; | ||||
| @@ -308,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(); | ||||
| } | ||||
|  | ||||
| @@ -331,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"); | ||||
|   | ||||
| @@ -660,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); | ||||
|       } | ||||
|    } | ||||
| @@ -752,7 +752,7 @@ main(int ac, char **av) | ||||
|    glFogfv(GL_FOG_COLOR, fogcolor); | ||||
|    glFogf(GL_FOG_DENSITY, 0.1); | ||||
|  | ||||
|    p = malloc(sizeof(part) * np); | ||||
|    p = (part *) malloc(sizeof(part) * np); | ||||
|  | ||||
|    for (i = 0; i < np; i++) | ||||
|       setnewpart(&p[i]); | ||||
|   | ||||
| @@ -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: geartrain.c,v 1.7 2000/11/30 01:44:24 gareth 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 | ||||
| @@ -103,6 +105,7 @@ static GLint T0 = 0; | ||||
| static GLint Frames = 0; | ||||
|  | ||||
|  | ||||
| #ifndef _WIN32 | ||||
| static void | ||||
| strset (char buf[], char ch) | ||||
| { | ||||
| @@ -110,6 +113,7 @@ strset (char buf[], char ch) | ||||
|     for (i = 0; i < strlen (buf); i++) | ||||
|       buf[i] = ch; | ||||
| } | ||||
| #endif | ||||
|  | ||||
|  | ||||
| static void | ||||
|   | ||||
| @@ -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: 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,7 +11,7 @@ | ||||
| #include <math.h> | ||||
| #include <time.h> | ||||
|  | ||||
| #ifdef WIN32 | ||||
| #if defined (WIN32)|| defined(_WIN32) | ||||
| #include <windows.h> | ||||
| #include <mmsystem.h> | ||||
| #endif | ||||
| @@ -186,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); | ||||
|    } | ||||
|  | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| /* $Id: isosurf.c,v 1.12 2001/06/04 15:34:31 keithw Exp $ */ | ||||
| /* $Id: isosurf.c,v 1.15 2002/10/18 17:47:35 kschultz Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * Display an isosurface of 3-D wind speed volume. | ||||
| @@ -30,40 +30,46 @@ | ||||
| #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 "readtex.c"   /* I know, this is a hack.  KW: me too. */ | ||||
| #define TEXTURE_FILE "../images/reflect.rgb" | ||||
|  | ||||
| #define LIT		0x1 | ||||
| #define UNLIT		0x2 | ||||
| #define REFLECT		0x10 | ||||
| #define POINT_FILTER	0x40 | ||||
| #define LINEAR_FILTER	0x80 | ||||
| #define GLVERTEX	0x100 | ||||
| #define DRAW_ELTS	0x4  | ||||
| #define DRAW_ARRAYS	0x200  | ||||
| #define ARRAY_ELT	0x400 | ||||
| #define LOCKED	        0x800 | ||||
| #define UNLOCKED	0x8  | ||||
| #define IMMEDIATE	0x1000 | ||||
| #define DISPLAYLIST	0x2000000 | ||||
| #define SHADE_SMOOTH	0x2000 | ||||
| #define SHADE_FLAT	0x4000 | ||||
| #define TRIANGLES	0x8000 | ||||
| #define STRIPS		0x10000 | ||||
| #define POINTS		0x20000 | ||||
| #define USER_CLIP	0x40000 | ||||
| #define NO_USER_CLIP	0x80000 | ||||
| #define MATERIALS	0x100000 | ||||
| #define NO_MATERIALS	0x200000 | ||||
| #define FOG		0x400000 | ||||
| #define NO_FOG		0x800000 | ||||
| #define QUIT		0x1000000 | ||||
| #define GLINFO		0x4000000 | ||||
| #define STIPPLE		0x8000000 | ||||
| #define NO_STIPPLE	0x20 | ||||
| #define LIT		0x00000001 | ||||
| #define UNLIT		0x00000002 | ||||
| #define REFLECT		0x00000004 | ||||
| #define POINT_FILTER	0x00000008 | ||||
| #define LINEAR_FILTER	0x00000010 | ||||
| #define GLVERTEX	0x00000020 | ||||
| #define DRAW_ELTS	0x00000040  | ||||
| #define DRAW_ARRAYS	0x00000080  | ||||
| #define ARRAY_ELT	0x00000100 | ||||
| #define LOCKED	        0x00000200 | ||||
| #define UNLOCKED	0x00000400  | ||||
| #define IMMEDIATE	0x00000800 | ||||
| #define DISPLAYLIST	0x00001000 | ||||
| #define SHADE_SMOOTH	0x00002000 | ||||
| #define SHADE_FLAT	0x00004000 | ||||
| #define TRIANGLES	0x00008000 | ||||
| #define STRIPS		0x00010000 | ||||
| #define POINTS		0x00020000 | ||||
| #define USER_CLIP	0x00040000 | ||||
| #define NO_USER_CLIP	0x00080000 | ||||
| #define MATERIALS	0x00100000 | ||||
| #define NO_MATERIALS	0x00200000 | ||||
| #define FOG		0x00400000 | ||||
| #define NO_FOG		0x00800000 | ||||
| #define QUIT		0x01000000 | ||||
| #define GLINFO		0x02000000 | ||||
| #define STIPPLE		0x04000000 | ||||
| #define NO_STIPPLE	0x08000000 | ||||
| #define POLYGON_FILL	0x10000000 | ||||
| #define POLYGON_LINE	0x20000000 | ||||
|  | ||||
| #define LIGHT_MASK		(LIT|UNLIT|REFLECT) | ||||
| #define FILTER_MASK		(POINT_FILTER|LINEAR_FILTER) | ||||
| @@ -76,9 +82,10 @@ | ||||
| #define SHADE_MASK		(SHADE_SMOOTH|SHADE_FLAT) | ||||
| #define FOG_MASK		(FOG|NO_FOG) | ||||
| #define STIPPLE_MASK		(STIPPLE|NO_STIPPLE) | ||||
| #define POLYGON_MASK		(POLYGON_FILL|POLYGON_LINE) | ||||
|  | ||||
| #define MAXVERTS 10000 | ||||
| static GLuint maxverts = MAXVERTS; | ||||
| static GLint maxverts = MAXVERTS; | ||||
| static float data[MAXVERTS][6]; | ||||
| static float compressed_data[MAXVERTS][6]; | ||||
| static float expanded_data[MAXVERTS*3][6]; | ||||
| @@ -141,7 +148,7 @@ static void read_surface( char *filename ) | ||||
| static void print_flags( const char *msg, GLuint flags )  | ||||
| { | ||||
|    fprintf(stderr,  | ||||
| 	   "%s (0x%x): %s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s\n", | ||||
| 	   "%s (0x%x): %s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s\n", | ||||
| 	   msg, flags, | ||||
| 	   (flags & GLVERTEX) ? "glVertex, " : "", | ||||
| 	   (flags & DRAW_ARRAYS) ? "glDrawArrays, " : "", | ||||
| @@ -159,7 +166,8 @@ static void print_flags( const char *msg, GLuint flags ) | ||||
| 	   (flags & USER_CLIP) ? "user_clip, " : "", | ||||
| 	   (flags & MATERIALS) ? "materials, " : "", | ||||
| 	   (flags & FOG) ? "fog, " : "", | ||||
| 	   (flags & STIPPLE) ? "stipple, " : ""); | ||||
| 	   (flags & STIPPLE) ? "stipple, " : "", | ||||
| 	   (flags & POLYGON_LINE) ? "polygon mode line, " : ""); | ||||
| } | ||||
|  | ||||
|  | ||||
| @@ -330,7 +338,7 @@ 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) { | ||||
| @@ -360,9 +368,9 @@ static void make_tri_indices( void ) | ||||
|  | ||||
| #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; | ||||
|     | ||||
|    if (with_state & DISPLAYLIST) { | ||||
|       if ((with_state & (RENDER_STYLE_MASK|PRIMITIVE_MASK|MATERIAL_MASK)) !=  | ||||
| @@ -681,28 +689,34 @@ static void ModeMenu(int m) | ||||
|  | ||||
|    if (CHANGED(state, m, FOG_MASK)) { | ||||
|       UPDATE(state, m, FOG_MASK); | ||||
|       if (m & FOG) | ||||
|       { | ||||
|       if (m & FOG) { | ||||
| 	 glEnable(GL_FOG); | ||||
|       } | ||||
|       else | ||||
|       { | ||||
|       else { | ||||
| 	 glDisable(GL_FOG); | ||||
|       } | ||||
|    } | ||||
|  | ||||
|    if (CHANGED(state, m, STIPPLE_MASK)) { | ||||
|       UPDATE(state, m, STIPPLE_MASK); | ||||
|       if (m & STIPPLE) | ||||
|       { | ||||
|       if (m & STIPPLE) { | ||||
| 	 glEnable(GL_POLYGON_STIPPLE); | ||||
|       } | ||||
|       else | ||||
|       { | ||||
|       else { | ||||
| 	 glDisable(GL_POLYGON_STIPPLE); | ||||
|       } | ||||
|    } | ||||
|  | ||||
|    if (CHANGED(state, m, POLYGON_MASK)) { | ||||
|       UPDATE(state, m, POLYGON_MASK); | ||||
|       if (m & POLYGON_FILL) { | ||||
| 	 glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); | ||||
|       } | ||||
|       else { | ||||
| 	 glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); | ||||
|       } | ||||
|    } | ||||
|  | ||||
| #ifdef GL_EXT_vertex_array | ||||
|    if (CHANGED(state, m, (LOCK_MASK|RENDER_STYLE_MASK|PRIMITIVE_MASK))) | ||||
|    { | ||||
| @@ -1074,6 +1088,9 @@ int main(int argc, char **argv) | ||||
|    glutAddMenuEntry("Stipple",               STIPPLE); | ||||
|    glutAddMenuEntry("No Stipple",            NO_STIPPLE); | ||||
|    glutAddMenuEntry("", 0); | ||||
|    glutAddMenuEntry("Polygon Mode Fill",     POLYGON_FILL); | ||||
|    glutAddMenuEntry("Polygon Mode Line",     POLYGON_LINE); | ||||
|    glutAddMenuEntry("", 0); | ||||
|    glutAddMenuEntry("Point Filtered",        POINT_FILTER); | ||||
|    glutAddMenuEntry("Linear Filtered",       LINEAR_FILTER); | ||||
|    glutAddMenuEntry("", 0); | ||||
|   | ||||
| @@ -40,7 +40,7 @@ | ||||
| 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.10 2001/06/20 19:12:30 brianp Exp $ */ | ||||
| /* $Id: multiarb.c,v 1.11 2002/02/13 02:23:33 brianp Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * GL_ARB_multitexture demo | ||||
| @@ -8,72 +8,7 @@ | ||||
|  * | ||||
|  * | ||||
|  * Brian Paul  November 1998  This program is in the public domain. | ||||
|  */ | ||||
|  | ||||
| /* | ||||
|  * $Log: multiarb.c,v $ | ||||
|  * Revision 1.10  2001/06/20 19:12:30  brianp | ||||
|  * also print GL_MAX_TEXTURE_SIZE | ||||
|  * | ||||
|  * Revision 1.9  2001/06/13 14:33:16  brianp | ||||
|  * moved glTexEnvi calls to better logical locations | ||||
|  * | ||||
|  * Revision 1.8  2000/12/24 22:53:54  pesco | ||||
|  * * demos/Makefile.am (INCLUDES): Added -I$(top_srcdir)/util. | ||||
|  * * demos/Makefile.X11, demos/Makefile.BeOS-R4, demos/Makefile.cygnus: | ||||
|  * Essentially the same. | ||||
|  * Program files updated to include "readtex.c", not "../util/readtex.c". | ||||
|  * * demos/reflect.c: Likewise for "showbuffer.c". | ||||
|  * | ||||
|  * | ||||
|  * * Makefile.am (EXTRA_DIST): Added top-level regular files. | ||||
|  * | ||||
|  * * include/GL/Makefile.am (INC_X11): Added glxext.h. | ||||
|  * | ||||
|  * | ||||
|  * * src/GGI/include/ggi/mesa/Makefile.am (EXTRA_HEADERS): Include | ||||
|  * Mesa GGI headers in dist even if HAVE_GGI is not given. | ||||
|  * | ||||
|  * * configure.in: Look for GLUT and demo source dirs in $srcdir. | ||||
|  * | ||||
|  * * src/swrast/Makefile.am (libMesaSwrast_la_SOURCES): Set to *.[ch]. | ||||
|  * More source list updates in various Makefile.am's. | ||||
|  * | ||||
|  * * Makefile.am (dist-hook): Remove CVS directory from distribution. | ||||
|  * (DIST_SUBDIRS): List all possible subdirs here. | ||||
|  * (SUBDIRS): Only list subdirs selected for build again. | ||||
|  * The above two applied to all subdir Makefile.am's also. | ||||
|  * | ||||
|  * Revision 1.7  2000/11/01 16:02:01  brianp | ||||
|  * print number of texture units | ||||
|  * | ||||
|  * 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. | ||||
|  */ | ||||
|  | ||||
|  | ||||
| @@ -89,12 +24,13 @@ | ||||
| #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; | ||||
| @@ -104,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(); | ||||
| @@ -131,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(); | ||||
| } | ||||
| @@ -199,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; | ||||
| @@ -217,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(); | ||||
| } | ||||
|  | ||||
| @@ -280,8 +198,8 @@ static void SpecialKey( int key, int x, int y ) | ||||
|  | ||||
| static void Init( int argc, char *argv[] ) | ||||
| { | ||||
|    GLuint texObj[2]; | ||||
|    GLint units, size; | ||||
|    GLuint texObj[8]; | ||||
|    GLint size, i; | ||||
|  | ||||
|    const char *exten = (const char *) glGetString(GL_EXTENSIONS); | ||||
|    if (!strstr(exten, "GL_ARB_multitexture")) { | ||||
| @@ -289,64 +207,82 @@ static void Init( int argc, char *argv[] ) | ||||
|       exit(1); | ||||
|    } | ||||
|  | ||||
|    glGetIntegerv(GL_MAX_TEXTURE_UNITS_ARB, &units); | ||||
|    printf("%d texture units supported\n", units); | ||||
|    glGetIntegerv(GL_MAX_TEXTURE_UNITS_ARB, &NumUnits); | ||||
|    printf("%d texture units supported\n", NumUnits); | ||||
|    if (NumUnits > 8) | ||||
|       NumUnits = 8; | ||||
|  | ||||
|    glGetIntegerv(GL_MAX_TEXTURE_SIZE, &size); | ||||
|    printf("%d x %d max texture size\n", size, size); | ||||
|  | ||||
|    glPixelStorei(GL_UNPACK_ALIGNMENT, 1); | ||||
|  | ||||
|    for (i = 0; i < NumUnits; i++) { | ||||
|       if (i < 2) | ||||
|          TexEnabled[i] = GL_TRUE; | ||||
|       else | ||||
|          TexEnabled[i] = GL_FALSE; | ||||
|    } | ||||
|  | ||||
|    /* allocate two texture objects */ | ||||
|    glGenTextures(2, texObj); | ||||
|    glGenTextures(NumUnits, texObj); | ||||
|  | ||||
|    /* 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 | ||||
|    if (!LoadRGBMipmaps(TEXTURE_1_FILE, GL_RGB)) { | ||||
|       printf("Error: couldn't load texture image\n"); | ||||
|       exit(1); | ||||
|    /* setup the texture objects */ | ||||
|    for (i = 0; i < NumUnits; i++) { | ||||
|  | ||||
|       glActiveTextureARB(GL_TEXTURE0_ARB + i); | ||||
|       glBindTexture(GL_TEXTURE_2D, texObj[i]); | ||||
|  | ||||
|       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); | ||||
|    } | ||||
|  | ||||
|  | ||||
|    /* 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 | ||||
|    if (!LoadRGBMipmaps(TEXTURE_2_FILE, GL_RGB)) { | ||||
|       printf("Error: couldn't load texture image\n"); | ||||
|       exit(1); | ||||
|    } | ||||
|  | ||||
|  | ||||
|    /* now bind the texture objects to the respective texture units */ | ||||
| #ifdef GL_ARB_multitexture | ||||
|    glActiveTextureARB(GL_TEXTURE0_ARB); | ||||
|    glBindTexture(GL_TEXTURE_2D, texObj[0]); | ||||
|    glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); | ||||
|    glActiveTextureARB(GL_TEXTURE1_ARB); | ||||
|    glBindTexture(GL_TEXTURE_2D, texObj[1]); | ||||
|    glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); | ||||
| #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)); | ||||
| @@ -358,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 ); | ||||
| @@ -373,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.5 2000/09/08 16:42:06 brianp 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,49 +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 */ | ||||
| #if OSMESA_MAJOR_VERSION * 100 + OSMESA_MINOR_VERSION >= 305 | ||||
|    /* specify Z, stencil, accum sizes */ | ||||
|    OSMesaContext ctx = OSMesaCreateContextExt( GL_RGBA, 16, 0, 0, NULL ); | ||||
|    OSMesaContext ctx = OSMesaCreateContextExt( OSMESA_RGBA, 16, 0, 0, NULL ); | ||||
| #else | ||||
|    OSMesaContext ctx = OSMesaCreateContext( GL_RGBA, NULL ); | ||||
|    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 */ | ||||
|    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("%d %d %d\n", z, s, 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.6 2000/10/05 07:17:43 joukj Exp $ */ | ||||
| /* $Id: paltex.c,v 1.9 2002/07/22 13:45:31 brianp Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * Paletted texture demo.  Written by Brian Paul. | ||||
| @@ -9,6 +9,9 @@ | ||||
| #include <stdlib.h> | ||||
| #include <math.h> | ||||
| #include <string.h> | ||||
| #ifdef _WIN32 | ||||
| #include <windows.h> | ||||
| #endif | ||||
| #define GL_GLEXT_LEGACY | ||||
| #include <GL/glut.h> | ||||
|  | ||||
| @@ -91,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]; | ||||
|  | ||||
| @@ -158,7 +162,7 @@ static void Init( void ) | ||||
|                 0,                   /* border */ | ||||
|                 GL_COLOR_INDEX,      /* texture format */ | ||||
|                 GL_UNSIGNED_BYTE,    /* texture type */ | ||||
|                 texture);            /* teh texture */ | ||||
|                 texture);            /* the texture */ | ||||
| #endif | ||||
|  | ||||
|    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| /* $Id: readpix.c,v 1.4 2000/10/16 21:24:39 brianp Exp $ */ | ||||
| /* $Id: readpix.c,v 1.8 2002/07/12 15:54:02 brianp Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * glReadPixels and glCopyPixels test | ||||
| @@ -6,23 +6,6 @@ | ||||
|  * Brian Paul   March 1, 2000  This file is in the public domain. | ||||
|  */ | ||||
|  | ||||
| /* | ||||
|  * $Log: readpix.c,v $ | ||||
|  * Revision 1.4  2000/10/16 21:24:39  brianp | ||||
|  * use gray background, memset TempImage to white to help with debugging | ||||
|  * | ||||
|  * 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> | ||||
| @@ -173,6 +156,8 @@ Display( void ) | ||||
|  | ||||
|    if (!DrawFront) | ||||
|       glutSwapBuffers(); | ||||
|    else | ||||
|       glFinish(); | ||||
| } | ||||
|  | ||||
|  | ||||
| @@ -234,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,12 +1,14 @@ | ||||
| /* $Id: shadowtex.c,v 1.4 2001/02/28 18:41:50 brianp Exp $ */ | ||||
| /* $Id: shadowtex.c,v 1.7 2002/07/12 15:54:02 brianp Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * Shadow demo using the GL_SGIX_depth_texture, GL_SGIX_shadow and | ||||
|  * GL_SGIX_shadow_ambient extensions. | ||||
|  * Shadow demo using the GL_ARB_depth_texture, GL_ARB_shadow and | ||||
|  * GL_ARB_shadow_ambient extensions (or the old SGIX extensions). | ||||
|  * | ||||
|  * Brian Paul | ||||
|  * 19 Feb 2001 | ||||
|  * | ||||
|  * Added GL_EXT_shadow_funcs support on 23 March 2002 | ||||
|  * | ||||
|  * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved. | ||||
|  * | ||||
|  * Permission is hereby granted, free of charge, to any person obtaining a | ||||
| @@ -35,6 +37,12 @@ | ||||
| #include <GL/glut.h> | ||||
| #include "../util/showbuffer.c" | ||||
|  | ||||
| #if 0 /* change to 1 if you want to use the old SGIX extensions */ | ||||
| #undef GL_ARB_depth_texture | ||||
| #undef GL_ARB_shadow | ||||
| #undef GL_ARB_shadow_ambient | ||||
| #endif | ||||
|  | ||||
|  | ||||
| #define DEG_TO_RAD (3.14159 / 180.0) | ||||
|  | ||||
| @@ -61,6 +69,16 @@ static GLfloat Bias = -0.06; | ||||
|  | ||||
| static GLboolean Anim = GL_TRUE; | ||||
|  | ||||
| static GLboolean HaveEXTshadowFuncs = GL_FALSE; | ||||
| static GLint Operator = 0; | ||||
| static const GLenum OperatorFunc[8] = { | ||||
|    GL_LEQUAL, GL_LESS, GL_GEQUAL, GL_GREATER, | ||||
|    GL_EQUAL, GL_NOTEQUAL, GL_ALWAYS, GL_NEVER }; | ||||
| static const char *OperatorName[8] = { | ||||
|    "GL_LEQUAL", "GL_LESS", "GL_GEQUAL", "GL_GREATER", | ||||
|    "GL_EQUAL", "GL_NOTEQUAL", "GL_ALWAYS", "GL_NEVER" }; | ||||
|  | ||||
|  | ||||
| static GLuint DisplayMode; | ||||
| #define SHOW_NORMAL         0 | ||||
| #define SHOW_DEPTH_IMAGE    1 | ||||
| @@ -231,6 +249,7 @@ Display(void) | ||||
| { | ||||
|    GLfloat ar = (GLfloat) WindowWidth / (GLfloat) WindowHeight; | ||||
|    GLfloat d; | ||||
|    GLenum error; | ||||
|  | ||||
|    ComputeLightPos(LightDist, LightLatitude, LightLongitude, | ||||
|                    LightPos, SpotDir); | ||||
| @@ -257,8 +276,8 @@ Display(void) | ||||
|     */ | ||||
|    if (DisplayMode == SHOW_DEPTH_MAPPING) { | ||||
|       /* load depth image as gray-scale luminance texture */ | ||||
|       GLfloat *depth = malloc(ShadowTexWidth * ShadowTexHeight | ||||
|                               * sizeof(GLfloat)); | ||||
|       GLfloat *depth = (GLfloat *) malloc(ShadowTexWidth * ShadowTexHeight | ||||
|                                           * sizeof(GLfloat)); | ||||
|       if (depth) { | ||||
|          glReadPixels(0, 0, ShadowTexWidth, ShadowTexHeight, | ||||
|                       GL_DEPTH_COMPONENT, GL_FLOAT, depth); | ||||
| @@ -302,7 +321,11 @@ Display(void) | ||||
|          glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); | ||||
|       } | ||||
|       if (DisplayMode == SHOW_DEPTH_MAPPING) { | ||||
| #if defined(GL_ARB_shadow) | ||||
|          glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_MODE_ARB, GL_NONE); | ||||
| #elif defined(GL_SGIX_shadow) | ||||
|          glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_SGIX, GL_FALSE); | ||||
| #endif | ||||
|          glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); | ||||
|          glEnable(GL_TEXTURE_2D); | ||||
|          MakeShadowMatrix(LightPos, SpotDir, SpotAngle, ShadowNear, ShadowFar); | ||||
| @@ -318,7 +341,12 @@ Display(void) | ||||
|       } | ||||
|       else { | ||||
|          assert(DisplayMode == SHOW_NORMAL); | ||||
| #if defined(GL_ARB_shadow) | ||||
|          glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_MODE_ARB, | ||||
|                          GL_COMPARE_R_TO_TEXTURE_ARB); | ||||
| #elif defined(GL_SGIX_shadow) | ||||
|          glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_SGIX, GL_TRUE); | ||||
| #endif | ||||
|          glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); | ||||
|          glEnable(GL_TEXTURE_2D); | ||||
|          MakeShadowMatrix(LightPos, SpotDir, SpotAngle, ShadowNear, ShadowFar); | ||||
| @@ -331,6 +359,11 @@ Display(void) | ||||
|    } | ||||
|  | ||||
|    glutSwapBuffers(); | ||||
|  | ||||
|    error = glGetError(); | ||||
|    if (error) { | ||||
|       printf("GL Error: %s\n", gluErrorString(error)); | ||||
|    } | ||||
| } | ||||
|  | ||||
|  | ||||
| @@ -400,6 +433,16 @@ Key(unsigned char key, int x, int y) | ||||
|       case ' ': | ||||
|          DisplayMode = SHOW_NORMAL; | ||||
|          break; | ||||
|       case 'o': | ||||
|          if (HaveEXTshadowFuncs) { | ||||
|             Operator++; | ||||
|             if (Operator >= 8) | ||||
|                Operator = 0; | ||||
|             printf("Operator: %s\n", OperatorName[Operator]); | ||||
|             glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_FUNC_ARB, | ||||
|                             OperatorFunc[Operator]); | ||||
|          } | ||||
|          break; | ||||
|       case 'z': | ||||
|          Zrot -= step; | ||||
|          break; | ||||
| @@ -454,11 +497,22 @@ SpecialKey(int key, int x, int y) | ||||
| static void | ||||
| Init(void) | ||||
| { | ||||
| #if defined(GL_ARB_depth_texture) && defined(GL_ARB_shadow) | ||||
|    if (!glutExtensionSupported("GL_ARB_depth_texture") || | ||||
|        !glutExtensionSupported("GL_ARB_shadow")) { | ||||
|       printf("Sorry, this demo requires the GL_ARB_depth_texture and GL_ARB_shadow extensions\n"); | ||||
|       exit(1); | ||||
|    } | ||||
|    printf("Using GL_ARB_depth_texture and GL_ARB_shadow\n"); | ||||
| #elif defined(GL_SGIX_depth_texture) && defined(GL_SGIX_shadow) | ||||
|    if (!glutExtensionSupported("GL_SGIX_depth_texture") || | ||||
|        !glutExtensionSupported("GL_SGIX_shadow")) { | ||||
|       printf("Sorry, this demo requires the GL_SGIX_depth_texture and GL_SGIX_shadow extensions\n"); | ||||
|       exit(1); | ||||
|    } | ||||
|    printf("Using GL_SGIX_depth_texture and GL_SGIX_shadow\n"); | ||||
| #endif | ||||
|    HaveEXTshadowFuncs = glutExtensionSupported("GL_EXT_shadow_funcs"); | ||||
|  | ||||
|    glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_WRAP_S, GL_CLAMP); | ||||
|    glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); | ||||
| @@ -466,13 +520,25 @@ Init(void) | ||||
|    glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_WRAP_T, GL_CLAMP); | ||||
|    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP); | ||||
|    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP); | ||||
| #ifdef GL_SGIX_shadow | ||||
| #if defined(GL_ARB_shadow) | ||||
|    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_MODE_ARB, | ||||
|                    GL_COMPARE_R_TO_TEXTURE_ARB); | ||||
|    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_FUNC_ARB, GL_LEQUAL); | ||||
| #elif defined(GL_SGIX_shadow) | ||||
|    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_OPERATOR_SGIX, | ||||
|                    GL_TEXTURE_LEQUAL_R_SGIX); | ||||
| #endif | ||||
| #ifdef GL_SGIX_shadow_ambient | ||||
|    if (glutExtensionSupported("GL_SGIX_shadow_ambient")) | ||||
|  | ||||
| #if defined(GL_ARB_shadow_ambient) | ||||
|    if (glutExtensionSupported("GL_ARB_shadow_ambient")) { | ||||
|       glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_FAIL_VALUE_ARB, 0.3); | ||||
|       printf("and GL_ARB_shadow_ambient\n"); | ||||
|    } | ||||
| #elif defined(GL_SGIX_shadow_ambient) | ||||
|    if (glutExtensionSupported("GL_SGIX_shadow_ambient")) { | ||||
|       glTexParameterf(GL_TEXTURE_2D, GL_SHADOW_AMBIENT_SGIX, 0.3); | ||||
|       printf("and GL_SGIX_shadow_ambient\n"); | ||||
|    } | ||||
| #endif | ||||
|  | ||||
|    /* setup 1-D grayscale texture image for SHOW_DISTANCE mode */ | ||||
| @@ -504,6 +570,8 @@ PrintHelp(void) | ||||
|    printf("  b/B = decrease/increase shadow map Z bias\n"); | ||||
|    printf("  cursor keys = rotate scene\n"); | ||||
|    printf("  <shift> + cursor keys = rotate light source\n"); | ||||
|    if (HaveEXTshadowFuncs) | ||||
|       printf("  o = cycle through comparison modes\n"); | ||||
| } | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| /* $Id: spectex.c,v 1.1 1999/08/19 00:55:40 jtg Exp $ */ | ||||
| /* $Id: spectex.c,v 1.2 2002/04/22 16:03:37 brianp Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * GLUT demonstration of texturing with specular highlights. | ||||
| @@ -17,24 +17,6 @@ | ||||
|  * Brian Paul  February 1997 | ||||
|  */ | ||||
|  | ||||
|  | ||||
| /* | ||||
|  * $Log: spectex.c,v $ | ||||
|  * Revision 1.1  1999/08/19 00:55:40  jtg | ||||
|  * Initial revision | ||||
|  * | ||||
|  * Revision 3.2  1999/03/28 18:22:05  brianp | ||||
|  * minor clean-up | ||||
|  * | ||||
|  * Revision 3.1  1998/02/14 18:47:48  brianp | ||||
|  * added OpenGL 1.2 separate specular interpolation support | ||||
|  * | ||||
|  * Revision 3.0  1998/02/14 18:42:29  brianp | ||||
|  * initial rev | ||||
|  * | ||||
|  */ | ||||
|  | ||||
|  | ||||
| #include <stdio.h> | ||||
| #include <stdlib.h> | ||||
| #include <math.h> | ||||
|   | ||||
							
								
								
									
										1058
									
								
								progs/demos/stex3d.c
									
									
									
									
									
								
							
							
						
						
									
										1058
									
								
								progs/demos/stex3d.c
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -11,6 +11,7 @@ | ||||
| #include <stdio.h> | ||||
| #include <math.h> | ||||
| #include <stdlib.h> | ||||
| #include <string.h> | ||||
| #include <time.h> | ||||
|  | ||||
| #ifdef WIN32 | ||||
| @@ -571,7 +572,7 @@ loadpic(void) | ||||
|    if ((gluerr = gluBuild2DMipmaps(GL_TEXTURE_2D, 1, 256, 256, GL_LUMINANCE, | ||||
| 				   GL_UNSIGNED_BYTE, | ||||
| 				   (GLvoid *) (&terrainpic[0])))) { | ||||
|       fprintf(stderr, "GLULib%s\n", gluErrorString(gluerr)); | ||||
|       fprintf(stderr, "GLULib%s\n", (char *) gluErrorString(gluerr)); | ||||
|       exit(-1); | ||||
|    } | ||||
|  | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| /* $Id: tessdemo.c,v 1.11 2001/03/21 02:47:32 gareth Exp $ */ | ||||
| /* $Id: tessdemo.c,v 1.13 2002/10/18 17:47:36 kschultz Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * A demo of the GLU polygon tesselation functions written by Bogdan Sikorski. | ||||
| @@ -90,7 +90,7 @@ static void GLCALLBACK edge_callback( GLenum flag ) | ||||
|  | ||||
| static void GLCALLBACK end_callback() | ||||
| { | ||||
|    GLint	i; | ||||
|    GLuint	i; | ||||
|  | ||||
|    glBegin( GL_LINES ); | ||||
|  | ||||
| @@ -165,6 +165,8 @@ static void set_screen_wh( GLsizei w, GLsizei h ) | ||||
|    height = h; | ||||
| } | ||||
|  | ||||
| typedef void (GLAPIENTRY *callback_t)(); | ||||
|  | ||||
| static void tesse( void ) | ||||
| { | ||||
|    GLUtesselator	*tobj; | ||||
| @@ -177,11 +179,11 @@ static void tesse( void ) | ||||
|  | ||||
|    if ( tobj != NULL ) { | ||||
|       gluTessNormal( tobj, 0.0, 0.0, 1.0 ); | ||||
|       gluTessCallback( tobj, GLU_TESS_BEGIN, glBegin ); | ||||
|       gluTessCallback( tobj, GLU_TESS_VERTEX, glVertex2fv ); | ||||
|       gluTessCallback( tobj, GLU_TESS_END, glEnd ); | ||||
|       gluTessCallback( tobj, GLU_TESS_ERROR, error_callback ); | ||||
|       gluTessCallback( tobj, GLU_TESS_COMBINE, combine_callback ); | ||||
|       gluTessCallback( tobj, GLU_TESS_BEGIN, (callback_t) glBegin ); | ||||
|       gluTessCallback( tobj, GLU_TESS_VERTEX, (callback_t) glVertex2fv ); | ||||
|       gluTessCallback( tobj, GLU_TESS_END, (callback_t) glEnd ); | ||||
|       gluTessCallback( tobj, GLU_TESS_ERROR, (callback_t) error_callback ); | ||||
|       gluTessCallback( tobj, GLU_TESS_COMBINE, (callback_t) combine_callback ); | ||||
|  | ||||
|       glNewList( list_start, GL_COMPILE ); | ||||
|       gluBeginPolygon( tobj ); | ||||
| @@ -201,10 +203,10 @@ static void tesse( void ) | ||||
|       gluEndPolygon( tobj ); | ||||
|       glEndList(); | ||||
|  | ||||
|       gluTessCallback( tobj, GLU_TESS_BEGIN, begin_callback ); | ||||
|       gluTessCallback( tobj, GLU_TESS_VERTEX, vertex_callback ); | ||||
|       gluTessCallback( tobj, GLU_TESS_END, end_callback ); | ||||
|       gluTessCallback( tobj, GLU_TESS_EDGE_FLAG, edge_callback ); | ||||
|       gluTessCallback( tobj, GLU_TESS_BEGIN, (callback_t) begin_callback ); | ||||
|       gluTessCallback( tobj, GLU_TESS_VERTEX, (callback_t) vertex_callback ); | ||||
|       gluTessCallback( tobj, GLU_TESS_END, (callback_t) end_callback ); | ||||
|       gluTessCallback( tobj, GLU_TESS_EDGE_FLAG, (callback_t) edge_callback ); | ||||
|  | ||||
|       glNewList( list_start + 1, GL_COMPILE ); | ||||
|       gluBeginPolygon( tobj ); | ||||
| @@ -308,6 +310,7 @@ static void mouse_clicked( int button, int state, int x, int y ) | ||||
| static void display( void ) | ||||
| { | ||||
|    GLuint i,j; | ||||
|    GLsizei ii, jj; | ||||
|    GLuint point_cnt; | ||||
|  | ||||
|    glClear( GL_COLOR_BUFFER_BIT ); | ||||
| @@ -319,12 +322,12 @@ static void display( void ) | ||||
|  | ||||
|       glBegin( GL_LINES ); | ||||
|  | ||||
|       for ( i = 0 ; i < width ; i += 10 ) { | ||||
| 	 for ( j = 0 ; j < height ; j += 10 ) { | ||||
| 	    glVertex2i( 0, j ); | ||||
| 	    glVertex2i( width, j ); | ||||
| 	    glVertex2i( i, height ); | ||||
| 	    glVertex2i( i, 0 ); | ||||
|       for ( ii = 0 ; ii < width ; ii += 10 ) { | ||||
| 	 for ( jj = 0 ; jj < height ; jj += 10 ) { | ||||
| 	    glVertex2i( 0, jj ); | ||||
| 	    glVertex2i( width, jj ); | ||||
| 	    glVertex2i( ii, height ); | ||||
| 	    glVertex2i( ii, 0 ); | ||||
| 	 } | ||||
|       } | ||||
|  | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| /* $Id: texcyl.c,v 1.5 2001/03/27 17:35:26 brianp Exp $ */ | ||||
| /* $Id: texcyl.c,v 1.6 2002/04/22 16:03:37 brianp Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * Textured cylinder demo: lighting, texturing, reflection mapping. | ||||
| @@ -10,61 +10,6 @@ | ||||
|  * Brian Paul  May 1997  This program is in the public domain. | ||||
|  */ | ||||
|  | ||||
| /* | ||||
|  * $Log: texcyl.c,v $ | ||||
|  * Revision 1.5  2001/03/27 17:35:26  brianp | ||||
|  * set initial window pos | ||||
|  * | ||||
|  * Revision 1.4  2000/12/24 22:53:54  pesco | ||||
|  * * demos/Makefile.am (INCLUDES): Added -I$(top_srcdir)/util. | ||||
|  * * demos/Makefile.X11, demos/Makefile.BeOS-R4, demos/Makefile.cygnus: | ||||
|  * Essentially the same. | ||||
|  * Program files updated to include "readtex.c", not "../util/readtex.c". | ||||
|  * * demos/reflect.c: Likewise for "showbuffer.c". | ||||
|  * | ||||
|  * | ||||
|  * * Makefile.am (EXTRA_DIST): Added top-level regular files. | ||||
|  * | ||||
|  * * include/GL/Makefile.am (INC_X11): Added glxext.h. | ||||
|  * | ||||
|  * | ||||
|  * * src/GGI/include/ggi/mesa/Makefile.am (EXTRA_HEADERS): Include | ||||
|  * Mesa GGI headers in dist even if HAVE_GGI is not given. | ||||
|  * | ||||
|  * * configure.in: Look for GLUT and demo source dirs in $srcdir. | ||||
|  * | ||||
|  * * src/swrast/Makefile.am (libMesaSwrast_la_SOURCES): Set to *.[ch]. | ||||
|  * More source list updates in various Makefile.am's. | ||||
|  * | ||||
|  * * Makefile.am (dist-hook): Remove CVS directory from distribution. | ||||
|  * (DIST_SUBDIRS): List all possible subdirs here. | ||||
|  * (SUBDIRS): Only list subdirs selected for build again. | ||||
|  * The above two applied to all subdir Makefile.am's also. | ||||
|  * | ||||
|  * Revision 1.3  2000/09/29 23:09:39  brianp | ||||
|  * added fps output | ||||
|  * | ||||
|  * Revision 1.2  1999/10/21 16:39:06  brianp | ||||
|  * added -info command line option | ||||
|  * | ||||
|  * Revision 1.1.1.1  1999/08/19 00:55:40  jtg | ||||
|  * Imported sources | ||||
|  * | ||||
|  * Revision 3.3  1999/03/28 18:24:37  brianp | ||||
|  * minor clean-up | ||||
|  * | ||||
|  * Revision 3.2  1998/11/05 04:34:04  brianp | ||||
|  * moved image files to ../images/ directory | ||||
|  * | ||||
|  * Revision 3.1  1998/06/23 03:16:51  brianp | ||||
|  * added Point/Linear sampling menu items | ||||
|  * | ||||
|  * Revision 3.0  1998/02/14 18:42:29  brianp | ||||
|  * initial rev | ||||
|  * | ||||
|  */ | ||||
|  | ||||
|  | ||||
| #include <stdio.h> | ||||
| #include <stdlib.h> | ||||
| #include <math.h> | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| /* $Id: texobj.c,v 1.5 2000/07/19 23:57:24 brianp Exp $ */ | ||||
| /* $Id: texobj.c,v 1.6 2002/01/04 21:05:57 brianp Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * Example of using the 1.1 texture object functions. | ||||
| @@ -7,6 +7,7 @@ | ||||
|  * Brian Paul   June 1996   This file is in the public domain. | ||||
|  */ | ||||
|  | ||||
| #include <assert.h> | ||||
| #include <math.h> | ||||
| #include <stdlib.h> | ||||
| #include <string.h> | ||||
| @@ -173,6 +174,7 @@ static void init( void ) | ||||
|    if (UseObj) { | ||||
| #ifdef TEXTURE_OBJECT | ||||
|       glBindTexture( GL_TEXTURE_2D, TexObj[0] ); | ||||
|       assert(glIsTexture(TexObj[0])); | ||||
| #endif | ||||
|    } | ||||
|    else { | ||||
| @@ -206,7 +208,9 @@ static void init( void ) | ||||
|    if (UseObj) { | ||||
| #ifdef TEXTURE_OBJECT | ||||
|       glBindTexture( GL_TEXTURE_2D, TexObj[1] ); | ||||
|       assert(glIsTexture(TexObj[1])); | ||||
| #endif | ||||
|       assert(!glIsTexture(TexObj[1] + 999)); | ||||
|    } | ||||
|    else { | ||||
|       glNewList( TexObj[1], GL_COMPILE ); | ||||
|   | ||||
| @@ -1,37 +1,10 @@ | ||||
| /* $Id: trispd.c,v 1.2 2000/10/26 15:26:14 brianp Exp $ */ | ||||
| /* $Id: trispd.c,v 1.4 2002/07/12 15:54:02 brianp Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * Simple GLUT program to measure triangle strip rendering speed. | ||||
|  * Brian Paul  February 15, 1997  This file is in the public domain. | ||||
|  */ | ||||
|  | ||||
| /* | ||||
|  * $Log: trispd.c,v $ | ||||
|  * Revision 1.2  2000/10/26 15:26:14  brianp | ||||
|  * added a glFinish() call | ||||
|  * | ||||
|  * Revision 1.1.1.1  1999/08/19 00:55:40  jtg | ||||
|  * Imported sources | ||||
|  * | ||||
|  * Revision 3.4  1999/03/28 18:24:37  brianp | ||||
|  * minor clean-up | ||||
|  * | ||||
|  * Revision 3.3  1999/03/18 08:16:52  joukj | ||||
|  * | ||||
|  *     cmpstr needs string.h to included to avoid warnings | ||||
|  * | ||||
|  * Revision 3.2  1998/07/08 03:02:00  brianp | ||||
|  * added Marten Stromberg's texture options | ||||
|  * | ||||
|  * Revision 3.1  1998/06/29 02:36:58  brianp | ||||
|  * removed unneeded includes | ||||
|  * | ||||
|  * Revision 3.0  1998/02/14 18:42:29  brianp | ||||
|  * initial rev | ||||
|  * | ||||
|  */ | ||||
|  | ||||
|  | ||||
| #include <stdio.h> | ||||
| #include <stdlib.h> | ||||
| #include <math.h> | ||||
| @@ -158,7 +131,7 @@ static void LoadTex(int comp, int filter) | ||||
| { | ||||
|    GLubyte *pixels; | ||||
|    int x, y; | ||||
|    pixels = malloc(4*256*256); | ||||
|    pixels = (GLubyte *) malloc(4*256*256); | ||||
|    for (y = 0; y < 256; ++y) | ||||
|       for (x = 0; x < 256; ++x) { | ||||
| 	 pixels[(y*256+x)*4+0] = (int)(128.5 + 127.0 * cos(0.024544 * x)); | ||||
|   | ||||
| @@ -1,64 +1,17 @@ | ||||
| /* $Id: winpos.c,v 1.3 2000/12/24 22:53:54 pesco Exp $ */ | ||||
| /* $Id: winpos.c,v 1.5 2002/04/22 16:03:37 brianp Exp $ */ | ||||
|  | ||||
| /* | ||||
|  * Example of how to use the GL_MESA_window_pos extension. | ||||
|  * Brian Paul   This file is in the public domain. | ||||
|  */ | ||||
|  | ||||
|  | ||||
| /* | ||||
|  * $Log: winpos.c,v $ | ||||
|  * Revision 1.3  2000/12/24 22:53:54  pesco | ||||
|  * * demos/Makefile.am (INCLUDES): Added -I$(top_srcdir)/util. | ||||
|  * * demos/Makefile.X11, demos/Makefile.BeOS-R4, demos/Makefile.cygnus: | ||||
|  * Essentially the same. | ||||
|  * Program files updated to include "readtex.c", not "../util/readtex.c". | ||||
|  * * demos/reflect.c: Likewise for "showbuffer.c". | ||||
|  * | ||||
|  * | ||||
|  * * Makefile.am (EXTRA_DIST): Added top-level regular files. | ||||
|  * | ||||
|  * * include/GL/Makefile.am (INC_X11): Added glxext.h. | ||||
|  * | ||||
|  * | ||||
|  * * src/GGI/include/ggi/mesa/Makefile.am (EXTRA_HEADERS): Include | ||||
|  * Mesa GGI headers in dist even if HAVE_GGI is not given. | ||||
|  * | ||||
|  * * configure.in: Look for GLUT and demo source dirs in $srcdir. | ||||
|  * | ||||
|  * * src/swrast/Makefile.am (libMesaSwrast_la_SOURCES): Set to *.[ch]. | ||||
|  * More source list updates in various Makefile.am's. | ||||
|  * | ||||
|  * * Makefile.am (dist-hook): Remove CVS directory from distribution. | ||||
|  * (DIST_SUBDIRS): List all possible subdirs here. | ||||
|  * (SUBDIRS): Only list subdirs selected for build again. | ||||
|  * The above two applied to all subdir Makefile.am's also. | ||||
|  * | ||||
|  * 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/28 18:24:37  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:36:10  brianp | ||||
|  * changed image file and set unpack alignment to 1 | ||||
|  * | ||||
|  * Revision 3.0  1998/02/14 18:42:29  brianp | ||||
|  * initial rev | ||||
|  * | ||||
|  */ | ||||
|  | ||||
|  | ||||
| #include <math.h> | ||||
| #include <string.h> | ||||
| #include <stdlib.h> | ||||
| #include <stdio.h> | ||||
| #ifdef _WIN32 | ||||
| #include <windows.h> | ||||
| #endif | ||||
| #define GL_GLEXT_LEGACY | ||||
| #include "GL/glut.h" | ||||
|  | ||||
|   | ||||
| @@ -19,6 +19,7 @@ | ||||
|  | ||||
| ggi_visual_t vis; | ||||
| char text[100]; | ||||
| int db_flag,vis_x, vis_y, vir_x, vir_y, gt; | ||||
|  | ||||
| /* | ||||
|  * Draw a gear wheel.  You'll probably want to call this function when | ||||
| @@ -157,6 +158,7 @@ static GLuint count = 1; | ||||
|  | ||||
| static void draw( void ) | ||||
| { | ||||
|    static int n = 0; | ||||
|    glClearColor(0,0,0,0); | ||||
|    glClearIndex(0); | ||||
|    glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); | ||||
| @@ -197,12 +199,25 @@ static void draw( void ) | ||||
|    ggiPuts(vis,0,ggiGetInfo(vis)->mode->visible.y+16,text); | ||||
| #endif | ||||
|  | ||||
|    GGIMesaSwapBuffers(); | ||||
|     if(db_flag) | ||||
|    ggiMesaSwapBuffers(); | ||||
|  			 | ||||
|    count++; | ||||
|    if (count==limit) { | ||||
|       exit(1); | ||||
|    } | ||||
|     ++n; | ||||
|     /* | ||||
|    if (!(n%10)){ | ||||
| 	ggi_color rgb = { 10000, 10000, 10000 }; | ||||
| 	ggiSetSimpleMode(vis,vis_x+(n/10),vis_y+(n/10),db_flag?2:1, gt);  | ||||
| 	glViewport(0, 0,vis_x+(n/10),vis_y+(n/10)); | ||||
| 	ggiSetGCForeground(vis, ggiMapColor(vis, &rgb)); | ||||
| 	ggiDrawBox(vis, 20, 20, 100, 100); | ||||
| 	if(db_flag) | ||||
| 	  ggiSetWriteFrame(vis, 1); | ||||
|     } | ||||
|     */ | ||||
| } | ||||
|  | ||||
| static void idle( void ) | ||||
| @@ -216,6 +231,10 @@ static void reshape( int width, int height ) | ||||
| { | ||||
|    GLfloat  h = (GLfloat) height / (GLfloat) width; | ||||
|  | ||||
|     if(db_flag) | ||||
| 	glDrawBuffer(GL_BACK); | ||||
|     else | ||||
| 	glDrawBuffer(GL_FRONT); | ||||
|    glViewport(0, 0, (GLint)width, (GLint)height); | ||||
|    glMatrixMode(GL_PROJECTION); | ||||
|    glLoadIdentity(); | ||||
| @@ -231,8 +250,8 @@ static void reshape( int width, int height ) | ||||
| static void init( void ) | ||||
| { | ||||
|    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 red[4] = {0.9, 0.9, 0.9, 1.0 }; | ||||
|    static GLfloat green[4] = {0.0, 0.8, 0.9, 1.0 }; | ||||
|    static GLfloat blue[4] = {0.2, 0.2, 1.0, 1.0 }; | ||||
|  | ||||
|    glLightfv( GL_LIGHT0, GL_POSITION, pos ); | ||||
| @@ -276,9 +295,9 @@ static void usage(char *s) | ||||
|  | ||||
| int main( int argc, char *argv[] ) | ||||
| { | ||||
| 	GGIMesaContext ctx; | ||||
| 	int vis_x,vis_y,vir_x,vir_y,bpp,db_flag,gt; | ||||
| 	ggi_mesa_context_t ctx; | ||||
| 	ggi_mode mode; | ||||
| 	int bpp; | ||||
|  | ||||
| 	limit=0; | ||||
|  | ||||
| @@ -313,13 +332,12 @@ int main( int argc, char *argv[] ) | ||||
| 		exit(1); | ||||
| 	} | ||||
|   | ||||
| 	ctx=GGIMesaCreateContext();  | ||||
| 	if (ctx==NULL) | ||||
| 	if (ggiMesaInit() < 0) | ||||
| 	{ | ||||
| 		printf("GGIMesaCreateContext() failed\n"); | ||||
| 		printf("ggiMesaInit failed\n"); | ||||
| 		exit(1); | ||||
| 	} | ||||
|  | ||||
| 	 | ||||
| 	vis=ggiOpen(NULL); | ||||
| 	if (vis==NULL) | ||||
| 	{ | ||||
| @@ -327,29 +345,42 @@ int main( int argc, char *argv[] ) | ||||
| 		exit(1); | ||||
| 	} | ||||
|  | ||||
| 	if (ggiSetGraphMode(vis,vis_x,vis_y,vir_x,vir_y,gt)<0)  | ||||
| 	if (ggiSetSimpleMode(vis,vis_x,vis_y,db_flag ? 2 : 1,gt)<0)  | ||||
| 	{ | ||||
| 		printf("%s: can't set graphmode (%i %i %i %i)  %i BPP\n", | ||||
| 			argv[0],vis_x,vis_y,vir_x,vir_y,bpp); | ||||
| 		exit(1); | ||||
| 	} | ||||
|  | ||||
| 	if (GGIMesaSetVisual(ctx,vis,GL_TRUE,db_flag)<0) | ||||
| 	if (ggiMesaAttach(vis) < 0) | ||||
| 	{ | ||||
| 		printf("ggiMesaAttach failed\n"); | ||||
| 		exit(1); | ||||
| 	} | ||||
| 	if (ggiMesaExtendVisual(vis, GL_FALSE, GL_FALSE, 16, | ||||
| 	                        0, 0, 0, 0, 0, 1)  < 0) | ||||
| 	{ | ||||
| 		printf ("GGIMesaSetVisual() failed\n"); | ||||
| 		exit(1); | ||||
| 	} | ||||
|  | ||||
| 	GGIMesaMakeCurrent(ctx); | ||||
| 	ctx = ggiMesaCreateContext(vis);  | ||||
| 	if (ctx==NULL) | ||||
| 	{ | ||||
| 		printf("GGIMesaCreateContext() failed\n"); | ||||
| 		exit(1); | ||||
| 	} | ||||
|  | ||||
| 	ggiMesaMakeCurrent(ctx, vis); | ||||
| 	ggiGetMode(vis,&mode); | ||||
|  | ||||
| 	reshape(mode.visible.x,mode.visible.y); | ||||
|  | ||||
| 	init(); | ||||
|   | ||||
| 	while (!ggiKbhit(vis)) idle(); | ||||
| 	while (!ggiKbhit(vis)) { /*sleep(1);*/ idle(); } | ||||
|  | ||||
| 	GGIMesaDestroyContext(ctx); | ||||
| 	ggiMesaDestroyContext(ctx); | ||||
| 	ggiClose(vis); | ||||
|  | ||||
| 	printf("%s\n",text); | ||||
|   | ||||
							
								
								
									
										
											BIN
										
									
								
								progs/images/wrs_logo.rgb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								progs/images/wrs_logo.rgb
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| @@ -1,62 +1,51 @@ | ||||
| # Makefile for Win32 | ||||
|  | ||||
| TOP = .. | ||||
|  | ||||
| !include "$(TOP)/names.win" | ||||
| TOP    = .. | ||||
| INCDIR = ..\include | ||||
| LIBDIR = ..\lib | ||||
|  | ||||
| !include <win32.mak> | ||||
|  | ||||
| SRCS= \ | ||||
|    aaindex.c \ | ||||
|    aapoly.c \ | ||||
|    aargb.c \ | ||||
|    accanti.c \ | ||||
|    accnot.c   \ | ||||
|    accum.c    \ | ||||
|    aim.c      \ | ||||
|    accpersp.c \ | ||||
|    alpha.c    \ | ||||
|    alpha3D.c  \ | ||||
|    anti.c     \ | ||||
|    antiindex.c  \ | ||||
|    antipindex.c \ | ||||
|    antipoint.c  \ | ||||
|    antipoly.c  \ | ||||
|    bezcurve.c  \ | ||||
|    bezmesh.c   \ | ||||
|    bezsurf.c   \ | ||||
|    checker.c   \ | ||||
|    checker2.c  \ | ||||
|    chess.c     \ | ||||
|    clip.c      \ | ||||
|    colormat.c  \ | ||||
|    cone.c      \ | ||||
|    cube.c      \ | ||||
|    curve.c     \ | ||||
|    depthcue.c  \ | ||||
|    disk.c      \ | ||||
|    dof.c       \ | ||||
|    dofnot.c    \ | ||||
|    double.c    \ | ||||
|    drawf.c     \ | ||||
|    feedback.c  \ | ||||
|    fog.c       \ | ||||
|    fogindex.c  \ | ||||
|    font.c      \ | ||||
|    hello.c     \ | ||||
|    image.c     \ | ||||
|    light.c     \ | ||||
|    linelist.c  \ | ||||
|    lines.c     \ | ||||
|    list.c      \ | ||||
|    list2.c     \ | ||||
|    maplight.c  \ | ||||
|    material.c  \ | ||||
|    mipmap.c    \ | ||||
|    model.c     \ | ||||
|    movelight.c \ | ||||
|    nurbs.c     \ | ||||
|    pickdepth.c \ | ||||
|    pickline.c  \ | ||||
|    picksquare.c \ | ||||
|    plane.c     \ | ||||
|    planet.c    \ | ||||
|    planetup.c  \ | ||||
|    polyoff.c  \ | ||||
|    polys.c     \ | ||||
|    quadric.c   \ | ||||
|    robot.c     \ | ||||
|    sccolorlight.c \ | ||||
|    scene.c     \ | ||||
| @@ -64,18 +53,26 @@ SRCS= \ | ||||
|    sceneflat.c \ | ||||
|    select.c    \ | ||||
|    smooth.c    \ | ||||
|    sphere.c    \ | ||||
|    stencil.c   \ | ||||
|    stroke.c    \ | ||||
|    surface.c   \ | ||||
|    tea.c       \ | ||||
|    teaambient.c \ | ||||
|    teapots.c   \ | ||||
|    tess.c      \ | ||||
|    tesswind.c  \ | ||||
|    texbind.c   \ | ||||
|    texgen.c    \ | ||||
|    texprox.c   \ | ||||
|    texsub.c    \ | ||||
|    texturesurf.c \ | ||||
|    trim.c      | ||||
|  | ||||
| EXTRALIBS = $(MESAGL).lib $(MESAGLU).lib $(MESATK).lib $(MESAAUX).lib | ||||
|    torus.c     \ | ||||
|    trim.c     \ | ||||
|    unproject.c \ | ||||
|    varray.c   \ | ||||
|    wrap.c | ||||
|  | ||||
| !include "$(TOP)/mesawin32.mak" | ||||
|  | ||||
| $(EXES) : $*.obj | ||||
| 	@echo $@ | ||||
| 	$(link) -out:$@ $* /LIBPATH:$(LIBDIR) $(LIBS) | ||||
| @@ -42,6 +42,7 @@ | ||||
|  *  two rectangles.  This program clamps the texture, if | ||||
|  *  the texture coordinates fall outside 0.0 and 1.0. | ||||
|  */ | ||||
| #include <stdlib.h> | ||||
| #include <GL/glut.h> | ||||
|  | ||||
| /*	Create checkerboard texture	*/ | ||||
|   | ||||
| @@ -143,6 +143,8 @@ void display(void) | ||||
|  | ||||
|    size = glRenderMode (GL_RENDER); | ||||
|    printBuffer (size, feedBuffer); | ||||
|  | ||||
|    glFinish(); | ||||
| } | ||||
|  | ||||
| /* ARGSUSED1 */ | ||||
|   | ||||
| @@ -62,7 +62,7 @@ selectFog(int mode) | ||||
| 	/* falls through */ | ||||
|     case GL_EXP2: | ||||
|     case GL_EXP: | ||||
|         glFogi(GL_FOG_MODE, mode); | ||||
| 	glFogiv(GL_FOG_MODE, (int *) &mode); | ||||
| 	glutPostRedisplay(); | ||||
| 	break; | ||||
|     case 0: | ||||
| @@ -190,7 +190,7 @@ main(int argc, char **argv) | ||||
|     glutDisplayFunc(display); | ||||
|     glutCreateMenu(selectFog); | ||||
|     glutAddMenuEntry("Fog EXP", GL_EXP); | ||||
|     glutAddMenuEntry("Fog EXP2", GL_EXP2); | ||||
|     glutAddMenuEntry("Fog EXP2", /*GL_EXP2*/ 0xffff); | ||||
|     glutAddMenuEntry("Fog LINEAR", GL_LINEAR); | ||||
|     glutAddMenuEntry("Quit", 0); | ||||
|     glutAttachMenu(GLUT_RIGHT_BUTTON); | ||||
|   | ||||
| @@ -39,6 +39,7 @@ | ||||
|  * hello.c | ||||
|  * This is a simple, introductory OpenGL program. | ||||
|  */ | ||||
| #include <stdlib.h> | ||||
| #include <GL/glut.h> | ||||
|  | ||||
| void display(void) | ||||
|   | ||||
| @@ -103,8 +103,8 @@ drawRects(GLenum mode) | ||||
| void | ||||
| processHits(GLint hits, GLuint buffer[]) | ||||
| { | ||||
|   unsigned int i, j; | ||||
|   GLuint names, *ptr; | ||||
|   GLint i; | ||||
|   GLuint j, names, *ptr; | ||||
|  | ||||
|   printf("hits = %d\n", hits); | ||||
|   ptr = (GLuint *) buffer; | ||||
|   | ||||
| @@ -87,8 +87,8 @@ void drawSquares(GLenum mode) | ||||
|  */ | ||||
| void processHits (GLint hits, GLuint buffer[]) | ||||
| { | ||||
|    unsigned int i, j; | ||||
|    GLuint ii = 0, jj = 0, names, *ptr; | ||||
|    GLint i; | ||||
|    GLuint j, ii = 0, jj = 0, names, *ptr; | ||||
|  | ||||
|    printf ("hits = %d\n", hits); | ||||
|    ptr = (GLuint *) buffer; | ||||
|   | ||||
| @@ -44,6 +44,7 @@ | ||||
| #include <GL/glut.h> | ||||
| #include <stdio.h> | ||||
| #include <stdlib.h> | ||||
| #include <string.h> | ||||
|  | ||||
| #ifdef GL_VERSION_1_1 | ||||
| GLuint list; | ||||
| @@ -149,7 +150,7 @@ static void Benchmark( float xdiff, float ydiff ) | ||||
| { | ||||
|    int startTime, endTime; | ||||
|    int draws; | ||||
|    double seconds, fps, triPerSecond; | ||||
|    double seconds, fps; | ||||
|  | ||||
|    printf("Benchmarking...\n"); | ||||
|  | ||||
|   | ||||
| @@ -124,8 +124,8 @@ void drawScene (void) | ||||
|  */ | ||||
| void processHits (GLint hits, GLuint buffer[]) | ||||
| { | ||||
|    unsigned int i, j; | ||||
|    GLuint names, *ptr; | ||||
|    GLint i; | ||||
|    GLuint j, names, *ptr; | ||||
|  | ||||
|    printf ("hits = %d\n", hits); | ||||
|    ptr = (GLuint *) buffer; | ||||
|   | ||||
| @@ -41,6 +41,7 @@ | ||||
|  *  This program draws a NURBS surface in the shape of a | ||||
|  *  symmetrical hill. | ||||
|  */ | ||||
| #include <stdlib.h> | ||||
| #include <GL/glut.h> | ||||
|  | ||||
| GLfloat ctlpoints[4][4][3]; | ||||
|   | ||||
| @@ -94,7 +94,7 @@ void CALLBACK vertexCallback(GLvoid *vertex) | ||||
|  | ||||
|    pointer = (GLdouble *) vertex; | ||||
|    glColor3dv(pointer+3); | ||||
|    glVertex3dv(vertex); | ||||
|    glVertex3dv(pointer); | ||||
| } | ||||
|  | ||||
| /*  combineCallback is used to create a new vertex when edges | ||||
|   | ||||
							
								
								
									
										42
									
								
								progs/samples/Makefile.win
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								progs/samples/Makefile.win
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,42 @@ | ||||
| # $Id: Makefile.win,v 1.1 2002/01/16 00:57:54 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 = accum bitmap1 bitmap2 blendeq blendxor copy cursor depth eval fog \ | ||||
| 	font line logo nurb oglinfo olympic overlay point prim quad select \ | ||||
| 	shape sphere star stencil stretch texture tri wave | ||||
|  | ||||
| SRCS = \ | ||||
|     accum.c \ | ||||
|     bitmap1.c \ | ||||
|     bitmap2.c \ | ||||
|     blendeq.c \ | ||||
|     blendxor.c \ | ||||
|     copy.c \ | ||||
|     cursor.c depth.c eval.c fog.c \ | ||||
| 	font.c line.c logo.c nurb.c olympic.c overlay.c point.c prim.c quad.c select.c \ | ||||
| 	shape.c sphere.c star.c stencil.c stretch.c texture.c tri.c wave.c | ||||
|  | ||||
| !include "../mesawin32.mak" | ||||
|  | ||||
| ##### TARGETS ##### | ||||
|  | ||||
| clean:: | ||||
|  | ||||
| clobber:: | ||||
|  | ||||
| $(EXES) : $*.obj | ||||
| 	@echo $@ | ||||
| 	$(link) -out:$@ $* /LIBPATH:$(LIBDIR) $(LIBS) | ||||
| @@ -11,6 +11,10 @@ | ||||
| #include <string.h> | ||||
| #include <stdlib.h> | ||||
| #include <stdio.h> | ||||
| #ifdef _WIN32 | ||||
| #include <windows.h> | ||||
| #endif | ||||
| #define GL_GLEXT_LEGACY | ||||
| #include <GL/glut.h> | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -10,6 +10,10 @@ | ||||
| #include <unistd.h> | ||||
| #endif | ||||
| #include <stdlib.h> | ||||
| #ifdef _WIN32 | ||||
| #include <windows.h> | ||||
| #endif | ||||
| #define GL_GLEXT_LEGACY | ||||
| #include <GL/glut.h> | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
|  | ||||
| typedef struct { | ||||
|     int sizeX, sizeY; | ||||
|     size_t sizeX, sizeY; | ||||
|     GLubyte *data; | ||||
| } PPMImage; | ||||
|  | ||||
| @@ -30,7 +30,7 @@ static PPMImage *LoadPPM(const char *filename) | ||||
| 	exit(1); | ||||
|     } | ||||
|  | ||||
|     result = malloc(sizeof(PPMImage)); | ||||
|     result = (PPMImage *) malloc(sizeof(PPMImage)); | ||||
|     if (!result) | ||||
|     { | ||||
| 	fprintf(stderr, "Unable to allocate memory\n"); | ||||
| @@ -52,7 +52,7 @@ static PPMImage *LoadPPM(const char *filename) | ||||
|     while (fgetc(fp) != '\n') | ||||
| 	; | ||||
|  | ||||
|     result->data = malloc(3 * result->sizeX * result->sizeY); | ||||
|     result->data = (GLubyte *) malloc(3 * result->sizeX * result->sizeY); | ||||
|     if (!result) | ||||
|     { | ||||
| 	fprintf(stderr, "Unable to allocate memory\n"); | ||||
|   | ||||
| @@ -216,11 +216,13 @@ static void CALLBACK ErrorCallback(GLenum which) | ||||
|     } | ||||
| } | ||||
|  | ||||
| typedef void (GLAPIENTRY *callback_t)(); | ||||
|  | ||||
| static void Init(void) | ||||
| { | ||||
|  | ||||
|     theNurbs = gluNewNurbsRenderer(); | ||||
|     gluNurbsCallback(theNurbs, GLU_ERROR, ErrorCallback); | ||||
|     gluNurbsCallback(theNurbs, GLU_ERROR, (callback_t) ErrorCallback); | ||||
|  | ||||
|     gluNurbsProperty(theNurbs, GLU_SAMPLING_TOLERANCE, 15.0); | ||||
|     gluNurbsProperty(theNurbs, GLU_DISPLAY_MODE, GLU_OUTLINE_PATCH); | ||||
|   | ||||
| @@ -102,6 +102,8 @@ static void CALLBACK ErrorHandler(GLenum which) | ||||
|     fprintf(stderr, "Quad Error: %s\n", gluErrorString(which)); | ||||
| } | ||||
|  | ||||
| typedef void (GLAPIENTRY *callback_t)(); | ||||
|  | ||||
| static void Init(void) | ||||
| { | ||||
|     static GLint colorIndexes[3] = {0, 200, 255}; | ||||
| @@ -163,7 +165,7 @@ static void Init(void) | ||||
|     } | ||||
|  | ||||
|     quadObj = gluNewQuadric(); | ||||
|     gluQuadricCallback(quadObj, GLU_ERROR, ErrorHandler); | ||||
|     gluQuadricCallback(quadObj, GLU_ERROR, (callback_t) ErrorHandler); | ||||
|  | ||||
|     radius1 = 10; | ||||
|     radius2 = 5; | ||||
|   | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user